如何在 AWS 中刷新 VPC 中的 DNS 条目?

Posted

技术标签:

【中文标题】如何在 AWS 中刷新 VPC 中的 DNS 条目?【英文标题】:How do I flush DNS entries in my VPC in AWS? 【发布时间】:2020-02-07 03:49:16 【问题描述】:

我最近将 VPC 端点添加到了我的 CloudFormation 堆栈中。然后我删除了我的堆栈并尝试重新创建它。

当我尝试重新创建它时,出现以下错误:

private-dns-enabled cannot be set because there is already a conflicting DNS domain for secretsmanager.us-east-2.amazonaws.com in the VPC vpc-63170e0b (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameter; Request ID: b7d28d81-c2c0-4f44-9642-f22171cf513d)

我怀疑这里出现了错误,因为 VPC 的私有 DNS 仍然具有上次创建堆栈时的条目。

有没有办法从 VPC 的私有 DNS 中手动删除条目?

【问题讨论】:

【参考方案1】:

这是删除私有托管区域记录时的某种最终一致性行为。这需要一些时间,在此期间您会​​遇到此错误。请稍等几分钟,然后重试。它对我有用。在第一次成功之后执行的部署已顺利完成。

不要尝试手动修改 VPC 端点记录,因为您在 Route53 中找不到任何“私有托管区域”。它是 AWS 终端节点的某种内部私有托管区域,当您向 VPC DNS 终端节点发送请求时,仅在您的 VPC 中可见。

【讨论】:

Junwei Wu 的评论:我同意接受的答案,根据我的经验,我必须等待 5-8 分钟才能完全删除。 我收到同样的错误,我等了至少 30 分钟但仍然收到同样的错误:无法创建资源。无法设置 private-dns-enabled,因为 VPC vpc-> 中已存在 runtime.elastic-inference.us-west-2.amazonaws.com 的 DNS 域冲突(服务:AmazonEC2;状态代码: 400;错误代码:InvalidParameter;请求 ID:> 代理:null) 我遇到了类似的问题,无法创建启用私有 dns 的多个端点。 @jayendrabhatt 你能修复它吗?我有同样的问题,我看到它抱怨域名冲突。【参考方案2】:

我在尝试重命名 CloudFormation 堆栈中的 VPC 端点时收到了类似的错误。 没有等待的选项,所以我使用以下步骤修复它:

登录 AWS 控制台 导航到VPC -> Vitual Private Cloud -> Endpoints端点列表中,找到导致问题的条目 点击条目并选择Actions -> Delete Endpoint 等待删除(可能需要几分钟)

然后我重新运行了我的 CloudFormation 堆栈,一切正常。

【讨论】:

以上是关于如何在 AWS 中刷新 VPC 中的 DNS 条目?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 AWS 胶水访问 VPC 中的 aws 资源?

sh 使用本地IP地址刷新AWS VPC安全组的脚本

如何使用 mySQL 工作台连接到 AWS 私有子网 VPC 中的 RDS

无法从 ec2 实例访问我的路由 53 私有托管区域

如何从账户 A 中的 Lambda(VPC 中的 Lambda)调用账户 B 中的 AWS Lambda 函数(VPC 中的这个 Lambda)

如何将 VPC 和安全组分配给 AWS CDK 中的 Lambda?