AWS CDK:如何在同一托管区域中创建记录的别名?
AWS CDK: How can I create an alias of a record in the same hosted zone?
我正在尝试在我的托管区域中为非 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),
});
我得到:
[Invalid Resource Record: 'FATAL problem: ARRDATAIllegalIPv4Address (Value is not a valid IPv4 address)
如果我尝试使用 @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,
}),
}),
});
我正在尝试在我的托管区域中为非 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),
});
我得到:
[Invalid Resource Record: 'FATAL problem: ARRDATAIllegalIPv4Address (Value is not a valid IPv4 address)
如果我尝试使用 @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,
}),
}),
});