Lorsque j’essaie de mettre à jour une pile AWS CloudFormation, je reçoit un message d'erreur similaire au suivant : « CloudFormation ne peut pas mettre à jour une pile lorsqu'une ressource au nom personnalisé doit être remplacée. Renommez « MYResourceXXX » et remettez à jour la pile ». Comment corriger ce problème ?

Cette erreur se produit typiquement lorsqu'une mise à jour de pile essaie de remplacer les ressources qui ont des propriétés par des noms personnalisés. AWS CloudFormation ne remplace pas une ressource qui a un nom personnalisé à moins que ce nom personnalisé ne soit modifié en un autre nom. Pour éviter une défaillance de la pile et éviter le message d'erreur, changez toutes les ressources avec des noms personnalisés pour utiliser des noms différents avant de mettre à jour une pile.

La résolution de cette erreur suppose ce qui suit :

  • Vous mettez à jour une pile existante et ne créez pas une nouvelle pile.
  • Vous modifiez les noms des ressources personnalisées existantes et ne créez pas de nouvelles ressources personnalisées.

Pour résoudre cette erreur, suivez les étapes suivantes :

1.    Dans un éditeur de code, ouvrez le modèle AWS CloudFormation pour la pile que vous voulez mettre à jour.

2.    Remplacez les noms ou les valeurs des propriétés de ressource qui ont des noms personnalisés par des noms différents.
Remarque : Dans l'exemple suivant, la propriété DBInstanceIdentifier d'une ressource MyRDS est définie sur le nom personnalisé PRODdb. La pile AWS CloudFormation ne peut pas être mise à jour avec succès tant que le nom PRODdb n'est pas modifié en un nom différent, par exemple PRODdb1. Ou, vous pouvez omettre la propriété DBInstanceIdentifier de votre modèle. De cette manière, AWS CloudFormation génère un identifiant physique unique à utiliser pour l'instance de la base de données.

"MyRDS": {
    "Type": "AWS::RDS::DBInstance",
    "Properties": {
        "DBInstanceClass": "db.m3.medium",
        "Engine": "MySQL",
        "DBInstanceIdentifier": "PRODdb",
        "AllocatedStorage": "10",
        "AutoMinorVersionUpgrade": "true",
        "BackupRetentionPeriod": "0",
    …
    …
    }
}

Important : Lorsque vous renommez une ressource personnalisée, AWS CloudFormation remplace cette ressource. Pour plus d'informations, consultez Types de noms.

3.    Sauvegardez les modifications apportées à votre modèle AWS CloudFormation, puis utilisez le modèle pour mettre à jour votre pile.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.

Date de publication : 28/08/2015

Date de mise à jour : 21/01/2019