Amazon web services AWS CDK--如何从AWS CDK新创建的托管区域检索NS记录
假设我创建了一个公共托管区域或从查找中获取托管区域,并且我希望检索NS记录以供其他使用Amazon web services AWS CDK--如何从AWS CDK新创建的托管区域检索NS记录,amazon-web-services,amazon-route53,aws-cdk,Amazon Web Services,Amazon Route53,Aws Cdk,假设我创建了一个公共托管区域或从查找中获取托管区域,并且我希望检索NS记录以供其他使用 const zone = new route53.PublicHostedZone(this, domain + 'HostedZone', { zoneName: '' + domain }) 当前的CDK是否有任何方法可以做到这一点。我环顾了一下API文档,没有发现任何内容。有什么建议吗 更新 我确实尝试了hostedZoneNameServers属性。然而,它似乎没有返回任何东西 const
const zone = new route53.PublicHostedZone(this, domain + 'HostedZone', {
zoneName: '' + domain
})
当前的CDK是否有任何方法可以做到这一点。我环顾了一下API文档,没有发现任何内容。有什么建议吗
更新 我确实尝试了
hostedZoneNameServers
属性。然而,它似乎没有返回任何东西
const zone = route53.HostedZone.fromLookup(this, 'DotnetHostedZone', {
domainName: <myDomain>,
});
new CfnOutput(this, `output1`, {
value: zone.zoneName
});
new CfnOutput(this, `output2`, {
value: zone.hostedZoneId
});
new CfnOutput(this, 'output3', {
value: zone.hostedZoneNameServers?.toString() || 'No NameServer'
});
const zone=route53.HostedZone.fromLookup(这是“DotnetHostedZone”{
域名:,
});
新的CfnOutput(这个,`output1`{
值:zone.zoneName
});
新的CfnOutput(这个,`output2`{
值:zone.hostedZoneId
});
新的CfnOutput(这是“output3”{
值:zone.hostedZoneNameServers?.toString()| |“无名称服务器”
});
✅ 测试操作
产出:
测试操作输出1=
测试操作输出2=
test-ops.output3=没有名称服务器
我和我的区域确认,并用于进行记录导出,我可以检索我的所有记录
最终目标是自动化子域资源调配。但是我现在对这条路线感到有些抓狂。区域对象上有一个
hostedZoneNameServers
属性
const zone = HostedZone.fromLookup(this, 'HostedZone', { domainName: config.zoneName });
const nsRecords = zone.hostedZoneNameServers;
参考:
hostedZoneNameServers
可以为空。。。也许fromLookup
会导致空值,但原始的“new route53.publichHostedZone”结果可能设置了此属性。是否可以尝试检查并使用最初创建区域时的hostedZoneNameServers
的值?我确实仔细检查了我的区域,并从新创建的区域返回了正确的域名等。我的记录也不会被导入。它们是由cdk
本身创建的。这里和那里的一些小差距使得像Terraform这样的完全自动化很难实现。
✅ test-ops
Outputs:
test-ops.output1 = <myDomain>
test-ops.output2 = <myZoneId>
test-ops.output3 = No NameServer
const zone = HostedZone.fromLookup(this, 'HostedZone', { domainName: config.zoneName });
const nsRecords = zone.hostedZoneNameServers;