使用 CloudFormation 私有注册表中的模块 - AWS CloudFormation

使用 CloudFormation 私有注册表中的模块

本主题介绍如何在 CloudFormation 模板中使用模块。将模块视为可以添加到模板中的预制资源包。

要使用模块,步骤如下:

  • 注册模块:您在 CloudFormation 注册表中将模块注册为私有扩展。请确保模块已在您工作的 AWS 账户和区域注册。有关更多信息,请参阅 CoudFormation 注册表概念

  • 将其包含在模板中:将模块添加到 CloudFormation 模板的 CloudFormation 模板的 Resources 部分语法参考 部分,就像处理其他资源一样。您还需要提供模块所需的所有属性。

  • 创建或更新堆栈:当您启动堆栈操作时,CloudFormation 会生成一个已处理的模板,该模板将所有包含的模块解析为适当的资源。

  • 预览更改:在进行更改之前,您可以使用更改集来查看将添加或更改哪些资源。有关更多信息,请参阅 使用更改集更新 CloudFormation 堆栈

参阅以下示例:您有一个包含资源和模块的模板。模板包含一个单独的资源 ResourceA 和一个模块 ModuleParent。该模块包含两个资源(ResourceBResourceC)以及一个嵌套模块 ModuleChildModuleChild 包含单个资源 ResourceD。如果您使用此模板创建堆栈,CloudFormation 会处理模板并将模块解析为适当的资源。生成的堆栈有四个资源:ResourceAResourceBResourceCResourceD

在堆栈操作期间,CloudFormation 会将堆栈模板中包含的两个模块解析为适当的四个资源。

CloudFormation 会跟踪堆栈中的哪些资源是从模块创建而成的。您可以在给定堆栈的 Events(事件)、Resources(资源)和 Drifts(偏差)选项卡上查看此信息,更改集预览中也包含此信息。

模块与模板中的资源可以区别开来,因为它们遵循以下四部分命名约定,而不是资源所用的典型的三部分命名约定:

organization::service::use-case::MODULE