순서는 아래와 같다.
1. S3 정적 웹사이트 호스팅 기능을 활용하여 프론트엔드 배포
2. CloudFront를 활용하여 HTTPS 엔드포인트 배포 및 S3 웹 사이트 통합
3. Lambda 함수와 boto3를 활용하여 백엔드 배포
4. 서비스 사용
1. S3 정적 웹사이트 호스팅 기능을 활용하여 프론트엔드 배포










2. CloudFront를 활용하여 HTTPS 엔드포인트 배포 및 S3 웹 사이트 통합
서버에 https를 적용하기 위해서는 두 가지 방법이 있다.
1. ALB + EC2 SSL인증서를 설치하고 서비스하는 방법
2. API Gateway (AWS에서 제공하는 인증서 관리 서비스인 ACM(AWS Certificate Manager)을 ACM 통합서비스 - ELB, CloudFront, API Gateway 등의 서비스 와 연동하여 적용하는 방법)

CloudFront 사용하여 HTTPS 엔드포인트 배포를 시도해보겠다.


S3 URL
https://smwu-cv-30-s3.s3.ap-northeast-2.amazonaws.com/index.html
S3 static web URL
http://smwu-cv-30-s3.s3-website.ap-northeast-2.amazonaws.com







3. Lambda 함수와 boto3를 활용하여 백엔드 배포
AWS Lambda : 서버리스(Serverless) 컴퓨팅 서비스: 완전 관리형(fully managed), 서버 관리없이 코드 실행 가능
람다에 POST 요청을 보내기 위해서 Lambda 의 EndPoint 를 브라우저가 알아야한다. (브라우저 코드가 람다의 위치를 알아야함)
Lambda 함수를 먼저 생성하고, S3 를 수정한 뒤 CloudFront를 최신화 해준다.
Lambda 함수 생성




브라우저에게 Lambda 의 엔드포인트를 알려줘야 하니깐 Cloud9에서 LAMBDA_FUCTION_URL 에 위에서 생성한 람다 함수 URL을 넣어준다.


캐시 무효화
CloudFront > Distribution > Invalidations
최상위 루트에서 모든 것을 무효화 시켜줘야 한다.


개발자 도구 콘솔에서 Lambda function URL 을 확인할 수 있다.

Bucket Name | smwu-cv-30-s3 |
CloudFront Distribution ID | E2MIYNT5NGNPWX |
CloudFront Distribution domain name | https://d1rv41s3gyn63l.cloudfront.net |
Lambda Function URL | https://c5b3f7euynmfrzmpchpiqmwtuy0whesj.lambda-url.ap-northeast-2.on.aws/ |
Debugging

CORS 에러
서버 측에서 CORS 허용해줘야 한다.












'AI > computer vision' 카테고리의 다른 글
Image Processing Using OpenCV (1) | 2024.10.03 |
---|---|
[AWS SageMaker] ML Model Deployment on SageMaker (feat. Lambda) (2) | 2024.10.03 |