创建堆栈
要创建堆栈,请运行 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
部分中包含的任何信息。有关更多信息,请参阅元数据。 -
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"