API Gateway API의 엣지 최적화 사용자 지정 도메인 이름을 생성할 때 “CNAMEAlreadyExists” 오류를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon API Gateway API의 엣지 최적화 사용자 지정 도메인 이름을 생성하려고 하면 “CNAMEAlreadyExists” 오류가 발생합니다.

간략한 설명

다음과 같은 경우 "CNAMEAlreadyExists" 오류가 발생합니다.

  • 사용자 지정 도메인 이름의 CNAME 레코드 유형이 이미 존재하고 Amazon CloudFront 배포를 가리킵니다.
  • 대체 도메인 이름으로 구성된 CloudFront 배포가 있거나 사용자 지정 도메인 이름과 일치하는 CNAME이 있습니다.

참고: 짧은 기간 내에 사용자 지정 도메인 이름을 여러 번 업데이트할 때 “Too Many Requests” 오류가 발생하는 것은 흔한 경우가 아닙니다. 이러한 오류는 CreateDomainName API의 할당량이 낮기 때문에 발생합니다(계정당 30초마다 요청 1개). 자세한 내용은 API 생성, 배포 및 관리를 위한 API Gateway 할당량을 참조하십시오.

중요: 1개 이상의 CloudFront 배포에 대해 같은 CNAME 레코드를 사용할 수 없습니다. 동일한 CNAME 레코드를 사용하면 다음 오류가 발생합니다. "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 레코드를 삭제해야 합니다.

해결 방법

사용자 지정 도메인 이름이 이전에 존재했는지 확인

1. 사용자 지정 도메인 이름이 이전에 존재했는지 확인하려면 도메인 이름에 대해 DNS 조회 명령을 실행합니다.

Linux, Unix, 또는 macOS 시스템:

dig abc.example.com +all

Windows:

nslookup abc.example.com

참고: abc.example.com을 도메인 이름으로 바꾸십시오.

2. 사용자 지정 도메인 이름이 이전에 존재했고 해당 DNS 레코드가 아직 있는 경우 dig를 사용하여 출력에서 CNAME 레코드를 가져옵니다.

abc.example.comcom. 0        IN    CNAME    d27am47dhauq2.cloudfront.net.

중요:

사용자 지정 도메인 이름을 생성하려면 먼저 이 레코드를 삭제해야 합니다.

  • 개발 또는 테스트 환경에서 먼저 DNS 설정을 수정하는 것이 좋습니다. 프로덕션 DNS 설정을 수동으로 수정하면 가동 중지 시간이 발생할 수 있습니다.
  • 출력에 CNAME 레코드 대신 A 레코드(IPv4 주소)가 표시되는 경우 레코드를 업데이트해야 합니다. 업데이트된 레코드에서 사용자 지정 도메인 이름(A 별칭)이 CloudFront 배포를 가리켜야 합니다.

도메인 이름에 대해 dig 또는 nslookup을 실행하고 레코드가 A 별칭인 경우 CloudFront 배포를 확인합니다. CloudFront 배포가 대체 도메인 이름으로 구성되어 있지 않은지 확인하십시오. 자세한 내용은 별칭 및 CNAME 레코드 비교를 참조하십시오.

CNAME 레코드 삭제 또는 CloudFront 배포 업데이트

구성에 따라 다음 중 하나 또는 두 가지를 모두 수행하십시오.

  • CloudFront 배포를 가리키는 CNAME 레코드를 제거합니다.
  • CloudFront 배포를 업데이트하고 대체 도메인 이름 또는 CNAME 레코드를 제거합니다.

타사 DNS 서비스 제공업체가 있는 경우 제공업체의 프로세스에 따라 CloudFront 배포를 가리키는 CNAME 레코드를 삭제합니다.

Amazon Route 53을 사용하는 경우 CloudFront를 가리키는 Route 53의 레코드를 삭제합니다.

구성 변경 후 DNS 변경이 전파될 때까지 몇 분 정도 기다리십시오. 이후 사용자 지정 도메인 이름을 다시 생성해 보십시오.

참고: "CNAMEAlreadyExists" 오류가 발생하는 경우 Amazon CloudFront 배포에 대해 CNAME 별칭을 설정할 때 CNAMEAlreadyExists 오류를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

관련 정보

API Gateway API의 사용자 지정 도메인 이름을 설정하려면 어떻게 해야 하나요?

Amazon API Gateway와 AWS Lambda를 사용하여 다중 리전 서버리스 애플리케이션 구축

AWS 공식
AWS 공식업데이트됨 한 달 전
댓글 없음

관련 콘텐츠