AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS CloudFormation 项目

AWS CodePipeline 在运行管道时对项目执行任务。对于 AWS CloudFormation,项目可包含一个堆栈模板文件和/或一个模板配置文件。AWS CodePipeline 使用这些项目来处理 AWS CloudFormation 堆栈和更改集。

如果您将 Amazon Simple Storage Service (Amazon S3) 用作源存储库,则必须先将模板和模板配置文件压缩为一个文件,然后再将它们上传到 S3 存储桶。对于其他存储库 (如 GitHub 和 AWS CodeCommit),可上传项目而无需进行压缩。有关更多信息,请参阅 AWS CodePipeline 用户指南 中的在 AWS CodePipeline 中创建管道

您可以将所需数目的文件添加到您的存储库。例如,您可能希望包含同一模板的两个不同配置:一个用于测试配置,另一个用于生产配置。

本主题描述每个项目类型。

堆栈模板文件

堆栈模板文件定义 AWS CloudFormation 预置和配置的资源。这些文件与您在使用 AWS CloudFormation 创建或更新堆栈时使用的模板文件相同。您可以使用 YAML 或 JSON 格式的模板。有关模板的更多信息,请参阅模板剖析

模板配置文件

模板配置文件是 JSON 格式的文本文件,可指定模板参数值、堆栈策略和标签。使用这些配置文件可指定参数值或堆栈的堆栈策略。您指定的所有参数值都必须在关联的模板中进行声明。

如果您在此文件中包含敏感信息 (如密码),请限制对此文件的访问。例如,如果您将项目上传到 S3 存储桶,可使用 S3 存储桶策略或用户策略来限制访问。

要创建配置文件,可使用以下格式:

{ "Parameters" : { "NameOfTemplateParameter" : "ValueOfParameter", ... }, "Tags" : { "TagKey" : "TagValue", ... }, "StackPolicy" : { "Statement" : [ StackPolicyStatement ] } }

以下示例为 KeyName 参数指定 TestEC2Key,并添加一个值为 MarketingDepartment 标签,以及一个允许所有更新操作 (会删除资源的更新操作除外) 的堆栈策略。

{ "Parameters" : { "KeyName" : "TestEC2Key" }, "Tags" : { "Department" : "Marketing" }, "StackPolicy" : { "Statement" : [ { "Effect" : "Allow", "NotAction" : "Update:Delete", "Principal": "*", "Resource" : "*" } ] } }