Empêcher les StackSets déploiements échoués à l'aide des portes de compte cible - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Empêcher les StackSets déploiements échoués à l'aide des portes de compte cible

Une porte de compte est une fonctionnalité optionnelle qui vous permet de vérifier qu'un compte cible répond à certaines exigences avant de CloudFormation commencer StackSets les opérations sur ce compte. Cette vérification est effectuée par le biais d'une AWS Lambda fonction qui fait office de vérification préalable.

Un exemple courant de portail de compte consiste à vérifier qu'aucune CloudWatch alarme n'est active ou non résolue sur le compte cible. CloudFormation invoque la fonction Lambda chaque fois que vous lancez des opérations de stack dans le compte cible, et ne continue que si la fonction renvoie SUCCEEDED un code. Si la fonction Lambda renvoie un statut deFAILED, CloudFormation elle ne poursuit pas l'opération demandée. Si aucune fonction Lambda de blocage de compte n'est configurée CloudFormation , ignore la vérification et poursuit l'opération.

Si votre compte de destination échoue à une vérification du portail de compte, l'opération qui a échoué est prise en compte dans le nombre ou le pourcentage de piles spécifié dans la tolérance aux pannes. Pour plus d'informations sur la tolérance aux pannes, consultez StackSet options de fonctionnement.

Le blocage des comptes n'est disponible que pour les StackSets opérations. Cette fonctionnalité n'est pas disponible pour d'autres CloudFormation opérations en dehors de StackSets.

Prérequis

Les conditions suivantes doivent être remplies pour le blocage des comptes :

  • Votre fonction Lambda doit être nommée AWSCloudFormationStackSetAccountGate pour utiliser cette fonctionnalité.

  • Ils AWSCloudFormationStackSetExecutionRoledoivent avoir les autorisations nécessaires pour appeler votre fonction Lambda. Sans ces autorisations, il CloudFormation ignorera la vérification du compte et procédera aux opérations de stack.

  • Pour que la consignation de compte fonctionne, l'autorisation Lambda InvokeFunction doit être ajoutée aux comptes de destination. La politique d'approbation du compte de destination doit avoir une relation d'approbation avec le compte d'administrateur. Voici un exemple de déclaration de politique qui accorde des autorisations Lambda InvokeFunction.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "*" } ] }

CloudFormation modèles pour créer des fonctions Lambda

Utilisez les exemples de modèles suivants pour créer des fonctions LambdaAWSCloudFormationStackSetAccountGate. Pour créer une nouvelle pile à l'aide de l'un de ces modèles, consultezCréation d'une pile à partir de la CloudFormation console.

Emplacement du modèle

Description

https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateSucceeded.yml

Crée une pile qui implémente une fonction de consignation de compte Lambda qui renvoie le statut SUCCEEDED.

https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateFailed.yml

Crée une pile qui implémente une fonction de consignation de compte Lambda qui renvoie le statut FAILED.