amazon-web-services - 删除 AWS CloudFormation 堆栈但保留 Route53 记录集

标签 amazon-web-services dns aws-cloudformation amazon-route53

上下文:我使用 CloudFormation 来配置应用程序资源已经有一段时间了,效果很好。不过,我最近将应用程序转移到了不同​​的基础设施 (Kubernetes),为了适应这一更改,我修改了 Route53 DNS 记录以指向新资源,并保留了 CloudFormation 创建的所有 AWS 资源。为了清楚起见,我修改的 DNS 记录是作为 CloudFormation 堆栈的一部分创建的。

问题:我想删除现在未使用的资源,包括 CloudFormation 堆栈本身。但是,这样做要么会删除我非常关心的一条 DNS 记录,要么会因为该 DNS 记录被修改而无法删除,从而回滚整个操作。

问题:有谁知道一种巧妙的方法,可以删除 CloudFormation 堆栈,同时仍保留其创建的 Route53 条目,且停机时间为零?

注意:我不想手动删除 CloudFormation 创建的资源(DNS 记录除外),并让堆栈悬而未决。

最佳答案

我最近需要保留使用 CloudFormation 创建的 Route53 记录。我根据 @jarmod 响应进行了以下练习,效果非常好。这里的关键是:"DeletionPolicy": "Retain" 有关 DeletionPolicy attribute 的更多信息。我还会注意到,当我应用更改集来更改删除策略时,CloudFormation 没有检测到 Route53 条目中的任何偏差。成功!

  1. 创建基本的 CloudFormation 堆栈;负载均衡器、ASG 和指向负载均衡器的 Route53 记录
  2. 使用 Route53 控制台将 Route53 条目更改为指向另一个位置
  3. 通过更改集将"DeletionPolicy": "Retain"应用到我的 Route53 资源 block
  4. 从 AWS 控制台删除 CloudFormation 堆栈
  5. 确认堆栈删除后 Route53 仍然包含您的条目

Image of CloudFormation Skipping Delete

关于amazon-web-services - 删除 AWS CloudFormation 堆栈但保留 Route53 记录集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46434186/

相关文章:

amazon-web-services - AWS - 在现有 VPC 中创建公有子网

amazon-web-services - 为什么 AWS 提供商的 OpenShift 安装程序无法连接到 Kubernetes API?

kubernetes - GKE 上的 Clean Ambassador Edge Stack 安装因 DNS 解析失败

javascript - 如何仅使用javascript获取域名?

Android Retrofit/OkHttp 以编程方式使用 `8.8.8.8` 进行 DNS 查找?

amazon-web-services - LaunchConfiguration 和 cfn-hup 可以一起玩吗?

yaml - 资源 SecretsManager 的资源属性 MySecretA 无效,如何在 yml 中创建多个 secret ?

php - 如何在 AWS Elastic Beanstalk 上执行 Laravel Artisan 迁移?

amazon-web-services - aws amplify 可以与 NextJS 配合使用吗?

amazon-web-services - 上传到 S3 后触发 SWF 工作流