CloudFront?
CloudFront는 CDN 서비스와 유사한 기능을 합니다.
S3를 사용해서 www.example.com 도메인으로 글로벌 서비스를 해야하는 상황입니다.
어떻게 해야할까요?
S3의 버킷은 생성할때 리전이 정해져있습니다.
서울리전에 있는 버킷을 호스팅 기능을 이용해서 미국에 서비스 한다고 하면 엄청나게 사이트가 늦게 뜰 것입니다.
그러면 똑같은 S3 버킷을 서비스하는 나라의 가까운 리전 마다 생성해줘야 할까요?
그럼 비용이 더 들겠죠
이를 해결하기 위한 방법은 CloudFront를 이용하는 것입니다.
https://docs.aws.amazon.com/cloudfront/?id=docs_gateway
CDN (Contents Delivery Network service)
정적 파일들을 캐싱해주는 서비스
서울 region 에 만든 s3를 접속하는 것은 빠르지만
미국에서 만든 index.html에 접속하려면 느리다.
캐싱을 해주면 속도를 좀 더 빠르게 해주는데, AWS에서 이를 해주는 것이 Cloudfront 입니다.
우리는 현재 서울 region에서 index.html 을 저장해 놓았는데, 미국, 중국, 다양한 캐싱 서버에 index.html 파일을 저장하고
현지와 가까운 캐싱서버에 접속하도록 도와주는 것입니다.
cloudfront -> 배포 -> 원본 도메인만 클릭해서 내가 만든 서비스와 연결해주면 됩니다.
설정하면 CloudFront의 unique id와 도메인 주소가 나타납니다.
도메인 주소를 통해 접속을 하면, 과금이 되지 않는다는 장점이 있습니다.
한번 접속을 해볼까요?
access denied 가 발생합니다.
권한 재설정을 해주러 가봅시다.
권한 재설정
cloudfront의 unique id를 클릭 -> 설정 변경 -> 기본값 루트 객체에 index.html 기입 후 저장
화면이 잘 나타나는 것을 확인하실 수 있습니다.