AWS .NET SDK、AliasTarget 记录集问题

AWS .NET SDK, AliasTarget record set issues

编辑 已解决,解决方案在评论中

我正在尝试在 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

感谢阅读,干杯

所以...当然,一旦我决定 post 我的问题,我就找到了答案哈哈。

根据 documentation,CloudFront HostedZoneId 值 必须Z2FDTNDATAQYW2

希望以后对大家有所帮助,谢谢。