¿Cómo puedo resolver el error «Parameter validation failed: parameter value 'abc' for parameter name 'ABC' does not exist» en CloudFormation?

5 minutos de lectura
0

Cuando creo o actualizo una pila de AWS CloudFormation, aparece el siguiente error: «Parameter validation failed: parameter value 'abc' for parameter name 'ABC' does not exist». ¿Cómo puedo solucionar este error?

Breve descripción

AWS CloudFormation devuelve el error de validación de parámetros cuando uno de los parámetros que se utilizan en la plantilla de CloudFormation es un tipo de parámetro específico de AWS.

Puede recibir este error cuando utiliza un parámetro específico de AWS:

  • Para pasar un valor que no existe en la cuenta o región de AWS durante la creación de la pila.
  • Como propiedad de un recurso y, a continuación, elimina este valor fuera de banda antes de actualizar el recurso durante la actualización de la pila.
  • Como parámetro en una pila secundaria. El error se produce cuando el valor de la pila secundaria que se pasa de la pila principal no coincide con el tipo de parámetro. El error también se produce cuando el recurso del parámetro no existe en la cuenta de esa región.

Resolución

Nota: Si se muestran errores al ejecutar los comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), asegúrese de utilizar la versión más reciente de AWS CLI.

Crear una pila

1.    Abra la consola de AWS CloudFormation.

2.    En el panel de navegación, elija Pilas.

3.    En la columna Nombre de la pila, seleccione la pila con error.

4.    Seleccione la pestaña Parámetros.

5.    En la columna Clave, busque el parámetro ABC con el valor abc.

6.    Consulte la sección Parámetros de la plantilla que se utiliza para crear la pila y verifique que el recurso abc coincida con el tipo de parámetro específico de AWS.

7.    Verifique que el recurso abc para el parámetro ABC exista en la región o cuenta. Utilice la Consola de administración de AWS o el comando AWS CLI para describir el recurso. Para encontrar el comando correcto para el recurso, consulte la sección Buscar el comando de descripción para el recurso.

Nota: Por ejemplo, si usa el tipo de parámetro AWS::EC2::VPC::Id, compruebe el recurso en la consola de Amazon Virtual Private Cloud (Amazon VPC).

8.    Si ABC es un parámetro de la pila secundaria, debe pasar el valor abc. Elija la opción A o la opción B.

(Opción A) Si hace referencia a otro recurso de la pila principal, verifique que este recurso coincida con el tipo de parámetro específico de AWS que se utiliza en la pila secundaria.

Nota: Por ejemplo, se produce un error en la pila si utiliza el tipo de parámetro AWS::EC2::Subnet::Id (subred) y hace referencia al tipo de recurso AWS::EC2::VPC.

(Opción B) Si el valor abc se pasa directamente de la pila principal, verifique que el recurso abc para el parámetro ABC exista en la región o cuenta. Utilice la Consola de administración de AWS o el comando AWS CLI para describir el recurso. Para encontrar el comando correcto para el recurso, consulte la sección Buscar el comando de descripción para el recurso.

Por ejemplo, considere el siguiente parámetro List en la pila secundaria:

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

El valor del parámetro se pasa desde la pila principal. Por ejemplo:

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

Importante: En el ejemplo anterior, verifique que el valor del identificador del grupo de seguridad que se ha pasado al parámetro SecurityGroup exista en la región o cuenta.

9.    Cree una pila nueva con un valor válido para el parámetro que existe en su región o cuenta y que coincida con el tipo de parámetro específico de AWS.

Actualizar la pila

Cuando se produce un error en una actualización de la pila, CloudFormation revierte los cambios. Esto significa que no puede ver el valor del parámetro que se ha actualizado a través de la consola de AWS CloudFormation.

Debe cambiar el valor del parámetro ABC durante la actualización. Si no cambia el valor, es posible que el recurso con el nombre o PhysicalID de abc se elimine de la cuenta fuera de banda.

1.    Para verificar que el recurso exista, utilice la Consola de administración de AWS o el comando AWS CLI para describir el recurso. Para encontrar el comando correcto para el recurso, consulte la sección Buscar el comando de descripción para el recurso.

2.    Si va a actualizar la pila mediante la actualización del parámetro ABC, siga los pasos 6, 7 y 8 de la sección anterior Crear una pila.

3.    Actualice la pila pasando un valor válido al parámetro ABC.

Buscar el comando de descripción para el recurso

Elija el comando correcto para el recurso:


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año