Comment supprimer des StackSets de comptes supprimés ou suspendus dans AWS CloudFormation ?

Dernière mise à jour : 22/06/2020

Je souhaite supprimer une instance de pile d'un AWS CloudFormation StackSet, mais la suppression échoue car le compte AWS cible est supprimé ou suspendu.

Brève description

Vous ne pouvez pas supprimer une instance de pile qui fait référence à une pile d'un compte cible supprimé ou suspendu. La suppression échoue et l'instance de pile passe à l'état INOPERABLE. L'opération de suppression échoue, car AWSCloudFormationStackSetAdministrationRole n'est pas en mesure d'assumer le rôle AWSCloudFormationStackSetExecutionRole, qui devient indisponible lorsqu'un compte est supprimé ou suspendu.

Pour supprimer l'instance de pile INOPERABLE, vous devez effectuer une opération DeleteStackInstances et définir RetainStacks sur true. Cette opération découple l'instance de pile du StackSet pour toutes les opérations futures.

Remarque : la solution suivante s'applique uniquement si le PermissionModel du StackSet est défini sur SELF-MANAGED.

Solution

Vous pouvez supprimer l'instance de pile INOPERABLE à l'aide de la console AWS CloudFormation ou de l'interface de ligne de commande AWS (AWS CLI).

Console AWS CloudFormation

1.    Ouvrez la console AWS CloudFormation.

2.    Dans le volet de navigation, sélectionnez StackSets.

3.    Dans la colonne Nom de StackSet sélectionnez l'ensemble de piles qui contient l'instance que vous souhaitez supprimer.

4.    Choisissez Actions, puis Supprimer des piles de StackSets.

5.    Sur la page Définir les options de déploiement, pour Numéros de compte, saisissez le numéro à 12 chiffres du compte AWS qui est suspendu ou supprimé.

6.    Dans la section Spécifier des régions, choisissez la région AWS de votre instance de pile.

7.    Dans la section Options de déploiement, activez Conserver les piles, puis choisissez Suivant.

8.    Sur la page Vérifier, choisissez Soumettre.

AWS CLI

Dans l'interface de ligne de commande AWS, exécutez la commande delete-stack-instances :

$ aws cloudformation delete-stack-instances --stack-set-name awsstacksetname123 --accounts stackinstanceaccount --regions stackinstanceregion --retain-stacks

Remarque : remplacez awsstacksetname123 par le nom de votre StackSet. Remplacez stackinstanceaccount par le numéro du compte AWS supprimé ou suspendu. Remplacez stackinstanceregion par la région où se trouve l'instance de pile.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?