우선 CDN 서비스를 이용하려는 이유는 이미지를 S3에서 불러오는데
이미지를 매번 새롭게 가져오다보니 페이지 랜더링 속도가 느렸다.
그래서 처음 페이지를 방문하는건 느릴 수 밖에 없지만, 계속 방문한다면 페이지가 뜨는 것이 빨라야한다고 생각했고
CDN 서비스를 적용하긴 해야하는데 고민했다.
아시다시피, CDN 서비스를 사용하면 Edge 서버를 사용하여 콘텐츠를 캐싱해서 사용자가 위치한 곳에 가깝게 콘텐츠를 전송할 수 있어 성능이 향상된다.
마침 미국 CES 박람회에 참가하게 되면서 미국에서 이미지를 빠르게 가져올 수 있는 방법이 뭘까 하다가 CDN 서비스를 알았고
이번 기회에 적용해보자라고 생각했다.
1. CloudFront 설정
배포 생성을 누르고 기존 사용하고 있던 S3의 네임서버를 클릭해준다.
https로만 방문할 수 있게 해야하므로 redirect를 해주고
http로는 get만 할 수 있게 해준다.
뷰어 엑세스는 필요에 따라서 해준다.(만약 사용자가 일정 시간만 S3에 접근하게 만들고 싶다던가 이럴 때 사용)
캐시정책은 내가 만들었고, 원본 요청 정책은 CORS-S3Origin으로 CORS를 막는다.
정책을 막은 이유는 CloudFront는 기본적으로 요청 헤더에 뭐가 들어있든 상관없이 캐싱을 하기 때문에 “Access-Control-Allow-Origin: *”로 내가 설정한 것 외에 전부가 캐싱이 되기 때문이다.
응답헤더 정책은 필요 없어서 안했다.
스무스 스트리밍은 스트리밍 관련 설정인데 필요에 따라서 하면된다.
실시간 로그도 설정할 수 있는데, 이럼 로그가 쌓일 것이다.
함수 연결 부분은 함수를 연결할 수 있는데, 여기에서 Lambda@Edge를 사용해서
image resize 같은 기능을 추가적으로 넣을 수 있다.
위치를 북미, 아시아만 하면 되서 이렇게 설정했다.
SSL 설정을 해줘야하는데, ACM을 발급해줘야한다.
다음 글에서 ACM, Cache 설정을 하고자 한다.
참고
https://earth-95.tistory.com/128
cors 설정
https://bigboss.dev/2021/11/cloudfront-settings-to-use-s3-cors/
'AWS > CloudFront' 카테고리의 다른 글
AWS CloudFront를 이용하여 S3이미지 cache하기 - (3) (0) | 2023.03.14 |
---|---|
AWS CloudFront를 이용하여 S3이미지 cache하기 - (2) (0) | 2023.03.13 |