Al usar AWS re:Post, aceptas las AWS re:Post Términos de uso

¿Por qué mis etiquetas a nivel de pila no se propagan a los recursos en mi pila de CloudFormation?

3 minutos de lectura
0

Mis etiquetas a nivel de pila no se propagan a los recursos en mi pila de AWS CloudFormation.

Resolución

La propagación de etiquetas a nivel de pila a los recursos puede variar según el recurso. CloudFormation solo propaga las etiquetas a nivel de pila para los recursos con la propiedad Tags. Para obtener una lista de los recursos de AWS y sus tipos de propiedades, consulta la Referencia de tipos de recursos y propiedades de AWS.

El recurso admite la propiedad Tags

Si tu recurso admite la propiedad Tags, la pila de CloudFormation tiene las etiquetas a nivel de pila con el prefijo aws:.

Por ejemplo, el recurso AWS::S3::Bucket de Amazon Simple Storage Service (Amazon S3) admite la propiedad Tags. Crea una pila con el recurso AWS::S3::Bucket y, a continuación, especifica las etiquetas a nivel de pila. Después de crear la pila, el recurso de bucket de S3 tiene las etiquetas propagadas a nivel de pila.

El recurso no admite la propiedad Tags

Si tu recurso no admite la propiedad Tags, la pila de CloudFormation no tiene las etiquetas a nivel de pila.

Por ejemplo, la API PutRule te permite especificar etiquetas, pero el recurso AWS::Events::Rule de Amazon EventBridge no admite la propiedad Tags. Crea una pila con el recurso AWS::Events::Rule y, a continuación, especifica las etiquetas a nivel de pila. Después de crear la pila, el recurso de regla de eventos no tiene las etiquetas propagadas a nivel de pila.

Sin embargo, si la API del recurso admite la adición de etiquetas después de la creación del recurso, puedes usar un recurso personalizado de CloudFormation para aplicar las etiquetas. Para implementar esta solución, crea primero una función de AWS Lambda. A continuación, utiliza los AWS SDK para escribir código personalizado que aplique etiquetas a tu recurso. Utiliza el módulo cfn-response para permitir que la función de Lambda sirva como un recurso personalizado respaldado por Lambda. Por último, en la plantilla de CloudFormation, utiliza un atributo DependsOn para asegurarte de que el recurso inicial se cree antes de que la pila cree el recurso personalizado.

Por ejemplo, después de que CloudFormation cree el recurso AWS::Events::Rule, el recurso personalizado definido en la plantilla crea y, a continuación, invoca el recurso personalizado respaldado por Lambda. La función de Lambda usa la API TagResource para aplicar etiquetas personalizadas al recurso existente. A continuación, la función de Lambda indica que la operación de la pila de CloudFormation se ha realizado correctamente.

Búsqueda o creación de un problema a través de GitHub

Si una etiqueta de nivel de pila no se propaga para un recurso que admite la propiedad Tags, comprueba si se trata de un problema conocido. Para obtener una lista de los problemas conocidos, consulta cloudformation-coverage-roadmap en el sitio web de GitHub. Si el problema no se presenta como un problema, para crear un problema, selecciona Nuevo problema.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 meses