aws cdk typescript issue type='CNAME'] 但它已经存在]

aws cdk typescript issue type='CNAME'] but it already exists]

我是 AWS CDK 打字稿的新手,感谢任何帮助。

我的问题[Tried to create resource record set [name='xxxxx', type='CNAME'] but it already exists]"}

我正在使用 AWS CDK typescript 在 eu-west1 和 eu-central 区域创建堆栈。那么有没有什么机制可以检查是否没有创建cname然后只创建?

我的代码当前代码:

   const cName = new route53.CnameRecord(this, "cName", {
            zone: route53.HostedZone.fromLookup(this, "lowerHostedZone3", {
                domainName: topDomain,
            }),
  
            recordName: topFQDN,
            domainName: lowerFQDN

        }); 

在多个区域部署堆栈可能会创建相同的条目两次(一次用于 eu-west-1,一次用于 eu-central-1)。由于 route53 是一项全球服务,这可能是您看到的错误的原因。

您可以简单地选择让 1 个区域领先 DNS,或者在 DNS 条目中包含区域名称 (my-service.eu-west-1.my-domain.com),而不是进行查找,然后在它前面加上 cloudfront 或 global accelerator 之类的东西做全球路由到最近的区域。

我遇到了这个问题,希望避免其他人花 24 小时处理它。我的回答是针对一般问题:“名称”已经存在。

摆脱他们。删除对正在调用的 类 可选的所有名称实例。让他们为您生成它。不要使用 try 块,如果存在则不要尝试检索它们(在撰写本文时,这种方法不起作用)。

不要每次都删除堆栈来解决这个问题,干脆不要使用名称。

Resources