【发布时间】:2020-09-05 19:59:26
【问题描述】:
使用嵌套堆栈是 AWS CloudFormation 中的 best practice,实际上它们解决了许多问题(代码重用、堆栈限制等)。
更新堆栈时(通过 UpdateStack 或 ChangeSets),可以提供UsePreviousTemplate=True 以指示 CloudFormation 使用堆栈当前存在的任何模板。如果您只想更新一些参数,特别是如果您有一些自动脚本进行更新,这很有用(我们使用我们想要发布的 github 上代码的 SHA 更新参数,而 CloudFormation 会完成其余的us -- 构建和部署,所以一旦我们准备好部署代码,我们就从 lambda 更新这个参数);在这种情况下,您要确保您所做的只是更新由参数控制的内容,而不是意外提供新(或旧)模板。
似乎没有文档说明如果在涉及嵌套堆栈时提供此参数会发生什么,似乎也没有任何地方可以在这方面指定任何有用的东西。 definition of the nested stack 中似乎也没有什么用处:
Type: AWS::CloudFormation::Stack
Properties:
NotificationARNs:
- String
Parameters:
Key : Value
Tags:
- Tag
TemplateURL: String
TimeoutInMinutes: Integer
因此提出以下问题:
- 使用
UsePreviousTemplate=True在具有嵌套堆栈的堆栈上进行更新时会出现什么行为? - 是否可以使用
UsePreviousTemplate=True之类的东西进行堆栈更新,不仅适用于父堆栈,也适用于嵌套堆栈?
【问题讨论】:
标签: amazon-cloudformation nested-stack