CloudFront 는 .html, .css, .js 및 이미지 파일과 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 AWS 의 CDN 서비스이다. 전 세계 주요지역에 CloudFront POP(엣지 로케이션) 이 위치하고 있어 해당 캐시 서버에서 오리진(EC2 인스턴스나 ELB, S3 버킷 등) 의 파일을 받아 클라이언트에게 빠르게 응답하는 기능을 한다. 캐시 서버는 오리진(origin)으로부터 파일을 캐시하고 나면 해당 파일이 수정되기 전까지는 오리진에 연결하지 않고 빠르게 클라이언트에 응답할 수 있다.
CloudFront 는 이미지나 동영상 등의 리소스가 보관된 S3 를 오리진으로 설정하는 것이 일반적이며, 운영시 꼭 필요한 서비스 중 하나이다.
CloudFront 의 설정/배포 방법
- CloudFront 에 캐시할 오리진(예제에서는 S3 사용) 의 주소(test.s3.amazonaws.com) 메모.
- 콘솔의 CloudFront 에서 [Create Distribution] 으로 배포 설정.
- Origin Domain Name 의 S3/ELB 목록에서 캐시할 오리진을 선택하고 Alternate Domain Names(CNAMEs) 에 원하는 CloudFront 도메인 설정.
- 나머지 설정은 버킷 접근 권한/정책, https, SSL 설정 정도... 이렇게 세팅하고 배포 생성하기를 시작하면 수분안에 각 캐시 서버에 오리진이 배포된다.
CloudFront 배포 도메인은 http://aabbccdd112233.cloudfront.net 형식이며 설정한 CNAME 으로 대체할 수 있다. 브라우저에서 해당 리소스의 헤더에서 X-Cache: Hit from cloudfront 가 확인되면 정상적으로 캐시되고 있는 것이다. 캐시 유지 시간이 지나서 CloudFront가 오리진에 접속하여 파일을 가져왔을 때에는 Miss from cloudfront 라고 표시된다.
캐시 삭제
캐시 파일은 기본적으로 24시간 동안 유효하며, 특정 파일을 즉시 갱신해야 할 경우 콘솔 등에서 무효화(Invalidation) 요청을 통해 캐시된 파일을 삭제시킬 수 있다.
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,