如果A记录,AWS CLI-route53更改资源记录集命令失败,但如果CNAME则通过



我正在尝试在现有托管区域上添加DNS记录。我正在尝试以下命令,其中ResourceRecordSet类型为A记录,还有CNAME记录。尝试创建记录的命令失败,但当更改为CNAME时,相同的命令可以工作

失败命令

aws route53 change-resource-record-sets --hosted-zone-id XXXXXXXXXXXXX --change-batch {"Changes": [{"Action": "CREATE","ResourceRecordSet": {"Name": "api-test-1.envio.systems","Type": "A","TTL": 30,"ResourceRecords": [{"Value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-14xxxxxxxxxxxxx26.elb.eu-central-1.amazonaws.com"}]}}]}

错误:

调用ChangeResourceRecordSets操作时发生错误(InvalidChangeBatch(:[无效资源记录:致命问题:ARRDATAIllegalIPv4Address(值不是有效的IPv4地址(遇到'xxxxxxxxxxxxxxxxxxxxxxx-14xxxxxxxxxxxxx26.elb.eu-central-1.amazonaws.com']

下面的命令有效,唯一更改的是ResourceRecordSet Type从A更改为CNAME

aws route53 change-resource-record-sets --hosted-zone-id XXXXXXXXXXXXX --change-batch {"Changes": [{"Action": "CREATE","ResourceRecordSet": {"Name": "api-test-st-1.envio.systems","Type": "CNAME","TTL": 30,"ResourceRecords": [{"Value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-14xxxxxxxxxxxxx26.elb.eu-central-1.amazonaws.com"}]}}]}

问题是什么?为什么CNAME使用相同的命令而不使用A记录?

在DNS中,A("地址"(记录指向IPv4地址CNAME记录指向另一个dns名称

AWS确实有一个记录别名的概念,它本质上是一个CNAME记录,它对值进行内部Route 53查找,并作为a记录出现。

https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer.html介绍了如何设置Alias记录。https://aws.amazon.com/premiumsupport/knowledge-center/alias-resource-record-set-route53-cli/谈到了使用CLI来实现这一点,CLI更准确地表示API接受的字段。基本上,您可以指定ELB的DNS记录的托管区域ID及其地址。

https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html

相关内容

  • 没有找到相关文章

最新更新