AWS .NET SDK,AliasTarget记录集问题

时间:2018-10-14 08:00:31

标签: c# amazon-web-services asp.net-core-2.0 aws-sdk amazon-route53

编辑 解决了,解决方案在注释中。

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

感谢阅读,欢呼

1 个答案:

答案 0 :(得分:3)

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

根据documentation,CloudFront HostedZoneId值必须 Z2FDTNDATAQYW2

希望它对以后的任何人都可能有所帮助,谢谢。