使用嵌套堆栈
嵌套堆栈是作为其他堆栈的一部分来创建的堆栈。您可以在另一个堆栈中使用 AWS::CloudFormation::Stack
资源创建嵌套堆栈。
随着基础设施的发展,常见模式可合并,以便在多个模板中声明相同的组件。您可以分离这些常见组件并为其创建专用模板。然后使用模板中的资源来引用其他模板,也就是创建嵌套堆栈。
例如,假如您拥有用于大多数堆栈的负载均衡器配置。您可以为负载均衡器创建专用模板,而不是将相同的配置复制并粘贴到您的模板中。然后,您只需使用资源从其他模板中引用该模板。
嵌套堆栈本身可以包含其他嵌套堆栈,构成一个堆栈层次结构,如下图所示。根堆栈是所有嵌套堆栈最终归属的顶级堆栈。此外,每个嵌套堆栈都有一个直属父堆栈。对于第一级的嵌套堆栈而言,根堆栈也是父堆栈。以下图为例:
堆栈 A 是该层次结构中所有其他嵌套堆栈的根堆栈。
对于堆栈 B 来说,堆栈 A 既是父堆栈,也是根堆栈。
对于堆栈 D,堆栈 C 是父堆栈;而对于堆栈 C 来说,堆栈 B 是父堆栈。

某些堆栈操作 (如堆栈更新等) 应从根堆栈启动,而不是直接在嵌套堆栈上执行。此外,在某些情况下,嵌套堆栈会影响堆栈操作的执行。有关更多信息,请参阅以下主题:
查看嵌套堆栈的根堆栈
登录到 Amazon Web Services Management Console 并打开 Amazon CloudFormation 控制台 https://console.aws.amazon.com/cloudformation/
。选择想要设置的堆栈。 嵌套堆栈的堆栈名称旁边显示 NESTED。
在 Overview (概述) 选项卡上,选择作为 Root stack (根堆栈) 列出的堆栈名称。
查看属于根堆栈的嵌套堆栈
登录到 Amazon Web Services Management Console 并打开 Amazon CloudFormation 控制台 https://console.aws.amazon.com/cloudformation/
。选择要查看其嵌套堆栈的根堆栈的名称。 展开资源部分。
查找类型为 AWS::CloudFormation::Stack 的资源。