Basculement manuel

Cette page présente le basculement manuel pour Memorystore pour Redis. Pour savoir comment effectuer un basculement, consultez la page Initier un basculement manuel.

Qu'est-ce qu'un basculement manuel ?

Une instance Memorystore pour Redis de niveau standard utilise un nœud réplica pour sauvegarder le nœud maître. Lorsque le nœud maître n'est plus opérationnel, un basculement normal se produit et le nœud dupliqué est désigné comme nouveau maître. Un basculement manuel est différent d'un basculement normal, car vous l'initialisez vous-même. Pour en savoir plus sur le fonctionnement de la réplication Memorystore pour Redis, consultez la page Haute disponibilité.

Pourquoi initier un basculement manuel ?

L'initiation d'un basculement manuel vous permet de tester la réponse de votre application à un basculement. Ces informations peuvent vous assurer un processus de basculement plus fluide si un basculement inattendu venait à se produire ultérieurement.

Modes optionnels de protection des données

Les deux modes de protection des données disponibles sont les suivants :

  • Mode limited-data-loss (par défaut).
    • Le basculement manuel s'exécute toujours en mode de perte de données limitée, à moins que vous ne changiez le mode.
  • Mode force-data-loss.

Pour changer le mode de protection des données, utilisez l’une des commandes suivantes :

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=force-data-loss

ou

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=limited-data-loss

Fonctionnement des modes de protection des données

Si vous souhaitez tester le comportement de votre application dans un scénario de basculement réel, vous pouvez utiliser le mode force-data-loss, car il représente plus précisément les conditions d'un basculement dans la reprise après sinistre.

Tout basculement de l'instance maître vers l'instance dupliquée peut entraîner une perte de données. Le mode limited-data-loss limite cette perte de données en vérifiant que la différence de synchronisation entre l'instance maître et l'instance dupliquée est inférieure à 30 Mo avant de lancer le basculement.

Le mode force-data-loss ignore cette vérification lors de la synchronisation entre l'instance maître et l'instance dupliquée. Si vous utilisez le mode force-data-loss lorsque la synchronisation de l'instance dupliquée est située à plus de 30 Mo du maître, vous risquez de perdre 30 Mo de données ou plus.

Métrique d'octets en attente de réplication

La métrique d'octets en attente de réplication vous indique le nombre d'octets que l'instance dupliquée doit encore copier avant que l'instance maître ne soit entièrement sauvegardée. Vous pouvez accéder à cette métrique dans Google Cloud Console sur la page des détails de l'instance. Pour afficher la page des détails sur l'instance, cliquez sur l'ID d'instance dans la page Liste des instances du projet.

Vous pouvez également accéder à l'explorateur de métriques de la suite d'opérations Google Cloud pour votre projet et rechercher la métrique redis.googlapis.com/replication/offset_diff.

Quand exécuter un basculement manuel ?

Les basculements manuels utilisant le mode de protection limited-data-loss par défaut ne réussissent que si la métrique bytes attente réplication est inférieure à 30 Mo. Si vous souhaitez exécuter un basculement manuel avec des octets en attente de réplication supérieurs à 30 Mo, utilisez le mode de protection force-data-loss.

Si vous essayez de conserver autant de données que possible, arrêtez temporairement l'écriture de votre application sur l'instance Redis et n'exécutez le basculement manuel que lorsque la métrique d'octets en attente de réplication atteint la valeur la plus basse que vous jugiez acceptable.

Problèmes potentiels pouvant bloquer un basculement manuel

  • L'exécution d'un basculement manuel sur une instance de niveau de base ne fonctionne pas, car les instances de niveau de base n'ont pas d'instances dupliquées.

  • Si votre instance Redis n'est plus opérationnelle, l'opération de basculement manuel est bloquée.

  • Si des opérations incomplètes sont en attente dans votre instance, telles qu'une mise à l'échelle ou une mise à jour, l'opération de basculement manuel est bloquée. Vous devez attendre que votre instance soit à l'état READY pour pouvoir exécuter un basculement manuel.

Connexion à une application client

Lorsque votre nœud maître bascule vers l'instance dupliquée, les connexions existantes à Memorystore pour Redis sont supprimées. Toutefois, lors de la reconnexion, votre application est automatiquement redirigée vers le nouveau nœud maître à l'aide de la même chaîne de connexion ou de la même adresse IP.

Vérifier un basculement manuel

Vous pouvez vérifier la réussite d'une opération de basculement manuel avec Google Cloud Console, la suite d'opérations de Google Cloud ou gcloud.

Validation de Cloud Console

Avant de démarrer un basculement manuel, accédez à la page de la liste des instances de Memorystore pour Redis, puis cliquez sur le nom de votre instance.

Ensuite, sous Propriétés de l'instance, consultez les zones dans lesquelles se trouvent le nœud maître et le nœud dupliqué. Prenez note de ces zones. Consultez à nouveau cette page lorsque vous terminez votre basculement manuel pour confirmer que le nœud maître et le nœud dupliqué ont bien changé de zone.

Validation Cloud Monitoring

Pour afficher les métriques d'une ressource surveillée à l'aide de l'Explorateur de métriques, procédez comme suit :

  1. Dans Google Cloud Console, accédez à Surveillance ou utilisez le bouton suivant :
    Accéder à "Surveillance"
  2. Dans le volet de navigation "Surveillance", cliquez sur  Explorateur de métriques.
  3. Assurez-vous que l'onglet Métrique est sélectionné.
  4. Cliquez dans la zone intitulée Rechercher un type de ressource et une métrique, puis sélectionnez l'élément dans le menu ou saisissez le nom de la ressource et de la métrique. Remplissez les champs de cette zone de texte à l'aide des informations suivantes :
    1. Dans le champ Ressource, sélectionnez ou saisissez Cloud Memorystore Redis.
    2. Dans le champ Métrique, sélectionnez ou saisissez Rôle du nœud.
  5. Utilisez les menus Filtre, Grouper par et Agrégation pour modifier le mode d'affichage des données. Par exemple, vous pouvez grouper les données par libellé de ressource ou de métrique. Pour plus d'informations, consultez la page Sélectionner des métriques – Configuration supplémentaire.

Le graphique Cloud Monitoring représente les nœuds maîtres et les instances dupliquées sur deux lignes. Lorsque la ligne d’un nœud a la valeur zéro sur le graphique, il s’agit du nœud dupliqué. Lorsque la ligne d'un nœud a une valeur de 1 sur le graphique, il s'agit du nœud maître. Le graphique représente un basculement en indiquant comment les lignes sont passées respectivement de un à zéro et de zéro à un.

Validation du gcloud

Avant d'initier un basculement manuel, utilisez la commande suivante pour vérifier la zone dans laquelle se trouve le nœud maître :

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

Votre nœud maître se trouve dans la zone intitulée currentLocationId. Prenez note de cette zone.

Après avoir effectué un basculement manuel, vous pouvez confirmer que votre nœud maître est passé à une nouvelle zone en exécutant à nouveau la commande gcloud redis instances describe et en vérifiant que currentLocationId a modifié les zones.

De plus, le libellé locationId vous indique la zone dans laquelle vous avez initialement provisionné votre nœud maître. Le libellé alternativeLocationId indique la zone dans laquelle le système a initialement provisionné votre nœud réplica. Chaque fois qu'un basculement se produit, le nœud maître et le nœud dupliqué basculent d'une zone à l'autre. Cependant, les zones associées à locationId et alternativeLocationId ne changent pas.