Pourquoi mes identifications au niveau de la pile ne se propagent-elles pas aux ressources de ma pile CloudFormation ?

Lecture de 3 minute(s)
0

Mes identifications au niveau de la pile ne se propagent pas aux ressources de ma pile AWS CloudFormation.

Résolution

La propagation des identifications au niveau de la pile aux ressources peut varier d'une ressource à une autre. CloudFormation propage les identifications au niveau de la pile uniquement pour les ressources dotées de la propriété Identifications. Pour obtenir la liste des ressources AWS et de leurs types de propriétés, consultez la section Référence des types de ressources et de propriétés AWS.

La ressource prend en charge la propriété Identifications

Si votre ressource prend en charge la propriété Identifications, votre pile CloudFormation affiche les identifications au niveau de la pile avec le préfixe aws:.

Par exemple, la ressource Amazon Simple Storage Service (Amazon S3) AWS::S3::Bucket prend en charge la propriété Identifications. Créez une pile avec la ressource AWS::S3::Bucket, puis spécifiez des identifications au niveau de la pile. Une fois que vous avez créé la pile, la ressource de compartiment S3 contient les identifications au niveau de la pile propagées.

La ressource ne prend pas en charge la propriété Identifications

Si votre ressource ne prend pas en charge la propriété Identifications, cela signifie que votre pile CloudFormation ne possède pas les balises au niveau de la pile.

Par exemple, l'API PutRule vous permet de spécifier des identifications, mais la ressource AWS::Events::Rule ne prend pas en charge la propriété Identifications. Créez une pile avec la ressource AWS::Events::Rule, puis spécifiez des identifications au niveau de la pile. Une fois la pile créée, la ressource Règle d’événements ne possède pas les identifications au niveau de la pile propagées.

Toutefois, si l'API de ressources prend en charge l'ajout d’identifications après la création de la ressource, vous pouvez utiliser une ressource personnalisée CloudFormation pour appliquer les identifications. Pour implémenter cette solution, créez d'abord une fonction AWS Lambda. Puis, utilisez les kits SDK AWS pour écrire du code personnalisé qui applique les identifications à votre ressource. Utilisez le module cfn-response pour permettre à la fonction Lambda de servir de ressource personnalisée basée sur Lambda. Enfin, dans le modèle CloudFormation, utilisez un attribut DependsOn pour vous assurer que la ressource initiale est créée avant que la pile ne crée la ressource personnalisée.

Par exemple, une fois que CloudFormation a créé la ressource AWS::Events::Rule, la ressource personnalisée définie dans le modèle crée puis invoque la ressource personnalisée basée sur Lambda. La fonction Lambda utilise l'API TagResource pour appliquer des identifications personnalisées à la ressource existante. Puis, la fonction Lambda signale la réussite à la pile CloudFormation.

Rechercher ou créer un problème via GitHub

Si une identification au niveau de la pile ne se propage pas pour une ressource qui prend en charge la propriété Identifications, vérifiez s'il s'agit d'un problème connu. Pour obtenir une liste des problèmes connus, consultez la page cloudformation-coverage-roadmap sur le site web de GitHub. Si le problème n'est pas soumis en tant que problème, pour créer un problème, sélectionnez Nouveau problème.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 mois