AWS
AWS Cloud Front와 s3 버킷 연동하기
보봉뽕
2022. 1. 18. 17:44
목표
- 이미지 https -> http 요청을 위해 SSL 인증
- s3 url은 접근 허용 x & CloudFront url만 접근 허용하고 싶음
- 기존 호스팅에 레코드 추가
1. s3 버킷 만들기
- 객체 소유권 -비활성화
- 퍼블릭액세스 차단 - 모든 퍼블릭 액세스 차단
- 버킷 버전 관리 - 비활성화
- 기본 암호화 - 비활성화
- (고급설정)객체 잠금 - 비활성화
- 파일 하나 업로드 하기 => 후에 연결 테스트용
2. cloud front 배포 생성
- 원본
- 원본 도메인 선택(만든 버킷 선택)
- 버킷을 선택했다면 이름은 자동으로 들어감
- 목표2를 위해 S3 버킷 액세스 "예" => CloudFront 원본 액세스 ID(OAI) 생성 =>버킷 정책에 사용(CloudFront -> 원본 액세스 ID에서 확인)
- 설정
- 대체 도메인 이름(CNAME) 입력
- 사용자 정의 SSL 인증서, 없다면 인증서 요청 후 요청 승인되면 인증서 선택
- 배포생성
3. 버킷 속성
- 정적 웹 사이트 호스팅
- 정적 웹 사이트 호스팅 - 활성화됨
4. 버킷 권한
- 버킷 정책
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity [원본액세스ID]" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::[버킷이름]/*" } ] }
5. Route 53
- 호스팅영역에 CloudFront, SSL 인증 주소 연결하기
- 레코드 생성
- CloudFront 연결
- 레코드 이름: 연결할 도메인 적기
- 레코드 유형: A
- 트래픽 라우팅 대상
- 별칭 ON
- CloudFront 배포에 대한 별칭 -> 미국동부 버지니아 only
- SSL 인증 주소
- CNAME 설정 - AWS Certificate Manager -> 인증서 -> 도메인 에서 인증서 확인 가능
- 레코드 이름: 확인한 인증서에서 CNAME 이름
- 레코드 유형: CNAME
- 트래픽라우팅대상: CNAME 값