Faire basculer manuellement une instance principale ou secondaire

Ce document explique comment effectuer manuellement un basculement d'une instance principale ou secondaire.

Haute disponibilité sur les instances principale et secondaire

AlloyDB pour PostgreSQL est compatible avec la haute disponibilité sur les instances principales et secondaires.

Haute disponibilité sur les instances principales

Pour garantir la haute disponibilité, chaque instance principale AlloyDB dispose d'un nœud actif et d'un nœud de secours, situés dans des zones différentes. Si le nœud actif devient indisponible, AlloyDB bascule automatiquement l'instance principale vers son nœud de secours, qui devient le nouveau nœud actif.

Vous pouvez à tout moment basculer manuellement votre instance principale vers son nœud de secours, même si le nœud actif fonctionne comme prévu. Lorsque vous lancez un basculement manuel, AlloyDB effectue les opérations suivantes :

  1. Met le nœud principal hors connexion.

  2. Transforme le nœud de secours en nouveau nœud actif.

  3. Réactive le nœud actif précédent en tant que nouveau nœud de secours.

Le basculement manuel inverse les rôles actif et de secours des nœuds de votre instance principale. Vous pouvez déclencher un basculement manuel à tout moment pour que cet échange ait lieu.

Par exemple, imaginez que vous disposez d'une instance principale dont les nœuds actifs et de secours résident respectivement dans les zones us-central1-a et us-central1-b. Une panne dans us-central1-a déclenche un basculement automatique, ce qui entraîne la zone us-central1-b hébergeant le nœud actif. Si vous préférez conserver le nœud actif dans la zone us-central1-a, vous pouvez lancer un basculement manuel pour qu'AlloyDB replace les nœuds de l'instance principale à leur emplacement avant la panne.

Lors des opérations de maintenance, une instance principale à disponibilité élevée et une instance de base subissent généralement un temps d'arrêt minimal de moins d'une seconde. Étant donné que le basculement manuel est une procédure intentionnelle et contrôlée, il n'est pas destiné à simuler des défaillances matérielles ou réseau inattendues. À la place, vous pouvez tester la haute disponibilité de votre instance principale à l'aide de l'injection de défaillance.

Haute disponibilité sur les instances secondaires

AlloyDB offre la haute disponibilité sur les instances secondaires pour la reprise après sinistre et pour réduire les temps d'arrêt lorsqu'une instance secondaire devient indisponible.

Par défaut, la haute disponibilité est configurée sur une instance secondaire.

Une instance secondaire AlloyDB comprend les nœuds suivants :

  • Un nœud secondaire actif qui répond aux requêtes
  • Un nœud secondaire de secours

Les nœuds actifs et de secours sont situés dans deux zones différentes d'une région. Si AlloyDB détecte l'indisponibilité du nœud actif, celui-ci bascule vers le nœud de secours pour agir en tant que nouveau nœud actif. Vos données sont ensuite redirigées vers le nouveau nœud actif. Ce processus est appelé basculement.

Avant de commencer

  • Le projet Google Cloud que vous utilisez doit avoir été activé pour accéder à AlloyDB.
  • Vous devez disposer de l'un des rôles IAM suivants dans le projet Google Cloud que vous utilisez :
    • roles/alloydb.admin (rôle IAM prédéfini "Administrateur AlloyDB")
    • roles/owner (rôle IAM de base "Propriétaire")
    • roles/editor (rôle IAM de base Éditeur)

    Si vous ne disposez d'aucun de ces rôles, contactez l'administrateur de votre organisation pour demander l'accès.

Effectuer un basculement manuel sur une instance principale

Console

  1. Accédez à la page Clusters.

accéder aux clusters

  1. Dans la colonne Nom de la ressource, cliquez sur le nom d'un cluster.

  2. Dans la section Instances de votre cluster, ouvrez le menu des actions de l'instance de votre instance principale.

  3. Cliquez sur Basculement.

  4. Dans la boîte de dialogue qui s'affiche, saisissez l'ID de l'instance.

  5. Cliquez sur Déclencher le basculement.

gcloud

Exécutez la commande gcloud alloydb instances failover :

gcloud alloydb instances failover INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID

Remplacez les éléments suivants :

  • INSTANCE_ID : ID de l'instance
  • REGION_ID : région où se trouve l'instance.
  • CLUSTER_ID : ID du cluster dans lequel l'instance est placée.
  • PROJECT_ID : ID du projet dans lequel le cluster est placé.

Pour vérifier que le basculement a fonctionné, procédez comme suit :

  1. Avant d'effectuer le basculement, notez les zones des nœuds de l'instance principale.

  2. Après avoir exécuté le basculement, notez les nouvelles zones des deux nœuds.

  3. Vérifiez que les zones des nœuds actifs et de secours ont été inversées.

Effectuer un basculement manuel sur une instance secondaire

Le basculement manuel d'une instance secondaire est semblable à la procédure suivie pour basculer manuellement l'instance principale.

Pour basculer manuellement un cluster secondaire :

Console

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. Cliquez sur le nom d'un cluster secondaire dans la colonne Nom de la ressource.

  3. Sur la page Présentation, accédez à la section Instances de votre cluster, sélectionnez l'instance secondaire, puis cliquez sur Basculement.

  4. Dans la boîte de dialogue qui s'affiche, saisissez l'ID de l'instance, puis cliquez sur Déclencher le basculement.

gcloud

Pour utiliser gcloud CLI, vous pouvez installer et initialiser Google Cloud CLI, ou utiliser Cloud Shell.

Utilisez la commande gcloud alloydb instances failover pour forcer une instance secondaire à basculer vers son instance de secours.

 gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID

Remplacez les éléments suivants :

  • SECONDARY_INSTANCE_ID : ID de l'instance secondaire vers laquelle vous souhaitez basculer.
  • SECONDARY_CLUSTER_ID : ID du cluster secondaire auquel l'instance secondaire est associée.
  • REGION_ID : ID de la région de l'instance secondaire, par exemple us-central1.
  • PROJECT_ID : ID du projet du cluster secondaire.

Étapes suivantes