Comment mettre à jour une pile CloudFormation qui échoue à cause d’une ressource que j’ai supprimée manuellement ?

Lecture de 3 minute(s)
0

J’ai supprimé manuellement une ressource créée par l’une de mes piles AWS CloudFormation, et maintenant la pile en question ne se met plus à jour.

Brève description

Si vous supprimez une ressource créée par une pile CloudFormation, celle-ci ne pourra pas se mettre pas à jour et vous obtiendrez un message d’erreur.

Choisissez l’une des solutions suivantes en fonction de votre type de ressource :

  • Mise à jour d’une ressource disposant d’un nom unique
  • Mise à jour d’une ressource disposant d’un ID unique

Résolution

Mise à jour d’une ressource disposant d’un nom unique

Si la ressource supprimée possède un nom unique, vous pouvez la créer manuellement pour mettre à jour votre pile. La nouvelle ressource doit toutefois porter le même nom que la ressource supprimée. Par exemple, vous pouvez influencer la façon dont CloudFormation gère une ressource en modifiant le nom de celle-ci. Cela est dû au fait que les rôles Gestion des identités et des accès AWS (AWS IAM) sont suivis en fonction de leur nom. Si vous supprimez accidentellement un rôle IAM, vous pouvez le recréer manuellement sous le même nom.

Pour mettre à jour un rôle IAM ou toute autre ressource disposant d’un nom unique, procédez comme suit :

  1. Ouvrez la console AWS CloudFormation.
  2. Sélectionnez votre pile, puis choisissez la vue Ressources.
  3. Dans la colonne ID physique, recherchez l’ID physique du rôle IAM que vous souhaitez remplacer par votre nouveau rôle IAM.
    Remarque : l’ID physique correspond au nom de la ressource.
  4. Créez un nouveau rôle IAM, puis attribuez-lui le même ID physique que celui que vous avez trouvé à l’étape 3.
  5. Mettez à jour votre pile.

Remarque : pour en savoir plus, consultez la page Modification d’un modèle de pile.

Mise à jour d’une ressource disposant d’un ID unique

Vous ne pouvez pas recréer manuellement une ressource (par exemple une table de routage) qui dispose d’un ID unique. Vous devez à la place supprimer la ressource, ainsi que toutes les références à cette ressource, de votre modèle CloudFormation.

Remarque : la résolution suivante fonctionne également pour les ressources qui ne prennent pas en charge un nom ou ID unique. Exemple : un jeu d’enregistrements dans une zone hébergée.

Pour permettre à CloudFormation de recréer une table de routage ou toute autre ressource disposant d’un ID unique, procédez comme suit :

  1. Dans votre modèle CloudFormation, supprimez la table de routage et toutes les références à celle-ci.
  2. Mettez à jour la pile.
    Remarque : CloudFormation tentera alors de supprimer la table de routage. Comme la ressource a déjà été supprimée, CloudFormation considèrera la suppression comme réussie.
  3. Ajoutez la table de routage et toutes les ressources ou références supplémentaires dont vous avez besoin dans votre modèle CloudFormation.
  4. Mettez de nouveau à jour votre pile.
    Remarque : CloudFormation recrée la ressource supprimée.

Informations connexes

Résolution des problèmes liés à AWS CloudFormation

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans