编辑 解决了,解决方案在注释中。
我正在尝试在AWS Route53中创建一个针对别名CloudFront分布的记录集。
此刻,我正在使用所需的域创建一个新的托管区域(工作正常)。
然后,我从响应中获取HostedZoneId并尝试创建一个记录集,该记录集指向在其CNAME中具有此域的CloudFront发行版。 (如果我仅使用API创建托管区域,然后尝试手动创建记录集,则可以正常工作,并且可以在列表上看到CDN别名。)
我正在遵循AWS文档中的此示例-
var response = client.ChangeResourceRecordSets(new ChangeResourceRecordSetsRequest
{
ChangeBatch = new ChangeBatch {
Changes = new List<change> {
new Change {
Action = "CREATE",
ResourceRecordSet = new ResourceRecordSet {
AliasTarget = new AliasTarget {
DNSName = "d123rk29d0stfj.cloudfront.net",
EvaluateTargetHealth = false,
HostedZoneId = "Z2FDTNDATAQYW2" // Different Hosted Zone?
},
Name = "example.com",
Type = "A"
}
}
},
Comment = "CloudFront distribution for example.com"
},
HostedZoneId = "Z3M3LMPEXAMPLE" // Different Hosted Zone?
});
为什么别名目标HostedZoneId属性与外部HostedZoneId不同???难道它们都不都是为所需域创建的托管区域的ID吗?
我收到的错误是-
Tried to create an alias that targets d123rk29d0stfj.cloudfront.net., type A in zone Z3BW3XHLEBEA2Z, but the alias target name does not lie within the target zone
感谢阅读,欢呼
答案 0 :(得分:3)
所以...当然,一旦我决定发布我的问题,我就会找到答案。
根据documentation,CloudFront HostedZoneId值必须为 Z2FDTNDATAQYW2 。
希望它对以后的任何人都可能有所帮助,谢谢。