AWS CLI를 사용하여 Route 53 리소스 레코드 세트를 생성할 때 표시되는 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 2월 2일

AWS CLI(AWS 명령줄 인터페이스)를 사용하여 리소스 레코드 세트를 생성하려고 할 때 오류 메시지가 표시되는 이유는 무엇입니까? 오류를 수정하려면 어떻게 해야 합니까?

해결 방법

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

오류의 원인과 문제 해결 방법을 확인하려면 다음과 같은 일반적인 오류 메시지를 참조하세요.

An error occurred (InvalidInput) when calling the ChangeResourceRecordSets operation: Invalid XML ; cvc-enumeration-valid: Value 'Delete' is not facet-valid with respect to enumeration '[CREATE, DELETE, UPSERT]'. It must be a value from the enumeration.

JSON 파일 형식에는 구성 파일에 대문자 CREATE, DELETE 또는 UPSERT 값이 필요합니다.

구성 파일에서 값을 대문자로 변경합니다. 예를 들어 다음과 같습니다.

"Action": "CREATE",

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: RRSet of type CNAME with DNS name domain.com. is not permitted at apex in zone domain.com.

Zone Apex라고도 불리는 DNS 네임스페이스 최상위 노드(예: example.com)에는 CNAME 레코드를 생성할 수 없습니다.

AWS 리소스를 가리키도록 최상위 도메인에 대한 레코드를 생성하는 경우 CNAME 대신 별칭 레코드를 사용합니다.

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: RRSet of type MX with DNS name b.domain.com. is not permitted because a conflicting RRSet of type CNAME with the same DNS name already exists in zone domain.com.

하위 도메인 이름(예: test.example.com)에 대한 CNAME 리소스 레코드 세트가 있는 경우 해당 하위 도메인에 대한 MX 레코드, A 레코드 또는 TXT 레코드를 가질 수 없습니다.

동일한 호스팅 영역의 다른 레코드 세트에 MX 레코드를 생성합니다.

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: [RRSet of type A with DNS name b.domain.com. is not permitted because a conflicting RRSet of type CNAME with the same DNS name already exists in zone b.domain.com.]

“UPSERT”를 사용하여 CNAME 레코드를 다른 레코드로 업데이트하거나 기존 레코드를 CNAME 레코드로 변경하려는 경우 이 오류가 발생합니다.

UPSERT는 원래 CNAME 레코드가 있으며 다른 CNAME 레코드로 UPSERT를 수행하는 경우에만 성공합니다.

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: Tried to create resource record set [name='b.domain.com.', type='CNAME'] but it already exists.

도메인에 이미 존재하는 CNAME 리소스 레코드 세트에 대해 CREATE 작업을 수행하고 있습니다.

CNAME 리소스 레코드 세트가 아직 존재하지 않는 도메인에 대해 CNAME 레코드 세트를 생성합니다.

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: Tried to delete resource record set [name='a.domain.com.', type='A'] but the values provided do not match the current values.

JSON 파일을 사용하여 리소스 레코드 세트를 삭제하려고 하지만 콘텐츠가 기존 레코드 세트의 값과 일치하지 않습니다.

구성 파일에서 Name, TypeTTL 값을 확인하고 업데이트합니다. 그런 다음 리소스 레코드 세트를 다시 삭제해 보세요.

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: Tried to delete resource record set [name='a.domain.com.', type='A'] but the rdata provided is invalid.

리소스 레코드 세트에 대해 DELETE 작업을 수행하고 있지만 ResourceRecord의 값이 기존 리소스 레코드 세트의 값과 일치하지 않습니다.

구성 파일에서 ResourceRecord 값을 확인하고 업데이트합니다. 그런 다음 리소스 레코드 세트를 다시 삭제해 보세요.

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: Tried to delete resource record set [name='a.domain.com.', type='A'] but it was not found.

도메인 이름에 잘못된 호스팅 영역 ID를 사용하고 있습니다.

다음 형식을 사용하여 올바른 ID로 change-resource-record-sets 명령을 다시 실행합니다.

aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXXXX --change-batch file://sample.json

An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: Tried to create an alias that targets applicationenv.us-west-2.elasticbeanstalk.com., type A in zone Z1H1FL5HABSF5, but the alias target name does not lie within the target zone.

구성 파일에서 AWS 리소스에 대해 잘못된 HostedZoneId 값을 사용하고 있습니다. HostedZoneId 키의 값은 도메인 이름의 호스팅 영역 ID가 아니라 각 리전의 AWS 리소스에 대한 고유 ID입니다.

HostedZoneId 값을 확인하고 AWS 리소스의 호스팅 영역 ID로 업데이트합니다. 자세한 내용은 AWS CLI를 사용하여 Route 53에서 별칭 리소스 레코드 세트를 만들려면 어떻게 해야 합니까?를 참조하세요.