【问题标题】:AWS CloudFormation: How to handle manually-deleted resourcesAWS CloudFormation:如何处理手动删除的资源
【发布时间】:2021-11-15 05:35:15
【问题描述】:

我是 AWS 的新手,所以有几个使用 CloudFormation 服务创建 AWS VPC 的问题。

1.场景: 我已经创建了 yaml 文件并在堆栈中执行了它。 VPC、路由表和所有子网创建成功。现在我已经手动删除了一个子网(通过控制台)。现在我想要那个子网,所以我试图使用“当前模板”运行“更新”堆栈(尽管我没有在模板中进行任何修改)。它告诉我模板错误中没有修改。

问题一:如何在不修改的情况下通过模板栈安装被删除的资源。

2。场景: 当我们创建 VPC 时,我们会创建默认路由表和 NACL。

问题2:为什么我们不能通过cloudformation使用默认路由表和NACL。

问题 3: 是否有任何命令可以从其中获取 cloudformation 中的默认路由表和 NACL ID。 (例如:有一个命令我们可以将子网关联到路由表。类似的东西)。

提前致谢。

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation amazon-vpc amazon-acl aws-route-table


    【解决方案1】:

    当东西在 cloudformations 状态之外发生变化时,确实会很棘手。与其他一些 IaC 工具不同,当资源偏离给定状态时,它不会“纠正”资源状态。

    1. 从模板中移除子网资源,使用移除的资源更新堆栈,重新添加子网并再次更新堆栈。
    2. 实际上最好的做法是创建新的路由表和 NACL 并将它们与相应的子网相关联,因此实际上不需要修改默认资源。
    3. 您可以创建 cloudformation 自定义资源来查询 id 并将它们传递给其他资源。但是,由于回答 2,不建议这样做。问问自己:我想在这里实现什么?真的有必要吗?

    【讨论】:

      猜你喜欢
      • 2018-10-25
      • 2020-05-16
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 2019-08-06
      • 1970-01-01
      相关资源
      最近更新 更多