创建堆栈
要创建堆栈,请运行 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 模板中包含一个设置为 TRUE
的 NoEcho
属性。
使用 NoEcho
属性不会遮蔽在以下各区段中存储的任何信息:
Metadata
模板区段。CloudFormation 不会转换、修改或编辑您在Metadata
区段中包含的任何信息。有关更多信息,请参阅 Metadata。Outputs
模板区段。有关更多信息,请参阅 Outputs。资源定义的
Metadata
属性。有关更多信息,请参阅 Metadata 属性。
强烈建议您不要使用这些机制来包含敏感信息,例如密码。
不是将敏感信息直接嵌入 CloudFormation 模板中,我们建议您使用堆栈模板中的动态参数来引用在 CloudFormation 之外存储和管理的敏感信息,例如 Amazon Systems Manager 参数仓库或 Amazon 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
CloudFormation 返回以下输出:
{ "StackId" : "arn:aws:cloudformation:us-west-2: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:12345678912:document/documentName"