首页 > 解决方案 > AWS .NET SDK、AliasTarget 记录集问题

问题描述

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

我正在尝试在 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?
});

为什么 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

感谢阅读,加油

标签: c#amazon-web-servicesasp.net-core-2.0aws-sdkamazon-route53

解决方案


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

根据文档,CloudFront HostedZoneId 值必须Z2FDTNDATAQYW2

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


推荐阅读