我正试图在我的托管区域中为非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,
}),
}),
});