模板概述 - AWS CloudFormation

模板概述

AWS CloudFormation 模板定义了您要在堆栈中创建、更新或删除的 AWS 资源。模板由多个部分组成,但唯一必须具备的是 Resources 部分,其中必须至少声明一种资源。

  • 有关包含所有可用部分的完整模板结构,请参阅模板格式

  • 有关每个部分的详细信息,请参阅模板部分

模板文件遵循使用 JavaScript 对象表示法(JSON)或 YAML 标准的特定格式规则。JSON 更为冗长和僵化,而 YAML 的可读性和灵活性更好。有关更多信息,请参阅 模板格式

模板的存储位置

Amazon S3 存储桶

您可以将 CloudFormation 模板存储在 Amazon S3 存储桶中。创建或更新堆栈时,您可以指定模板的 S3 URL,而不是直接上传模板。

如果您通过 AWS Management Console 或 AWS CLI 直接上传模板,系统将自动为您创建一个 S3 存储桶。有关更多信息,请参阅 通过 CloudFormation 控制台创建堆栈

Git 存储库

使用 Git sync,您可以将模板存储在 Git 存储库中。创建或更新堆栈时,您可以指定 Git 存储库位置和包含模板的分支,而不是直接上传模板或引用 S3 URL。CloudFormation 会自动监控指定的存储库和分支以查找模板更改。

验证模板

语法验证

您可以使用 validate-template CLI 命令或通过在控制台上指定模板来验证模板的 JSON 或 YAML 语法。控制台会自动执行验证。但这些方法仅会验证模板的语法,而不会验证您为资源指定的属性值。

其他验证工具

要进行更复杂的验证和最佳实践检查,您可以使用其他工具,例如:

开始使用模板

要开始创建 CloudFormation 模板,请遵循以下步骤:

  1. 选择资源 – 确定要包含在堆栈中的 AWS 资源,例如 EC2 实例、VPC、安全组等。

  2. 编写模板 – 以 JSON 或 YAML 格式编写模板,定义资源及其属性。

  3. 验证模板 – 使用 验证模板 部分中描述的方法验证模板。

  4. 创建堆栈 – 使用验证后的模板创建堆栈。

其他 资源

  • AWS 资源和属性类型参考 提供了用于声明不同资源类型的语法。

  • 固有功能参考 记载了可用于执行各种任务(例如连接字符串或引用模板中的其他资源)的函数。常用的内置函数包括:

    • Ref – 检索资源的参数值或物理 ID。

    • Sub – 用实际值替换字符串中的占位符。

    • GetAtt – 返回模板中的资源的属性值。

    • Join – 将一组值连接成单个字符串。

  • 资源属性引用 记载了可使用的特殊属性,包括:

    • DependsOn – 此属性用于指定必须在一个资源创建之后才能创建另一个资源。

    • DeletionPolicy – 此属性用于指定 CloudFormation 如何处理资源删除的方式。

    • Metadata – 此属性用于指定资源的结构化数据。