使用 CloudFormation 私有注册表中的模块
本主题介绍如何在 CloudFormation 模板中使用模块。将模块视为可以添加到模板中的预制资源包。
要使用模块,步骤如下:
-
注册模块:您在 CloudFormation 注册表中将模块注册为私有扩展。请确保模块已在您工作的 AWS 账户和区域注册。有关更多信息,请参阅 CoudFormation 注册表概念。
-
将其包含在模板中:将模块添加到 CloudFormation 模板的 CloudFormation 模板的 Resources 部分语法参考 部分,就像处理其他资源一样。您还需要提供模块所需的所有属性。
-
创建或更新堆栈:当您启动堆栈操作时,CloudFormation 会生成一个已处理的模板,该模板将所有包含的模块解析为适当的资源。
-
预览更改:在进行更改之前,您可以使用更改集来查看将添加或更改哪些资源。有关更多信息,请参阅 使用更改集更新 CloudFormation 堆栈。
参阅以下示例:您有一个包含资源和模块的模板。模板包含一个单独的资源 ResourceA
和一个模块 ModuleParent
。该模块包含两个资源(ResourceB
和 ResourceC
)以及一个嵌套模块 ModuleChild
。ModuleChild
包含单个资源 ResourceD
。如果您使用此模板创建堆栈,CloudFormation 会处理模板并将模块解析为适当的资源。生成的堆栈有四个资源:ResourceA
、ResourceB
、ResourceC
和 ResourceD
。
CloudFormation 会跟踪堆栈中的哪些资源是从模块创建而成的。您可以在给定堆栈的 Events(事件)、Resources(资源)和 Drifts(偏差)选项卡上查看此信息,更改集预览中也包含此信息。
模块与模板中的资源可以区别开来,因为它们遵循以下四部分命名约定,而不是资源所用的典型的三部分命名约定:
organization
::service
::use-case
::MODULE