Amazon web services AWS云形成模板-为模板中的堆栈提供标记
我们希望使用特定于公司的标签来标记我们在AWS中创建的资源,以便进行计费。我正在使用云形成模板来加速Elasticbeanstalk实例和其他依赖于项目的资源。当我使用CloudFormation控制台创建堆栈时,它会在页面中的参数后询问我标记。我必须手动输入该堆栈的标记。但是,有没有办法在云形成模板本身中指定这些标记(堆栈的标记)?这样标签就可以传播到其他资源了?我知道云结构会自动用堆栈名标记资源。但是我们需要公司特定的标签来为不同的部门计费。启动AWS CloudFormation时,所请求的标签将应用于CloudFormation堆栈本身,并且(在可能的情况下)也将传播到该堆栈启动的资源 这些标记可以传递给CreateStack API调用,也可以从CLI传递:Amazon web services AWS云形成模板-为模板中的堆栈提供标记,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我们希望使用特定于公司的标签来标记我们在AWS中创建的资源,以便进行计费。我正在使用云形成模板来加速Elasticbeanstalk实例和其他依赖于项目的资源。当我使用CloudFormation控制台创建堆栈时,它会在页面中的参数后询问我标记。我必须手动输入该堆栈的标记。但是,有没有办法在云形成模板本身中指定这些标记(堆栈的标记)?这样标签就可以传播到其他资源了?我知道云结构会自动用堆栈名标记资源。但是我们需要公司特定的标签来为不同的部门计费。启动AWS CloudFormation时,所请求
- 见:
“MyInstance”:{
“类型”:“AWS::EC2::实例”,
“财产”:{
“SecurityGroups”:[{“Ref”:“MySecurityGroup”}],
“可用区”:“us-east-1a”,
“ImageId”:“ami-20b65349”,
“卷”:[{
“VolumeId”:{“Ref”:“MyEBS”},
“设备”:“/dev/sdk”
}],
“标签”:[{
“关键”:“阶段”,
“价值”:“质量保证”
}]
}
}
在模板解剖中,不能直接设置堆栈级别标记。但是,您可以创建一个包装器模板,它有一个AWS::CloudFormation::Stack
您可以在该资源上定义堆栈级别标记:
{
“AWSTemplateFormatVersion”:“2010-09-09”,
“说明”:“包装器模板”,
“资源”:{
“WrappedStackWithStackLevelTags”:{
“类型”:“AWS::CloudFormation::Stack”,
“财产”:{
“标记”:[{“键”:“阶段”,“值”:“QA”}],
“TemplateURL”:“your-original-template-s3-url”
}
}
}
}
与@lalyos所说的相反,您不需要为此使用嵌套堆栈,只需提供应用于所有资源的标记作为堆栈级标记即可
无论是在控制台上运行堆栈还是通过CLI,都可以指定这些堆栈级别标记
CLI示例:
aws cloudformation create-stack --stack-name my-stack-name \
--template-body file://path-to-template-file.yaml \
--parameters ParameterKey=param1key,ParameterValue=param1value \
--tags Key=tag1key,Value=tag1value \
Key=tag2key,Value=tag2value \
Key=tag3key,Value=tag3value
。。。通常,使用相同的格式并在标记键值对之间留出空格,根据需要添加尽可能多的标记
见:
谢谢你,约翰。(如果可能)是我需要的提示。cloudformation不支持标记elastic Beanstalk环境,但是您可以手动标记它。我假设如果它支持通过控制台标记,那么它应该能够通过云形成来完成,我错了。在我的经验中,云形成中的标记传播有点不可预测。令人失望的是,文档声称,“所有堆栈级别的标记,包括自动创建的标记,都被传播到AWS CloudFormation支持的资源中。”我甚至不知道这是一个选项。。。这不仅对标记继承非常有用。这就是你在模板中为整个堆栈设置SNS主题的方法吗?真是太有用了!!应该更新标题,包括“云形成堆栈级别标签”惊人!但是你从哪里知道这个用法呢?官方文件说“TemplateURL”属性是必需的。。。可以在不设置templateUrl的情况下使用此选项吗?我不想创建嵌套的stackfeature请求:我使用
aws cloudformation deploy
,这非常有效!唯一的区别是标记是以--tags Key1=Value1 Key2=Value2
格式指定的。看见