gpt4 book ai didi

amazon-web-services - 如何为 CfnDistribution 添加 Route53 别名?

转载 作者:行者123 更新时间:2023-12-05 06:21:18 25 4
gpt4 key购买 nike

亚马逊有 this example了解如何为您的 CloudFrontWebDistribution 创建自定义别名:

import route53 = require('@aws-cdk/aws-route53');
import targets = require('@aws-cdk/aws-route53-targets');

new route53.AaaaRecord(this, 'Alias', {
zone: myZone,
target: route53.RecordTarget.fromAlias(new targets.CloudFrontTarget(distribution))
});

这看起来 super 简单。

但是,由于 Lambda@Edge 的限制,我不得不改用低级 CfnDistribution。有没有办法为那个创建别名?直接或使用一些巫术从低级 CfnDistribution 创建高级 CloudFrontWebDistribution 构造?

最佳答案

我从 aws-route53-targets 模块中提取了 CloudFrontTarget 代码并对其进行了调整,使其成为:

class CfnDistributionTarget implements route53.IAliasRecordTarget {
private readonly distribution: CfnDistribution
/**
* The hosted zone Id if using an alias record in Route53.
* This value never changes.
*/
static readonly CLOUDFRONT_ZONE_ID = 'Z2FDTNDATAQYW2'
constructor(distribution) {
this.distribution = distribution
}
bind(_record: route53.IRecordSet): AliasRecordTargetConfig {
return {
hostedZoneId: CfnDistributionTarget.CLOUDFRONT_ZONE_ID,
dnsName: this.distribution.attrDomainName
}
}
}

关于amazon-web-services - 如何为 CfnDistribution 添加 Route53 别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59901382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com