CloudFront로 Blue / Green 배포를 수행하는 방법을 찾고 있습니다.
누구나 하나의 CloudFront 배포에서 다른 CloudFront 배포로 이동할 수있는 좋은 솔루션이 있습니까, 아니면 누구나 배포를 만든 다음 다시 만지지 않습니까?
My CloudFront 배포는 정적 콘텐츠 (자바 스크립트 등)에 대한 하나의 S3 오리진 과 AWS ELB를 가리키는 사용자 지정 오리진으로 구성됩니다.
CloudFront에 대한 변경 사항 없음
정상적인 상황에서는 CloudFront 배포를 전혀 변경하지 않습니다. S3에서 정적 컨텐츠 파일 이름을 변경하여 S3 오리진에서 정적 컨텐츠를 버전 화하고 ELB (Elastic Load Balancer)에서 EC2 인스턴스로 롤링 배포를 수행합니다. 그러나 CloudFront 배포 자체를 테스트하고 변경해야하거나 새로운 환경에서 새로운 ELB를 가리켜 야 할 정도로 환경을 충분히 변경해야 할 때가 있습니다.
2 개의 CloudFront 배포
내가 시도한 첫 번째 옵션은 현재 환경 또는 A 환경과 새 환경 또는 B 환경에 대한 두 개의 별도 CloudFront 웹 배포 를 갖는 것입니다. www.domain.com Route53 레코드에 대해 두 개의 레코드를 추가 한 Route53 가중 라우팅 정책 을 사용하려고했습니다 . 하나는 가중치가 1 인 CloudFront Distribution A를 가리키고 다른 하나는 가중치가 0 인 CloudFront Distribution B를 가리 킵니다. 배포 A에서 배포 B로 이동하려는 경우 가중치를 변경하는 것이 좋습니다 . 그러나 한 번에 하나의 CloudFront 배포 만 www.domain.com CNAME (대체 도메인 이름)을 등록하거나 다음 오류가 발생합니다.
com.amazonaws.services.cloudfront.model.CNAMEAlreadyExistsException: One or more of the CNAMEs you provided are already associated with a different resource. (Service: AmazonCloudFront; Status Code: 409; Error Code: CNAMEAlreadyExists; Request ID: ef84a5f0-44e7-11e5-9315-0ba167bb108a)
하나의 CloudFront 배포
두 번째 옵션은 하나의 CloudFront 웹 배포를 유지하는 것입니다. 내 A 및 B 환경을 모두 가리키는 S3 및 사용자 지정 오리진이 있고 한 환경에서 다른 환경으로 이동하려는 경우 다른 원점을 가리 키도록 CloudFront 캐시 동작 을 업데이트합니다 . 이러한 업데이트는 15-60 분이 걸리고 업데이트 진행 상황에 대한 가시성이 없으며 변경의 특성에 따라 CloudFront Invalidation 으로 후속 조치를 취해야 캐시 된 콘텐츠를 제공하지 않기 때문에 이는 매우 지저분 합니다. 새로운 콘텐츠와 함께 이전 환경에서
조언 해 주셔서 감사합니다!