CloudFront는 정적, 동적 컨텐츠 요청에 빠르게 응답하기 위한 캐시 기능을 제공하는 CDN(컨텐츠 전송 네트워크) 서비스다. 엣지 로케이션, 리전 별 엣지 캐시로 구성된 네트워크를 통해 컨텐츠 사본을 최종 사용자에게 가깝게 캐싱하여, 사용자와 가장 가까운 엣지 로케이션에서 요청이 처리되도록 보장한다.
캐시 지원으로 S3에 직접 접근하지 않을 수 있으므로, S3 비용을 절감하면서 빠른 응답을 지원할 수 있다.
따라서 이번 글에서는 S3와 CloudFront를 연동하고자 한다.
각 설정의 상세 설명은 https://victorydntmd.tistory.com/335 를 참고하는 것을 추천한다. 잘 정리되어 있다.
방법
1. AWS 콘솔에서 CloudFront 서비스 접근
2. CloudFront 배포 생성 버튼 클릭
3. 원본 컨텐츠 설정
CloudFront로 배포할 원본 컨텐츠를 설정한다. 이 글에서는 S3가 된다.
3-1) S3 버킷 액세스 설정
그리고 S3 버킷 접근 관련하여 설정을 진행한다. OAI를 사용하는 경우, 사용자가 직접 S3 url에 접근할 수 없다.
기존에 생성한 S3 버킷이 퍼블릭 액세스를 허용하지 않기 때문에 OAI를 사용하는 쪽으로 설정한다. 필요한 버킷 정책은 AWS에서 알아서 업데이트하도록 선택한다. 사용할 수 있는 원복 액세스 ID가 없다면 생성하여 사용한다.
3-2) 기본 캐시 동작
기본값으로 설정한다.
3-3) 함수 연결 부분
기본값으로 둔다.
3-4) 다른 설정
사용할 엣지 로케이션을 확인하다. 모든 지역에 동일한 성능을 보장해야 하는 게 아니라면 지역 선택을 고려하는 것이 좋다.
4. 배포 생성
이상이 없다면 아래와 같이 생성된 배포를 확인할 수 있다.
참고 문서
http://pyrasis.com/book/TheArtOfAmazonWebServices/Chapter12/02