Comment résoudre l'erreur « Status Code: 400; Error Code: xxx » (Code d'état : 400 ; Code d'erreur : xxx) lorsque j'utilise CloudFormation pour ElastiCache ?

Dernière mise à jour : 20/06/2022

Lorsque j'invoque ma pile AWS CloudFormation ou que j'utilise l'appel d'API AWS pour Amazon ElastiCache, la requête échoue et je reçois l'erreur suivante :

« Status Code: 400; Error Code: xxx » (Code d'état : 400 ; Code d'erreur : xxx)

Comment puis-je résoudre ce problème ?

Brève description

Lorsque vous lancez une demande d'API AWS directement ou à l'aide d'une pile CloudFormation, AWS effectue des contrôles syntaxiques initiaux. Ces contrôles vérifient que la demande est complète et possède tous les paramètres obligatoires. Voici les raisons courantes pour lesquelles l'erreur 400 se produit lorsque vous envoyez une demande d'API pour Amazon ElastiCache :

  • Votre demande est refusée en raison de la limitation des demandes d'API.
  • AWS ne dispose pas d'une capacité disponible suffisante pour répondre à votre demande.
  • Le nœud de cache n'est pas pris en charge dans la région ou la zone de disponibilité spécifiée dans votre demande.
  • Vous utilisez une combinaison de paramètres non valides.
  • Vous utilisez une valeur non valide ou hors plage pour le paramètre d'entrée.
  • Il manque un paramètre ou une action requis dans l'API.
  • Vous essayez de supprimer une ressource actuellement utilisée par une autre ressource ElastiCache ou un service AWS.

Solution

Identifiez l'erreur d'API ElastiCache Invoke spécifique que avez reçue. Ensuite, suivez les étapes de dépannage répertoriées pour cette erreur.

Remarque : pour obtenir une liste des erreurs possibles et leur description, consultez Erreurs courantes dans la référence d'API ElastiCache Invoke.

Code d'erreur : Throttling

Erreur : « Rate exceeded (Service: AmazonElastiCache; Status Code: 400; Error Code: Throttling; Request ID: xxx) » [Taux dépassé (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : Limitation ; ID de demande : xxx)]

Cette erreur signifie que votre demande a été refusée en raison de la limitation des demandes d'API. Ces limites d'appels d'API au niveau du compte ne sont pas spécifiques à un service.

Remarque : vous ne pouvez pas augmenter ou modifier les limites pour un appel donné. AWS s'assure que les appels d'API ne dépassent pas le taux maximal de demandes d'API autorisé. Cela inclut les appels d'API qui proviennent d'une application, sont un appel à une interface de la ligne de commande ou à la console de gestion AWS.

Évitez cette erreur en utilisant les méthodes suivantes :

  • Essayez d'effectuer un nouvel appel avec un backoff exponentiel et un jitter.
  • Distribuez vos appels d'API uniformément au fil du temps plutôt que de passer plusieurs appels d'API en un court délai.

Code d'erreur : InsufficientCacheClusterCapacity

Erreur : « cache.xxx (VPC) is not currently supported in the availability zone xxx. [cache.xxx (VPC) n'est pas actuellement pris en charge dans la zone de disponibilité xxx.] Retry the launch with no availability zone or target: xxx. (Réessayez le lancement sans zone de disponibilité ni cible : xxx.) (Service: AmazonElastiCache; Status Code: 400; Error Code: InsufficientCacheClusterCapacity; Request ID: xxx) » (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : InsufficientCacheClusterCapacity ; ID de demande : xxx).

Cette erreur indique qu'AWS ne dispose pas actuellement d'une capacité à la demande suffisante pour répondre à votre demande. Pour plus d'informations, consultez Messages d'erreur : InsufficidentCacheClusterCapacity.

Si vous recevez cette erreur, procédez comme suit :

  1. Attendez quelques minutes, puis envoyez à nouveau votre demande. La capacité change fréquemment.
  2. Utilisez un autre type de nœud de cache, puis envoyez à nouveau votre demande.
  3. Utilisez un autre sous-réseau et une autre zone de disponibilité, puis envoyez à nouveau votre demande.

Code d'erreur : SubnetInUse

Erreur : « The subnet ID subnet-xxx is in use (Service: AmazonElastiCache; Status Code: 400; Error Code: SubnetInUse; Request ID: xxx) » [L'ID de sous-réseau subnet-xxx est en cours d'utilisation (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : SubnetInUse ; ID de demande : xxx)].

Cette erreur se produit si vous essayez de supprimer un sous-réseau d'un groupe de sous-réseaux Elasticache auquel sont actuellement associées des instances. Vous devez supprimer toutes les ressources associées du sous-réseau, puis envoyer à nouveau votre demande. Pour plus d'informations, consultez DeleteCacheSubnetGroup.

Code d'erreur : InvalidParameterValue

Cette erreur indique qu'une valeur de paramètre n'est pas valide, n'est pas prise en charge ou ne peut pas être utilisée dans votre demande. Vérifiez chaque paramètre de votre appel de demande. Par exemple, si vous avez utilisé une valeur de paramètre non prise en charge, vous pourriez voir l'un des messages d'erreur suivants :

  • « Invalid AuthToken provided. (AuthToken fourni non valide.) (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue"; Request ID: xxx) » (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : InvalidParameterValue ; ID de demande : xxx).
    Cette erreur indique que le paramètre auth-token ne répond pas aux contraintes lors de l'utilisation d'AUTH avec ElastiCache for Redis. Pour plus d'informations, consultez Authentification des utilisateurs avec la commande Redis AUTH.
  • « The snapshot window and maintenance window must not overlap. (La fenêtre d'instantané et la fenêtre de maintenance ne doivent pas se chevaucher.) (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue; Request ID: xxx) » (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : InvalidParameterValue ; ID de demande : xxx).
    Les fenêtres d'instantanés et les fenêtres de maintenance ne peuvent pas être configurées en même temps. Ajustez la fenêtre d'opération sur une autre période pour éviter cette erreur.
  • « The number of replicas per node group must be within 0 and 5. (Le nombre de réplicas par groupe de nœuds doit être compris entre 0 et 5.) (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterValue; Request ID: xxx) » (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : InvalidParameterValue ; ID de demande : xxx).
    ElastiCache Redis prend en charge un réplica principal et de 0 à 5 réplicas par partition. Si vous ajoutez plus de 5 nœuds de réplica, vous recevez cette erreur. Pour plus d'informations, consultez Comprendre la réplication Redis.

Code d'erreur : InvalidParameterCombination

Cette erreur indique que votre appel de demande contient une combinaison incorrecte de paramètres ou un paramètre manquant. Si cela se produit, vous pouvez voir l'un des messages d'erreur suivants :

  • « Cannot find version 5.0.0 for redis (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: xxx) » [Impossible de trouver la version 5.0.0 pour redis (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : InvalidParameterCombination ; ID de demande : xxx)].
    Cette erreur indique que la version de Redis indiquée dans votre appel de demande n'est pas prise en charge. Pour plus d'informations, consultez ElastiCache pris en charge pour les versions de Redis et ElastiCache pris en charge pour les versions de Memcached.
  • « Cannot restore redis from 6.0.5 to 5.0.6. (Impossible de restaurer Redis de 6.0.5 à 5.0.6.) (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: xxx) ». (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : InvalidParameterCombination ; ID de demande : xxx).
    ElastiCache for Redis ne prend pas en charge les versions rétrogradées du moteur Redis lors de l'utilisation d'une sauvegarde pour créer un nouveau cluster Redis. ElastiCache for Redis ne prend pas non plus en charge la rétrogradation du moteur Redis sur un cluster Redis en cours d'exécution. Lors de la création d'un nouveau cluster Redis en utilisant une sauvegarde, la version du moteur Redis doit être supérieure ou égale à la version actuelle du moteur.
  • « When using automatic failover, there must be at least 2 cache clusters in the replication group. (Lors de l'utilisation du basculement automatique, il doit y avoir au moins 2 clusters de cache dans le groupe de réplication.) (Service: AmazonElastiCache; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: xxx) ». (Service : AmazonElastiCache ; Code d'état : 400 ; Code d'erreur : InvalidParameterCombination ; ID de demande : xxx).
    Vous pouvez activer l'option d'automatic failover (basculement automatique) dans un cluster Redis qui possède au moins un réplica en lecture disponible. Vérifiez que votre groupe de réplication Redis possède plus d'un nœud de réplica, puis envoyez à nouveau votre demande. Pour plus d'informations, consultez Minimiser les temps d'arrêt dans ElastiCache pour Redis avec le déploiement multi-AZ.

Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?