[AWS] 두 계정 간 S3 CloudFront 연동하기
AWS에서 S3를 오리진으로 CloudFront를 배포하고자 할 때, 단일 계정에서 구성은 특별히 복잡하지 않습니다. 그리고, A계정에는 S3를 B계정에는 CloudFront를 배포해야 하는 경우가 있는데, 이 경우에도 S3의 버킷을 퍼블릭 엑세스를 허용해도 좋다면 역시 복잡하지 않습니다. 그런데, S3 버킷에 직접 접근은 차단하고 반드시 CloudFront를 통해서면 접근할 수 있도록 구성해야 한다면 S3 버킷에 대한 접근제어를 적절하게 구성해 주어야 합니다. 먼저, CloudFront에서는 Origin Access Identity(OAI)를 생성하고 배포 생성 시 "Restrict Bucket Access"를 yes로 하여 OAI를 방금 만들어 둔 ID로 선택하여 생성합니다. 이 때, Origin Domain Name은 다른 계정의 S3 버킷을 기입해야 하므로 [버킷이름].s3.amazonaws.com 형식으로 된 도메인을 기입하여 줍니다. S3에서는, 버킷의 [권한>버킷 정책]에 아래 내용으로 입력 후 저장합니다. 이 때, CloudFront OAI의 Amazon S3 Canonical User ID는 예: 06456789ca4f9f615e52eaae632639537f81c08cb771e90f4889b473134a4483f1ad529cfd863107985aa39df 형식입니다. { "Version":"2012-10-17", "Id":"PolicyForCloudFrontPrivateContent", "Statement":[ { "Sid":" Grant a CloudFront Origin Identity access to support private content", "Effect":"Allow",...