일단 CloudFront를 사용하는 이유는 S3 콘텐츠에 Public 액세스 접근을 차단하고 CloudFront를 거치도록 하여 CloudFront의 보호 기능들을 사용하기 위해서이다.
- 콘텐츠 캐싱을 통한 S3 부하 감소
- Edge Location을 통한 응답속도 향상
- 콘텐츠 보안 유지
1. CloudFront를 클릭한다.
2. 원본 도메인에 연결하고자 하는 S3를 찾아 넣어준다.
- 원본 경로에는 S3버킷 한개를 두개의 디렉토리로 나누고 싶다면 원본 경로에 "/{원하는 원본 경로}"를 넣어 준다.
- dev와 prod으로 디렉토리를 나누면 편리하다
3. 제어 설정을 생성한다 .
자유롭게 추가 설정한 이후 쭉 내려와서 배포 생성을 누른다.
4. S3 ACL 활성화
- S3로이동 -> 권한 -> 객체 소유권 편집 클릭
- ACL활성화 클릭 -> 객체 라이터 클릭 -> 변경사항 저장
4. S3 버킷정책 설정 복사
- CloudFront로 이동 -> 배포 -> 원본 -> 해당 배포 클릭 후 편집
- S3 버킷 정책에 CloudFront에 대한 액세스 허용 정책 복사
5. S3 버킷정책 설정
- 기존에 있던 정책은 지우고 위에서 복사한 정책을 붙혀 넣고 저장
4. 퍼블릭 액세스 차단 편집
- 아래와 같이 세개의 항목을 체크후 저장
이후 확인해보면
S3 객체 URL 로 직접 접근한 경우
CloudFront URL로 S3 객체 URL에 접근한 경우
■ 계속해서 index.html을 못 찾고 AccessDenied가 뜰 아래의 오류 처리를 설정한다
Reference Link : https://velog.io/@rungoat/AWS-S3%EC%99%80-CloudFront-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0
'AWS' 카테고리의 다른 글
IAM 유저 생성하는 법 (0) | 2024.01.05 |
---|---|
Elastic Beanstalk에 SpringBoot배포하기 (0) | 2024.01.05 |
프론트엔드 AWS에 배포하기 (2) | 2024.01.04 |
AWS EC2(Linux) 인스턴스에 연결하기 (1) | 2024.01.04 |
고정 IP 생성 (1) | 2024.01.04 |