我的堆疊層級標籤不會傳播到 AWS CloudFormation 堆疊中的資源。
堆疊層級標籤傳輸到資源可能會因資源而異。CloudFormation 僅針對具有標籤屬性的資源傳播堆疊層級標籤。如需 AWS 資源及其屬性類型的清單,請參閱 AWS 資源和屬性類型參考。
如果您的資源支援標籤屬性,則 CloudFormation 堆疊具有 aws: 前綴的堆疊層級標籤。
例如,Amazon Simple Storage Service (Amazon S3) AWS::S3::Bucket資源支援標籤屬性。使用 AWS::S3::Bucket資源建立堆疊,然後指定堆疊層級標籤。建立堆疊後,S3 儲存貯體資源具有傳播的堆疊層級標籤。
如果您的資源不支援標籤 屬性,則您的 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 網站上的cloudformation-coverage-roadmap。如果問題未作為問題提交,則若要建立問題,請選擇新增問題。