编辑已解决,解决方案在评论中。
我正在尝试在AWS Route53中创建一个针对别名CloudFront分配的记录集。
目前,我正在使用所需的域创建一个新的托管区域(工作正常)。
之后,我从响应中获取HostedZoneId并尝试创建一个记录集,该记录集指向在其CNAME中具有此域的CloudFront Distribution。 (如果我只使用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?
});
为什么Alias Target 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
感谢阅读,欢呼
所以...当然,一旦我决定发布我的问题,我找到了答案大声笑。
根据documentation,CloudFront HostedZoneId值必须是Z2FDTNDATAQYW2。
希望它可以帮助将来的任何人,谢谢。