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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建堆栈

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

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

注意

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

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

重要

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

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

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

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

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

重要

不是将敏感信息直接嵌入 AWS CloudFormation 模板中,而是使用堆栈模板中的动态参数来引用在 CloudFormation 之外存储和管理的敏感信息,例如 AWS Systems Manager 参数仓库或 AWS Secrets Manager 中的信息。

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

以下示例在 Amazon S3 存储桶中创建 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 \ { "StackId" : "arn:aws:cloudformation:us-west-2:123456789012:stack/myteststack/330b0120-1771-11e4-af37-50ba1b98bea6" }

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

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