請求目的でAWSで作成したリソースに会社固有のタグを使用したかったのです。 Elasticbeanstalkインスタンスと他のプロジェクト依存リソースを起動するために、クラウド形成テンプレートを使用しています。 CloudFormationコンソールを使用してスタックを作成すると、ページのパラメーターの後のタグを要求されます。そのスタックのタグを手動で入力する必要があります。しかし、クラウド形成テンプレート自体でこれらのタグ(スタックのタグ)を指定する方法はありますか?そのようにタグは他のリソースに伝播されますか?クラウドの形成は自動的にリソースにスタック名のタグを付けることを知っています。ただし、個別の部門に請求するには、会社固有のタグが必要です。
AWS CloudFormationを起動すると、リクエストされたタグはCloudFormationスタック自体に適用され、(可能な場合は)スタックによって起動されたリソースにも反映されます。
これらのタグは、CreateStack API呼び出しに渡すか、CLIから渡すことができます。
これらのタグはスタック全体に適用され、CloudFormationテンプレートには含まれません。
ただし、CloudFormationテンプレートには、作成中のspecificリソースのタグを含めることができます。たとえば、Amazon EC2インスタンスを起動するときに、タグをテンプレートに含めることができます。
"MyInstance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"SecurityGroups" : [ { "Ref" : "MySecurityGroup" } ],
"AvailabilityZone" : "us-east-1a",
"ImageId" : "AMI-20b65349",
"Volumes" : [
{ "VolumeId" : { "Ref" : "MyEBS" },
"Device" : "/dev/sdk" }
],
"Tags" : [
{
"Key" : "Stage",
"Value" : "QA"
}
]
}
}
テンプレートの構造では、スタックレベルのタグを直接設定することはできません。ただし、AWS :: CloudFormation :: Stackの単一のリソースを持つラッパーテンプレートを作成できます。
そのリソースにスタックレベルのタグを定義できます。
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "WrapperTemplate",
"Resources": {
"WrappedStackWithStackLevelTags": {
"Type" : "AWS::CloudFormation::Stack",
"Properties" : {
"Tags" : [ { "Key" : "Stage", "Value" : "QA" } ],
"TemplateURL" : "your-original-template-s3-url"
}
}
}
}