Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
CloudFront 배포에 대한 CNAME 별칭을 설정할 때 ‘CNAMEAlreadyExists’ 오류를 해결하려면 어떻게 해야 합니까?
Amazon CloudFront 배포에 대한 캐노니컬 네임 레코드(CNAME) 별칭을 설정하면 ‘CNAMEAlreadyExists’라는 오류가 발생합니다.
간단한 설명
한 개 이상의 CloudFront 배포에 대해 같은 CNAME 별칭을 사용할 수 없습니다. 추가하려는 CNAME 별칭이 이미 다른 CloudFront 배포와 연결되어 있으면 다음 오류가 발생합니다.
"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: a123456b-c78d-90e1-23f4-gh5i67890jkl*"
소스 및 대상 배포에 모두 액세스할 수 있는 경우, 기존 CloudFront 배포에서 CNAME 연결을 수동으로 제거합니다. 그런 다음, CNAME을 새 CloudFront 배포와 연결합니다.
참고: CNAME을 수동으로 연결하려면 기존 배포의 상태가 배포됨이 될 때까지 기다려야 할 수 있습니다.
충돌하는 CNAME 별칭의 배포 및 AWS 계정 ID에 대한 일부 정보를 가져오려면 list-conflicting-aliases AWS Command Line Interface(AWS CLI) 명령을 실행하십시오. 그런 다음, associate-alias 명령을 실행하여 CNAME을 기존 배포(소스 배포)에서 새 배포(대상 배포)로 이동합니다.
시나리오에 따라 다음 해결 방법 중 하나를 사용합니다.
- 같은 계정에 있는 소스 및 대상 배포의 경우 CNAME 이동 섹션을 참조하십시오.
- 계정 간 소스 및 대상 배포에 대해서는 충돌하는 CNAME이 있는 소스 배포 비활성화 섹션을 참조하십시오.
- 소스 배포를 비활성화할 수 없는 경우 와일드카드를 사용하여 대체 도메인 이름 이동 섹션을 참조하십시오.
참고: 와일드카드를 사용하여 Apex 도메인(example.com)을 이동할 수 없습니다. 소스 배포와 대상 배포가 서로 다른 계정에 있는 경우 Apex 도메인을 이동하려면 Support에 문의하여 대체 도메인 이름 이동을 참조하십시오.
해결 방법
CNAME 이동
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
CNAME을 이동하려면 소스 배포와 대상 배포에 모두 액세스할 수 있어야 합니다.
CNAME을 이동하려면 다음 단계를 완료합니다.
-
API 요청을 보내는 사용자 또는 역할의 AWS Identity and Access Management(IAM) 정책에서 다음 리소스 수준 권한을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudFrontCnameSwapSameAcc", "Effect": "Allow", "Action": [ "cloudfront:GetDistribution", "cloudfront:ListConflictingAliases", "cloudfront:AssociateAlias", "cloudfront:UpdateDistribution" ], "Resource": [ "arn:aws:cloudfront::SourceAcccount:distribution/SourceDistroID", "arn:aws:cloudfront::TargetAccount:distribution/TargetDistroID" ] } ] }참고: IAM 사용자 또는 역할은 소스 배포 및 대상 배포에서 위의 권한이 있어야 합니다. 위 정책에서 SourceAcccount를 소스 배포의 계정 번호로 바꾸고 SourceDistroID를 소스 배포의 ID로 바꾸십시오. 또한 TargetAccount를 대상 배포의 계정 번호로 바꾸고 TargetDistroID를 대상 배포의 ID로 바꾸십시오.
-
list-conflicting-aliases 명령을 실행하여 CNAME이 충돌하는 배포를 찾습니다.
aws cloudfront list-conflicting-aliases --distribution-id YourDistributionID --alias YourCNAME참고: YourDistributionID를 배포의 ID로 바꾸고 YourCNAME을 충돌하는 CNAME 별칭으로 바꾸십시오.
-
대상 배포의 정식 이름으로 확인되는 CNAME에 대한 DNS TXT 레코드를 만들어 소유권을 확인합니다. TXT 레코드에는 CNAME, Apex 또는 와일드카드 앞에 밑줄이 포함되어야 합니다.
_.example.com. 900 IN TXT "dexample123456.cloudfront.net"_cname.example.com. 900 IN TXT "dexample123456.cloudfront.net" _*.example.com. 900 IN TXT "dexample123456.cloudfront.net"참고: 도메인의 소유권을 확인하려면 YourDistributionID에 대한 읽기 액세스가 있어야 합니다. 또한 충돌하는 CNAME을 보호하는 CloudFront 배포와 연결된 SSL/TLS 인증서가 있어야 합니다.
-
대상 배포에 유효한 SSL/TLS 인증서가 있는지 확인합니다.
참고: 주체 이름 또는 주체 대체 이름은 CNAME 별칭과 일치하거나 겹쳐야 합니다. AWS Certificate Manager 또는 Mozilla의 CA 인증서 목록에 나열된 신뢰할 수 있는 인증 기관(CA)에서 발급한 유효한 인증서를 사용하는 것이 좋습니다. 자세한 내용은 Mozilla 웹 사이트의 인증 기관을 참조하십시오. -
대상 배포를 소유한 계정에서 associate-alias 명령을 실행합니다.
aws cloudfront associate-alias --target-distribution-id YourTargeDistributiontID --alias your_cname.example.com참고: YourTargeDistributiontID를 대상 배포의 ID로 바꾸고 your_cname.example.com을 도메인으로 바꾸십시오.
충돌하는 CNAME이 있는 소스 배포 비활성화
소스 배포와 대상 배포가 서로 다른 계정에 있는 경우 충돌하는 도메인과 연결된 소스 배포를 비활성화합니다. 그런 다음, CNAME 이동 섹션의 단계를 따르십시오.
충돌하는 도메인과 연결된 소스 배포를 비활성화하려면 다음 단계를 완료하십시오.
- CloudFront 콘솔을 엽니다.
- 탐색 창에서 배포를 선택합니다.
- 소스 배포를 선택한 다음, 비활성화를 선택합니다.
소스 배포가 있는 계정에 액세스할 수 없거나 소스 배포를 비활성화할 수 없는 경우, AWS Support에 문의하십시오.
와일드카드를 사용하여 대체 도메인 이름 이동
소스 배포와 대상 배포가 서로 다른 계정에 있지만 소스 배포를 비활성화할 수 없는 경우 와일드카드를 사용하여 CNAME을 이동합니다.
다음 절차에서는 각 배포에서 업데이트가 완전히 배포될 때까지 기다린 후 다음 단계로 진행합니다.
대체 도메인 이름을 이동하려면 다음 단계를 완료합니다.
-
대상 배포를 업데이트하여 이동하려는 대체 도메인 이름에 와일드카드 CNAME을 추가합니다. 예를 들어 도메인이 www.example.com인 경우, 와일드카드 대체 도메인 이름 *.example.com을 대상 배포에 추가합니다.
참고: 대상 배포에는 와일드카드 도메인 이름을 보호하는 SSL/TLS 인증서가 있어야 합니다. -
트래픽을 대상 배포의 정식 이름으로 라우팅하도록 CNAME의 DNS 레코드를 업데이트합니다.
www.example.com. 86400 IN CNAME "dexample123456.cloudfront.net"참고: 대체 도메인 이름이 여전히 소스 배포와 연결되어 있기 때문에 소스 배포는 대체 도메인 이름을 사용하는 요청을 받습니다. 대상 배포는 소스 배포에서 대체 도메인 이름을 제거한 후에만 요청을 받습니다.
-
소스 배포를 업데이트하여 대체 도메인 이름을 제거합니다.
참고: 업데이트 중에는 실시간 트래픽이 중단되지 않습니다. 요청된 도메인 이름이 대상 배포에 추가한 와일드카드 도메인과 일치하므로 실시간 트래픽은 대상 배포 설정을 사용합니다. -
이동하려는 대체 도메인 이름을 추가하려면 대상 배포를 업데이트합니다.
-
CNAME의 DNS 기록을 확인하려면 dig 또는 유사한 DNS 쿼리 도구를 사용하십시오.
dig CNAME www.example.com +shortnslookup example.com -
(선택 사항) 와일드카드 대체 도메인 이름을 제거하려면 대상 배포를 업데이트하십시오.
- 언어
- 한국어

관련 콘텐츠
- 질문됨 2년 전
