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

Ara*_*nde 10 amazon-web-services aws-cloudformation

我的用例是我们已经有一个由 AWS Cloudformation 创建的堆栈。

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

我探索了dependsOn,但这有助于我设置资源创建的顺序。它无助于确保删除和创建顺序(或者至少我找不到任何东西)

在进行 cloudform 更新时,如何确保资源删除发生在资源创建之前

Dar*_*kar 2

我明白你想要,

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

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

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

最简单的方法:

  1. 首先部署 CFN 模板来删除资源,即从模板中删除代码,然后添加新资源/修改后的资源。执行此操作时,您需要检查“保留策略”是否到位,因为如果您保留已删除的资源,则 CloudFormation 将不会再次创建相同的资源。
  2. 然后部署 CFN 模板来创建/修改资源

其他方法可能是:

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

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