AWS CDK:如何在同一托管区域中创建记录的别名



我正试图在我的托管区域中为非www创建一个别名,以指向www记录。

在控制台中,我只创建一个A记录,将其设置为别名,然后选择Alias to another record in this hosted zone,但在CDK中我看不到这样做的方法。

这不会起作用,因为它不是一个IP地址:

// Add non-www alias for domain
const _nonWwwARecord = new ARecord(this, 'non-www-to-www', {
zone: _prodHostedZone,
target: RecordTarget.fromValues(`www.${DOMAIN}`),
ttl: Duration.minutes(5),
});

我得到:

[无效的资源记录:'致命问题:ARRDATAIllegalIPv4Address(值不是有效的IPv4地址(

如果我尝试从@aws-cdk/aws-route53-targets使用RecordTarget,我在同一托管区域中看不到任何记录选项。

不知道为什么这如此令人困惑,但我似乎无法克服。。。

这可能有助于理解www记录是由ApplicationLoadBalancedFargateService设置的。

@aws-cdk/aws-rout53-targets当前不包括另一个Route 53记录的目标。

同时,您可以使用bind():的自定义实现来解锁自己

// Create a A record that is an alias for `otherRecord`
new ARecord(this, 'Alias', {
zone: myZone,
target: RecordTarget.fromAlias({
bind: () => ({
dnsName: otherRecord.domainName,
hostedZoneId: myZone.hostedZoneId,
}),
}),
});

最新更新