Skip to content

スタックレベルのタグが CloudFormation スタックのリソースに伝播されないのはなぜですか?

所要時間1分
0

スタックレベルのタグが AWS CloudFormation スタックのリソースに伝達されません。

解決策

スタックレベルのタグのリソースへの伝達は、リソースによって異なります。CloudFormation は、Tags プロパティを持つリソースに対してのみスタックレベルのタグを伝達します。** **AWS リソースとそのプロパティタイプのリストについては、「AWS リソースとプロパティタイプリファレンス」を参照してください

リソースは Tags プロパティをサポートします。

リソースが ** Tags ** プロパティをサポートしている場合、CloudFormation スタックには aws: プレフィックスが付いたスタックレベルのタグがあります。** **

たとえば、アマゾンシンプルストレージサービス (Amazon S3) AWS:: S3:: Bucket リソースは ** Tags ** プロパティをサポートしています。**AWS:: S3:: Bucket ** リソースを使用してスタックを作成し、スタックレベルのタグを指定します。スタックを作成すると、S3 バケットリソースにはスタックレベルのタグが反映されます。

リソースは Tags プロパティをサポートしていません

リソースが ** Tags ** プロパティをサポートしていない場合、CloudFormation スタックにはスタックレベルのタグがありません。

たとえば、 PutRule API ではタグを指定できますが、Amazon EventBridge AWS:: Events:: Rule リソースはタグプロパティをサポートしていません。** ****AWS:: Events:: Rule ** リソースを使用してスタックを作成し、スタックレベルのタグを指定します。スタックを作成すると、イベントルールリソースには伝播されたスタックレベルのタグがなくなります。

ただし、リソース API がリソース作成後のタグの追加をサポートしている場合は、 CloudFormation カスタムリソースを使用してタグを適用できます。このソリューションを実装するには、まず AWS Lambda 関数を作成します。次に、AWS SDK を使用して、リソースにタグを適用するカスタムコードを記述します。cfn-response モジュールを使用して、Lambda 関数が Lambda ベースのカスタムリソースとして機能できるようにします。最後に、CloudFormation テンプレートで DependsOn 属性を使用して、スタックがカスタムリソースを作成する前に初期リソースが作成されていることを確認します。

たとえば、CloudFormation が AWS:: Events:: Rule リソースを作成すると、テンプレートで定義されたカスタムリソースが Lambda ベースのカスタムリソースを作成して呼び出します。Lambda 関数は TagResource API を使用してカスタムタグを既存のリソースに適用します。次に、Lambda 関数が CloudFormation スタックに成功を通知します。

GitHub で課題を検索または作成する

**Tags ** プロパティをサポートするリソースにスタックレベルのタグが反映されない場合は、これが既知の問題かどうかを確認してください。既知の問題のリストについては、GitHub ウェブサイトの「クラウドフォーメーションカバレッジロードマップ」を参照してください。課題が課題として提出されていない場合、課題を作成するには、「新規課題」を選択します

AWS公式更新しました 10ヶ月前
コメントはありません

関連するコンテンツ