如何确保 AWS Cloudformation 更新期间的资源删除/创建顺序



我的使用案例是,我们已经从AWS Cloudformation创建了一个堆栈。

现在我想更新该堆栈,我的要求是我想删除已创建的资源并添加新的修改资源,但我想确保删除发生在创建部件之前。

我探索了依赖关系,但这有助于我设置资源创建的顺序。它无助于确保删除和创建顺序(或者至少我找不到任何内容(

如何确保在执行 cloudformation 更新时在创建资源之前删除资源

我知道你想要,

删除已创建的资源并添加新的修改 资源

以下是我的理解,如果有帮助,请告诉我,

在单个 CloudFormation 部署中删除和创建具有相同资源名称/依赖项的资源是非常关键的。

最简单的方法:

  1. 首先部署 CFN 模板以删除资源,即删除代码 从模板,然后添加新资源/修改的资源。边做边做 您需要检查"保留策略"是否到位,因为如果 您保留已删除的资源比 CloudFormation 不会保留的资源 再次创建相同的资源。
  2. 比部署 CFN 模板来创建/修改资源

其他方法可能是:

  1. 如果要确保在创建新资源之前删除资源, 在单个模板中,您可能需要创建用于删除资源和资源创建的嵌套堆栈
  2. 并添加对删除云形成模板的依赖,即 创建资源模板将取决于删除资源模板。 还有AWS::CloudFormation::WaitCondition,它可以是 在这里使用。

另外,我认为无论如何,如果您尝试在已删除/删除正在进行的资源上创建/修改,您将收到错误

除非将您的操作分为两个步骤,否则没有其他选择:

  1. 您需要使用当前模板更新堆栈,仅更改稍后将修改的资源名称。

  2. 更新堆栈 - 使用您的修改上传新模板 - 但请记住使用以前的值设置资源名称。

最新更新