CloudFormation模板使用同名Route 53公有托管区ID报错‘No Such Hosted Zone ID’求助
解决CloudFormation中Route53托管区ID报错"No Such Hosted Zone ID"的问题
嘿,我一眼就找到了导致这个报错的核心问题——你在模板里给HostedZoneID多拼接了一个不必要的点(.)!
问题根源
看你模板里的这段代码:
HostedZoneID: !Join - '' - - !Ref PublicHostedZone - .
这里你把托管区ID和一个点拼接在了一起,导致最终传给AWS的托管区ID变成了xxxxxxxxxxxxxx.(末尾带点)。但Route53的托管区ID是不带点的纯字符标识符(比如Z0123456789ABCDEF),AWS自然找不到这个被篡改过的无效ID。
快速修复方案
直接去掉HostedZoneID里的!Join操作,直接引用参数即可:
HostedZoneID: !Ref PublicHostedZone
额外需要确认的细节
- 确认参数值正确性:检查
PublicHostedZone参数的AllowedValues里填写的是不是公有托管区的真实ID(可以登录Route53控制台,找到公有托管区查看它的ID),确保不是填成了托管区名称或者私有托管区的ID。 - 域名拼接验证:你的
Name字段拼接出来的最终域名应该是类似your-instance.us-east-1.example.com.的格式(末尾带点是Route53的规范写法,没问题),如果这符合你的预期就不用调整;如果不符合,再检查RegionMap里的DNSregion值是否正确。
因为你拥有账户完全权限,所以权限问题可以直接排除,核心错误就是那个多余的点导致托管区ID无效,修改后应该就能正常创建记录集了。
内容的提问来源于stack exchange,提问作者suprasad
相关产品推荐
相关产品推荐

