使用嵌套堆栈 - Amazon CloudFormation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用嵌套堆栈

嵌套堆栈是作为其他堆栈的一部分来创建的堆栈。您可以在另一个堆栈中使用 AWS::CloudFormation::Stack 资源创建嵌套堆栈。

随着基础设施的发展,常见模式可合并,以便在多个模板中声明相同的组件。您可以分离这些常见组件并为其创建专用模板。然后使用模板中的资源来引用其他模板,也就是创建嵌套堆栈。

例如,假如您拥有用于大多数堆栈的负载均衡器配置。您可以为负载均衡器创建专用模板,而不是将相同的配置复制并粘贴到您的模板中。然后,您只需使用资源从其他模板中引用该模板。

嵌套堆栈本身可以包含其他嵌套堆栈,构成一个堆栈层次结构,如下图所示。根堆栈是所有嵌套堆栈最终归属的顶级堆栈。此外,每个嵌套堆栈都有一个直属父堆栈。对于第一级的嵌套堆栈而言,根堆栈也是父堆栈。以下图为例:

  • 堆栈 A 是该层次结构中所有其他嵌套堆栈的根堆栈。

  • 对于堆栈 B 来说,堆栈 A 既是父堆栈,也是根堆栈。

  • 对于堆栈 D,堆栈 C 是父堆栈;而对于堆栈 C 来说,堆栈 B 是父堆栈。


            作为另一个堆栈的一部分而创建的嵌套堆栈具有一个直属父堆栈,同时也具有顶级根堆栈。

某些堆栈操作 (如堆栈更新等) 应从根堆栈启动,而不是直接在嵌套堆栈上执行。此外,在某些情况下,嵌套堆栈会影响堆栈操作的执行。有关更多信息,请参阅以下主题:

查看嵌套堆栈的根堆栈
  1. 登录到 Amazon Web Services Management Console 并打开 Amazon CloudFormation 控制台 https://console.aws.amazon.com/cloudformation/。选择想要设置的堆栈。

    嵌套堆栈的堆栈名称旁边显示 NESTED

  2. Overview (概述) 选项卡上,选择作为 Root stack (根堆栈) 列出的堆栈名称。

查看属于根堆栈的嵌套堆栈
  1. 登录到 Amazon Web Services Management Console 并打开 Amazon CloudFormation 控制台 https://console.aws.amazon.com/cloudformation/。选择要查看其嵌套堆栈的根堆栈的名称。

  2. 展开资源部分。

    查找类型为 AWS::CloudFormation::Stack 的资源。