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

How do I flush DNS entries in my VPC in AWS?

我最近将 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 中手动删除条目?

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

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

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

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

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