Comment résoudre l'erreur READONLY obtenue suite à un basculement dans un cluster Amazon ElastiCache for Redis conçu par mes soins ?

Lecture de 3 minute(s)
0

Je souhaite résoudre l'erreur READONLY obtenue suite à un basculement dans un cluster Amazon ElastiCache for Redis conçu par mes soins.

Brève description

Lorsque le nœud primaire bascule vers les nœuds de réplication dans un cluster ElastiCache conçu par vos soins, le nœud de réplication devient alors le nœud primaire. Il est ainsi possible de répondre aux demandes entrantes. L'erreur READONLY se produit lorsque vous utilisez un point de terminaison de nœud au lieu du point de terminaison primaire du cluster dans votre application. Cette erreur se produit également lorsque la mise en cache DNS de l'application achemine le trafic vers l'ancien nœud primaire.

Résolution

Pour résoudre l'erreur READONLY dans un cluster ElastiCache for Redis conçu par vos soins avec le mode cluster désactivé, procédez comme suit :

Vérifier que le mode cluster est désactivé

Ouvrez la console ElastiCache, puis sélectionnez Clusters Redis. Vérifiez que le Mode cluster est désactivé pour le cluster. Pour en savoir plus, consultez la page Comment corriger les demandes de lecture des clients Redis qui sont redirigées vers le nœud primaire d'une partition plutôt que vers un nœud de réplication dans ElastiCache for Redis ?

Vérifier le point de terminaison

Vérifiez que le point de terminaison primaire est utilisé, plutôt que le point de terminaison du nœud. Pour savoir si les commandes d'écriture sont envoyées au nœud primaire, utilisez l'une des méthodes suivantes :

Utiliser redis-cli

  1. Utilisez redis-cli sur le point de terminaison primaire pour vous connecter au cluster.

  2. Définissez une clé, puis lisez-la.
    Exemple :

    set key1 "hello"
    OK
  3. Vérifiez que la clé a été configurée correctement.
    Exemple :

    get key1
    "hello"

Vérifier la configuration DNS

Pour éviter de rencontrer des problèmes avec la mise en cache DNS, activez la logique de nouvelle tentative dans votre application. Veillez à suivre les instructions relatives à la bibliothèque cliente Redis que vous utilisez.

Vérifier les commandes entrantes

Pour vérifier les commandes entrantes, utilisez la commande MONITOR. Pour en savoir plus, consultez la page MONITOR sur le site Web de Redis. Pour activer la fonction MONITOR, connectez-vous au cluster à l'aide de redis-cli. La commande MONITOR répertorie toutes les commandes entrantes destinées au nœud du cluster.
Remarque : la commande MONITOR est une commande gourmande en ressources qui peut réduire considérablement les performances des nœuds. Il s’agit donc d’une solution de dernier recours.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 8 mois