Comment puis-je supprimer une pile AWS CloudFormation bloquée dans l'état DELETE_FAILED ?

Date de la dernière mise à jour : 05/04/2022

Je souhaite supprimer ma pile AWS CloudFormation, mais ma pile est bloquée dans l'état DELETE_FAILED.

Brève description

Votre pile peut être bloquée avec l'état DELETE_FAILED pour les raisons suivantes :

  • Une ressource de la pile est associée à un objet dépendant ou à d'autres dépendances impossibles à supprimer. Pour résoudre ce problème, suivez les étapes de la section Supprimer une pile associée à un objet dépendant ou à d'autres dépendances impossibles à supprimer.
  • Le rôle de service (fonction du service) utilisé n'est pas valide ou ne peut pas être assumé. Pour résoudre ce problème, suivez les étapes de la section Supprimer une pile associée à un rôle non valide.
  • Une ressource personnalisée n'a pas pu être stabilisée pendant le délai prévu. Pour résoudre ce problème, suivez les étapes de la section Suppression d'une pile associée à une ressource personnalisée dont la stabilisation a échoué.

Résolution

Suppression d'une pile associée à un objet dépendant ou à d'autres dépendances impossibles à supprimer

Les problèmes de dépendance se produisent généralement lorsque vous effectuez un changement hors bande. Par exemple, votre pile échoue si un groupe de sécurité faisant partie de votre pile est connecté à une interface réseau élastique n'en faisant pas partie. La pile échoue car la ressource du groupe de sécurité ne peut pas être supprimée. Pour supprimer la pile, vous devez conserver cette ressource dépendante.

Pour supprimer une pile tout en conservant une ressource, procédez comme suit :

Console AWS CloudFormation

  1. Ouvrez la console AWS CloudFormation.
  2. Sélectionnez la pile dont l'état correspond à DELETE_FAILED.
  3. Sélectionnez Delete (Supprimer).
    Remarque : une fenêtre s'ouvre et répertorie les ressources qui n'ont pas pu être supprimées.
  4. Dans la fenêtre, sélectionnez toutes les ressources que vous souhaitez conserver, puis choisissez Delete stack (Supprimer la pile).

Interface de ligne de commande AWS

Remarque : si vous constatez des erreurs lors de l'exécution des commandes de l'AWS CLI, assurez-vous que vous utilisez bien la dernière version d'AWS CLI.

Exécutez la commande delete-stack suivante :

$ aws cloudformation delete-stack --stack-name my-stack --retain-resources myresource1 myresource2

Remarque : remplacez my-stack par le nom de votre pile. Remplacez myresource1 et myresource2 par les ID logiques des ressources qui n'ont pas pu être supprimées.

La pile CloudFormation tente à nouveau de supprimer la pile, mais ne supprime aucune des ressources que vous avez choisi de conserver. Le statut de votre pile passe à DELETE_COMPLETE.

Important : pour éviter des frais inutiles, vous devez supprimer manuellement les ressources conservées lors de la suppression de la pile.

Supprimer une pile avec un rôle non valide

Si vous essayez de supprimer une pile qui a été créée à l'aide d'un rôle de service (fonction du service) qui n'existe plus, l'erreur suivante s'affiche : « An error occurred (ValidationError) when calling the DeleteStack operation: Role is invalid or cannot be assumed. » (« Une erreur s'est produite (ValidationError) lors de l'appel de l'opération DeleteStack : le rôle … n'est pas valide ou ne peut pas être assumé »)

Pour résoudre cette erreur, procédez comme suit :

  1. Ouvrez la console AWS CloudFormation.
  2. Choisissez la pile que vous souhaitez supprimer pour voir ses détails.
  3. Dans l'onglet Stack info (Informations sur la pile), prenez note du nom du IAM role (Rôle IAM) attribué à la pile.
  4. Créez un rôle AWS Identity and Access Management (IAM) en utilisant le même nom que celui du rôle IAM à l'étape 3.
    Important : lorsque vous créez votre rôle IAM, vérifiez qu'il dispose des autorisations appropriées pour supprimer les ressources de la pile.
  5. Dans la console AWS CloudFormation, essayez à nouveau de supprimer la pile.

Supprimer une pile associée à une ressource personnalisée dont la stabilisation a échoué

Pour supprimer une pile associée à une ressource personnalisée dont la stabilisation a échoué pendant le délai prévu, consultez la section Comment résoudre des problèmes liés à une ressource personnalisée AWS Lambda dont l'état correspond à DELETE_FAILED ou à DELETE_IN_PROGRESS dans AWS CloudFormation ?


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


Avez-vous besoin d'aide pour une question technique ou de facturation ?