스택 수준 태그가 내 AWS CloudFormation 스택의 리소스에 전파되지 않습니다.
해결 방법
스택 수준 태그를 리소스에 전파하는 방식은 리소스마다 다를 수 있습니다. CloudFormation은 Tags 속성이 있는 리소스에 대해서만 스택 수준 태그를 전파합니다. AWS 리소스와 해당 속성 유형의 목록은 AWS 리소스 및 속성 유형 참조를 참조하십시오.
Tags 속성을 지원하는 리소스
리소스가 Tags 속성을 지원하는 경우 CloudFormation 스택에는 aws: 접두사가 포함된 스택 수준 태그가 있습니다.
예를 들어, Amazon Simple Storage Service(Amazon S3) AWS::S3::Bucket 리소스는 Tags 속성을 지원합니다. AWS::S3::Bucket 리소스로 스택을 생성한 다음 스택 수준 태그를 지정합니다. 스택을 생성하면 S3 버킷 리소스에 전파된 스택 수준 태그가 있습니다.
Tags 속성을 지원하지 않는 리소스
리소스가 Tags 속성을 지원하지 않는 경우 CloudFormation 스택에는 스택 수준 태그가 없습니다.
예를 들어 PutRule API를 사용하면 태그를 지정할 수 있지만 Amazon EventBridge AWS::Events::Rule 리소스는 Tags 속성을 지원하지 않습니다. AWS::Events::Rule 리소스로 스택을 생성한 다음 스택 수준 태그를 지정합니다. 스택을 생성하면 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 웹사이트의 cloudformation-coverage-roadmap을 참조하십시오. 문제로 제출되지 않은 문제를 생성하려면 새 문제를 선택합니다.