-
[AWS] CloudFront와 S3 연결하기[이론편]AWS 2023. 2. 2. 00:01
[2] [AWS] CloudFront와 S3 연결하기 [이론편]
개요
이전 시간에는 CDN이 무엇인가에 대해 알아보고 AWS CloudFront와 Akamai에 대해 간략하게 알아보았습니다.
이번 글에서는 실제로 AWS CloudFront를 적용해보고 S3와 연결해보겠습니다.
사용자는 어떻게 CloudFront를 통해 콘텐츠를 제공받을까?
[그림 1]은 사용자에게 콘텐츠를 제공하는 방법을 도식화해놓은 그림입니다.
1. 사용자는 애플리케이션에 액세스 하여 이미지 파일 같은 객체에 대한 요청을 보냅니다.
2. DNS가 요청을 최적으로 서비스할 수 있는 CloudFront POP(엣지 로케이션)으로 라우팅 합니다.
3. 캐시 된 객체가 있으면 그대로 반환하고 그렇지 않다면 원본서버에 요청하여 해당 객체를 추가합니다.
콘텐츠를 전송하도록 CloudFront를 설정하는 방법
[그림 2]는 AWS에서 제공하는 CloudFront 구성 예시입니다.
1. Amazon S3 버킷 등의 오리진 서버를 지정하고, CloudFront는 이곳에서 파일을 가져와 전 세계 엣지 로케이션에 배포합니다.
2. 오리진 서버에 파일을 업로드할 수 있으며 객체의 CloudFront URL을 아는 사람이라면 누구나 액세스 할 수 있습니다.
3. 사용자가 웹 사이트나 애플리케이션에서 파일을 요청하게 되면 어떤 오리진 서버에서 파일을 가져올지 알려주는 CloudFront 배포를 만듭니다.
4. CloudFront는 새 배포 도메인을 할당하고, 이는 CloudFront 콘솔에서 볼 수 있습니다.
5. CloudFront는 배포의 구성을 모든 해당 엣지 로케이션으로 보냅니다.
간단한 CloudFront 배포 시작 하기
- 객체를 S3 버킷에 저장(퍼블릭 액세스)
- 객체에 대한 URL에 CloudFront 도메인 이름을 사용 (예: https://d111111abcdef8.cloudfront.net/index.html)
- 기본 24시간 동안 CloudFront 엣지 로케이션에 객체를 보관
참고자료
https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/Introduction.html
'AWS' 카테고리의 다른 글
AWS MFA 설정 (0) 2023.05.05 AWS SQS vs SNS vs EventBridge (0) 2023.05.02 [AWS] AWS MediaConvert Jobtemplate Kotlin SDK 적용 (0) 2022.12.25 [AWS] MediaConvert createJob Kotlin SDK 적용 (0) 2022.12.24 [AWS] IAM이란? (0) 2022.12.18