¿Cómo soluciono un error “Status Code: 400; Error Code: xxx” (Código de estado: 400; código de error: xxx) al utilizar CloudFormation para ElastiCache?

Última actualización: 20-06-2022

Al invocar mi pila de AWS CloudFormation o utilizar la llamada a la API de AWS para Amazon ElastiCache, se produce un error en la solicitud y recibo el siguiente error:

“Status Code: 400; Error Code: xxx” (Código de estado: 400; código de error: xxx)

¿Cómo soluciono este error?

Descripción corta

Cuando inicia una solicitud de API de AWS directamente o utiliza una pila de CloudFormation, AWS realiza comprobaciones de sintaxis iniciales. Estas comprobaciones verifican que la solicitud esté completa y que tenga todos los parámetros obligatorios. A continuación, se detallan motivos comunes por los que se produce un error 400 cuando envía una solicitud de API para Amazon ElastiCache:

  • Su solicitud se rechazó debido a la limitación de solicitudes de API.
  • AWS no tiene suficiente capacidad disponible para completar su solicitud.
  • El nodo de caché no es compatible con la región o la zona de disponibilidad especificadas en la solicitud.
  • Usó una combinación de parámetros no válida.
  • Usó un valor no válido o fuera del rango para el parámetro de entrada.
  • Falta un parámetro o una acción obligatorios de la API.
  • Está intentando eliminar un recurso que utiliza actualmente otro recurso de ElastiCache o servicio de AWS.

Resolución

Identifique el error específico de la API de invocación de ElastiCache que recibió. A continuación, siga los pasos de resolución de problemas que se indican para ese error.

Nota: Para obtener una lista de posibles errores y sus descripciones, consulte Errores comunes en la referencia de API de invocación de ElastiCache.

Código de error: Throttling (Limitación)

Error: “Rate exceeded (Service: AmazonElastiCache; Status Code: 400; Error Code: Throttling; Request ID: xxx)” (Tasa superada [Servicio: AmazonElastiCache; Código de estado: 400; Código de error: Limitación; ID de solicitud: xxx])

Este error significa que la solicitud se rechazó debido a la limitación de solicitudes de API. Estos límites de llamadas a API a nivel de cuenta no son específicos de ningún servicio.

Nota: No puede aumentar ni modificar los límites de una llamada en particular. AWS se asegura de que las llamadas a la API no superen la tasa máxima de solicitudes de API permitida. Esto incluye llamadas a la API que provienen de una aplicación, llamadas a una interfaz de línea de comandos o a la consola de administración de AWS.

Evite este error con los siguientes métodos:

  • Intente realizar una nueva llamada con retroceso exponencial y fluctuación.
  • Distribuya sus llamadas a la API de manera uniforme a lo largo del tiempo en lugar de hacer varias llamadas a la API en un periodo breve.

Código de error: InsuficientCacheClusterCapacity

Error: “cache.xxx (VPC) is not currently supported in the availability zone xxx. Vuelva a intentar el lanzamiento sin zona de disponibilidad ni destino: xxx. (Service: AmazonElastiCache; Status Code: 400; Error Code: InsufficientCacheClusterCapacity; Request ID: xxx) [Servicio: AmazonElastiCache; Código de estado: 400; Código de error: InsuficientCacheClusterCapacity; ID de solicitud: xxx].

Este error indica que AWS no tiene actualmente suficiente capacidad bajo demanda disponible para completar su solicitud. Para obtener más información, consulte Mensajes de error: InsuficidentCacheClusterCapacity.

Si recibe este error, haga lo siguiente:

  1. Espere unos minutos y vuelva a enviar la solicitud. La capacidad cambia con frecuencia.
  2. Use otro tipo de nodo de caché y vuelva a enviar la solicitud.
  3. Use otra subred y zona de disponibilidad y, a continuación, vuelva a enviar la solicitud.

Código de error: SubnetInUse

Error: “The subnet ID subnet-xxx is in use (Service: AmazonElastiCache; Status Code: 400; Error Code: SubnetInUse; Request ID: xxx)” (El ID de subred subnet-xxx está en uso [Servicio :AmazonElastiCache; código de estado: 400; código de error: SubnetInUse; ID de solicitud: xxx]).

Este error se produce si intenta eliminar una subred de un grupo de subredes de Elasticache que actualmente tiene instancias asociadas. Debe eliminar todos los recursos relacionados de la subred y, a continuación, volver a enviar la solicitud. Para obtener más información, consulte DeleteCacheSubnetGroup.

Código de error: InvalidParameterValue

Este error indica que el valor de un parámetro no es válido, no se admite o no se puede usar en su solicitud. Compruebe cada parámetro de la solicitud de llamada. Por ejemplo, si ha utilizado un valor de parámetro no compatible, es posible que vea uno de los siguientes mensajes de error:

  • “Invalid AuthToken provided. (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue"; Request ID: xxx)” (Se proporcionó un valor AuthToken no válido) [Servicio: AmazonElastiCache; código de estado: 400; código de error: InvalidParameterValue»; ID de solicitud: xxx].
    Este error indica que la configuración de auth-token no cumple con las restricciones al usar AUTH con ElastiCache para Redis. Para obtener más información, consulte Autenticación de usuarios con el comando AUTH de Redis.
  • “The snapshot window and maintenance window must not overlap. (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue; Request ID: xxx)” (La ventana de la instantánea y la ventana de mantenimiento no deben superponerse. [Servicio: AmazonElastiCache; código de estado: 400; código de error: invalidParameterValue; ID de solicitud: xxx]).
    Las ventanas de instantáneas y las ventanas de mantenimiento no se pueden configurar al mismo tiempo. Ajuste la ventana de operación a otro período para evitar este error.
  • “The number of replicas per node group must be within 0 and 5. (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue; Request ID: xxx)” (El número de réplicas por grupo de nodos debe estar entre 0 y 5. [Servicio: AmazonElastiCache; código de estado: 400; código de error: InvalidParameterValue; ID de solicitud: xxx]).
    ElastiCache Redis admite una réplica principal y de 0 a 5 réplicas por partición. Si agrega más de 5 nodos de réplica, recibirá este error. Para obtener más información, consulte Understanding Redis replication (Descripción de la replicación de Redis).

Código de error: InvalidParameterCombination

Este error indica que la solicitud de llamada contiene una combinación incorrecta de parámetros o que falta un parámetro. Si esto ocurre, es posible que aparezca uno de los siguientes mensajes de error:

  • “Cannot find version 5.0.0 for redis (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: xxx)” (No se encuentra la versión 5.0.0 para Redis [Servicio: AmazonElastiCache; Código de estado: 400; Código de error: InvalidParameterCombination; ID de solicitud: xxx)].
    Este error indica que la versión de Redis indicada en la solicitud de llamada no es compatible. Para obtener más información, consulte Versiones compatibles de ElastiCache para Redis y Versiones compatibles de ElastiCache para Memcached.
  • “Cannot restore redis from 6.0.5 to 5.0.6. (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: xxx)” (No se puede restaurar Redis de la versión 6.0.5 a la versión 5.0.6. [Servicio: AmazonElastiCache; código de estado: 400; código de error: invalidParameterCombination; ID de solicitud: xxx]).
    ElastiCache para Redis no admite versiones del motor Redis anteriores cuando se usa una copia de seguridad para crear un nuevo clúster de Redis. ElastiCache para Redis tampoco admite una versión anterior del motor de Redis en un clúster de Redis en ejecución. Al crear un nuevo clúster de Redis mediante una copia de seguridad, la versión del motor de Redis debe ser la misma del motor actual o superior.
  • “When using automatic failover, there must be at least 2 cache clusters in the replication group. (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: xxx)” (Cuando se use la conmutación por error automática, debe haber al menos dos clústeres de caché en el grupo de replicación. [Servicio: AmazonElastiCache; código de estado: 400; código de error: InvalidParameterCombination; ID de solicitud: xxx]).
    Puede activar la opción de conmutación por error automática en un clúster de Redis que tenga al menos una réplica de lectura disponible. Compruebe que su grupo de replicación de Redis tenga más de un nodo de réplica y, a continuación, vuelva a enviar la solicitud. Para obtener más información, consulte Minimización del tiempo de inactividad en ElastiCache para Redis con Multi-AZ.