Comment résoudre l'erreur « La validation des paramètres a échoué : la valeur du paramètre 'abc' pour le nom de paramètre 'ABC' n'existe pas » dans CloudFormation ?

Lecture de 5 minute(s)
0

Lorsque je crée ou met à jour ma pile AWS CloudFormation, l'erreur suivante s'affiche : « Échec de la validation du paramètre : la valeur 'abc' du paramètre 'ABC' n'existe pas .» Comment puis-je résoudre cette erreur ?

Brève description

AWS CloudFormation renvoie l'erreur d'échec de la validation des paramètres lorsque l'un des paramètres utilisés dans votre modèle CloudFormation est un type de paramètre spécifique à AWS.

Vous pouvez recevoir cette erreur lorsque vous utilisez un paramètre spécifique à AWS :

  • Pour transmettre une valeur qui n'existe pas dans la région ou le compte AWS lors de la création de la pile.
  • En tant que propriété d'une ressource, puis supprimez cette valeur hors bande avant de mettre à jour la ressource pendant la mise à jour de la pile.
  • En tant que paramètre dans une pile enfant. L'erreur se produit lorsque la valeur de la pile enfant transmise par la pile parent ne correspond pas au type de paramètre. L'erreur se produit également lorsque la ressource du paramètre n'existe pas dans le compte de cette région.

Solution

Remarque : si vous recevez des erreurs lors de l'exécution de commandes de l'interface de la ligne de commande AWS (AWS CLI), assurez-vous d'utiliser la version la plus récente de l'AWS CLI.

Créer une pile

1.    Ouvrez la console AWS CloudFormation.

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

3.    Dans la colonne Nom de la pile, choisissez la pile qui a échoué.

4.    Choisissez l'onglet Paramètres.

5.    Dans la colonne Clé, recherchez le paramètre ABC avec la valeur abc.

6.    Consultez la section Paramètres du modèle utilisé pour créer votre pile pour vérifier que la ressource abc correspond au type de paramètre spécifique à AWS.

7.    Vérifiez que la ressource abc pour le paramètre ABC existe dans la région ou le compte. Utilisez la Console de gestion AWS ou la commande AWS CLI pour décrire la ressource. Pour trouver la bonne commande pour votre ressource, consultez la section Rechercher la commande describe de votre ressource.

Remarque : Par exemple, si vous utilisez le type de paramètre AWS::EC2::VPC::Id, vérifiez la ressource dans la console Amazon Virtual Private Cloud (Amazon VPC).

8.    Si ABC est un paramètre de la pile enfant, vous devez transmettre la valeur abc. Choisissez l'option A ou l'option B.

(Option A) Si vous faites référence à une autre ressource de la pile parent, vérifiez que cette ressource correspond au type de paramètre spécifique à AWS utilisé dans la pile enfant.

Remarque : Par exemple, la pile échoue si vous utilisez le type de paramètre AWS::EC2::Subnet::Id (subnet) (sous-réseau) et que vous vous référez au type de ressource AWS::EC2::VPC.

(Option B) Si la valeur abc passe directement de la pile parent, vérifiez que la ressource abc pour le paramètre ABC existe dans la région ou le compte. Utilisez la Console de gestion AWS ou la commande AWS CLI pour décrire la ressource. Pour trouver la bonne commande pour votre ressource, consultez la section Rechercher la commande describe de votre ressource.

Par exemple, considérez le

paramètre List suivant dans la pile enfant :

"SecurityGroups": {
    "Description": "List of security group IDs for the instances",
    "Type": "List<AWS::EC2::SecurityGroup::Id>"
}

La valeur du paramètre est transmise à partir de la pile parent. Par exemple :

"ChildStack" : {
 "Type" : "AWS::CloudFormation::Stack",
 "Properties" : {
    "Parameters":{
      "KeyPair" : { "Ref": "KeyPair" },
      "ImageID" : { "Ref": "ImageID" },
      "InstanceType" : { "Ref": "InstanceType" },
      "SecurityGroups" : { "Ref": "SecurityGroup" }
    }

Important : Dans l'exemple précédent, vérifiez que la valeur de l'ID de groupe de sécurité transmis au paramètre SecurityGroup existe dans la région ou le compte.

9.    Créez une pile avec une valeur valide pour le paramètre qui existe dans votre région ou compte et qui correspond au type de paramètre spécifique à AWS.

Mettez à jour la pile

Lorsqu'une mise à jour de pile échoue, CloudFormation annule les modifications. Cela signifie que vous ne pouvez pas voir la valeur du paramètre mise à jour via la console AWS CloudFormation.

Vous devez modifier la valeur du paramètre ABC lors de la mise à jour. Si vous ne modifiez pas la valeur, la ressource dont le nom ou l'ID physique est abc peut être supprimée du compte hors bande.

1.    Pour vérifier que la ressource existe, utilisez la Console de gestion AWS ou la commande AWS CLI pour décrire la ressource. Pour trouver la bonne commande pour votre ressource, consultez la section Rechercher la commande describe de votre ressource.

2.    Si vous mettez à jour la pile en mettant à jour le paramètre ABC, suivez les étapes 6, 7 et 8 de la section Créer une pile précédente.

3.    Mettez à jour la pile en passant une valeur valide au paramètre ABC.

Trouver la commande de description pour votre ressource

Choisissez la commande appropriée à votre ressource :

  • Pour AWS::EC2::Image::Id ou List , utilisez la commande pour AWS CLI version 1 ou version 2.
  • Pour WS::EC2::Instance::Id ou List , utilisez la commande pour AWS CLI version 1 ou version 2.
  • Pour AWS::EC2::KeyPair::KeyName, utilisez la commande pour l'interface de ligne de commande AWS version 1 ou version 2.
  • Pour AAWS::EC2::SecurityGroup::GroupName, WS::EC2::SecurityGroup::Id

, List ou List , utilisez la commande pour AWS CLI version 1 ou version 2 .

  • Pour AWS::EC2::Sous-réseau::Id ou List , utilisez la commande pour AWS CLI version 1 ou version 2.
  • Pour AWS::EC2::VPC::Id ou List , utilisez la commande pour AWS CLI version 1 ou version 2.
  • Pour AWS::Route53::HostedZone::Id ou List , utilisez la commande pour AWS CLI version 1 ou version 2.
  • Pour AWS::EC2::AvailabilityZone::Name ou List , utilisez la commande pour AWS CLI version 1 ou version 2.
  • Pour AWS::EC2::Volume::Id ou List , utilisez la commande pour AWS CLI version 1 ou version 2.

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