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

创建堆栈

要创建堆栈,请运行 aws cloudformation create-stack 命令。您必须提供堆栈名称、有效模板的位置和所有输入参数。

参数以空格分隔,键名称区分大小写。如果您运行 aws cloudformation create-stack 时错误键入参数键名称,则 Amazon CloudFormation 不会创建堆栈,并报告模板不含该参数。

注意

您可通过手动将模板上传到 Amazon S3 或 Amazon Systems Manager 来使用您自己的桶并管理其权限。之后,当您创建或更新堆栈时,请指定模板文件的 Amazon S3 或 Amazon Systems Manager。

默认情况下,aws cloudformation describe-stacks 将返回参数值。为了防止返回密码等敏感参数值,请在 Amazon CloudFormation 模板中包含一个设置为 TRUENoEcho 属性。

重要

使用 NoEcho 属性不会遮蔽在以下各区段中存储的任何信息:

  • Metadata 模板区段。CloudFormation 不会转换、修改或编辑您在 Metadata 部分中包含的任何信息。有关更多信息,请参阅元数据

  • Outputs 模板区段。有关更多信息,请参阅输出

  • 资源定义的 Metadata 属性。有关更多信息,请参阅Metadata 属性

强烈建议您不要使用这些机制来包含敏感信息,例如密码。

重要

我们建议不要将敏感信息直接嵌入 CloudFormation 模板中,而应使用堆栈模板中的动态参数来引用在 CloudFormation 外部存储和管理的敏感信息,例如 Amazon Systems Manager Parameter Store 或 Amazon Secrets Manager 中的敏感信息。

有关更多信息,请参阅 请勿将凭证嵌入您的模板 最佳实践。

以下示例将创建 myteststack 堆栈:

PROMPT> aws cloudformation create-stack \ --stack-name myteststack \ --template-body file:///home/testuser/mytemplate.json \ --parameters ParameterKey=Parm1,ParameterValue=test1 ParameterKey=Parm2,ParameterValue=test2

CloudFormation 返回以下输出:

{ "StackId" : "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/330b0120-1771-11e4-af37-50ba1b98bea6" }

以下示例在 Amazon Systems Manager 文档中创建 myteststack 堆栈:

PROMPT> aws cloudformation create-stack \ --stack-name myteststack \ --template-url "ssm-doc://arn:aws:ssm:us-east-1:123456789012:document/documentName"