AWS CDK TypeScript 问题 [type='CNAME'] 但它已经存在

问题描述 投票:0回答:2

我是 AWS CDK TypeScript 新手。

我的问题是:

[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

        }); 
typescript amazon-route53 typescript-generics aws-cdk cname
2个回答
1
投票

在多个区域部署堆栈可能会创建相同的条目两次(一个用于

eu-west-1
,另一个用于
eu-central-1
)。由于
route53
是一项全球服务,这可能是导致您看到的错误的原因。

您可以简单地选择将 1 个区域引导至 DNS,或者在 DNS 条目中包含区域名称 (

my-service.eu-west-1.my-domain.com
),而不是进行查找,然后在其前面使用 cloudfront 或全局加速器之类的东西来执行全局路由到最近的地区。


0
投票

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

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

不要每次都删除堆栈来解决这个问题,只需不要使用名称即可。

资源

© www.soinside.com 2019 - 2024. All rights reserved.