📌 CloudFront는 콘텐츠 전송 네트워크(CDN) 서비스이다.
📌 사용자의 콘텐츠 요청 -> 가장 가까운 엣지 로케이션 라우팅
if) 캐시 사본 == True:
빠르게 응답하여 사본을 사용자에게 전송
위에 그림은 S3 버킷이 유럽의 위치한 리전에 콘텐츠가 저장되어 있고, 전 세계 사용자가 이 콘텐츠에 액세스하고 있는 모습을 보여준다. 화살표에서 알 수 있 듯 사용자가 콘텐츠를 요청할 때마다 요청은 퍼블릭 인터넷을 통해 버킷으로 전송된다.
이 경우 발생할 수 있는 문제점
1. 시간이 지연되어 일부 사용자 요청이 반송된다.
2. 위에 이유로 인해 오류를 반환할 수 있다.
위에 그림은 S3 버킷과 함께 CloudFront를 설정한 그림이다. 해당 경우에는 사용자의 콘텐츠 요청이 지연시간을 최소화하는 가장 가까운 엣지 로케이션으로 라우팅 된다.
초록색 화살표는 CloudFront가 가까운 거리에서 요청한 사용자에게 케싱된 콘텐츠를 제공하는 것을 나타낸다.
1) 콘솔에 로그인한 다음 아래 있는 Launch Stack 버튼을 클릭하여 AWS 계정에서 CloudFormation 스택을 시작한다.
2) CloudFormation 상태가 CREATE_COMPLETE로 바뀌면 출력창에서 S3 버킷 이름과 CloudFront 도메인 이름을 기록한다.
도메인 이름: d1swfysgq1c88q.cloudfront.net
3) S3 콘솔을 열고 이미지 파일을 CloudFormation에서 생성한 S3 버킷에 업로드한다.
이미지 파일 이름 : sora.jpeg
4) 파일 업로드를 하고 2)의 도메인으로 접속하면 위와 같은 에러 메시지가 뜬다.
CloudFormation은 OAI 기능을 설정하기 때문에 버킷에 업로드되는 파일은 S3에서 직접 공개적으로 액세스할 수 없기 때문이다.
해당 도메인으로 접속하여 해결 d1swfysgq1c88q.cloudfront.net/sora.jpeg