Ce document explique comment effectuer manuellement un basculement d'une instance principale ou secondaire.
Haute disponibilité sur les instances principales et secondaires
AlloyDB pour PostgreSQL est compatible avec la haute disponibilité à la fois sur les instances principales et secondaires.
Haute disponibilité sur les instances principales
Pour garantir une haute disponibilité (HA), chaque instance principale AlloyDB dispose d'un nœud actif et d'un nœud de secours, situés dans différentes zones. Si le nœud actif devient indisponible, AlloyDB bascule automatiquement l'instance principale vers son nœud de secours, ce qui en fait le nouveau nœud actif.
Vous pouvez basculer manuellement votre instance principale vers son nœud de secours à tout moment, même si le nœud actif fonctionne comme prévu. Lorsque vous lancez un basculement manuel, AlloyDB procède comme suit:
Met le nœud principal hors connexion.
Convertit le nœud de secours en nouveau nœud actif.
Réactive le nœud actif précédent en tant que nouveau nœud de secours.
Le basculement manuel échange 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 se produise.
Par exemple, imaginons que vous disposiez 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 permet à la zone us-central1-b
d'héberger le nœud actif. Si vous préférez conserver le nœud actif dans la zone us-central1-a
, vous pouvez déclencher un basculement manuel pour que AlloyDB rétablisse les nœuds de l'instance principale à leur emplacement d'avant l'indisponibilité.
Lors des opérations de maintenance, une instance principale haute disponibilité et une instance de base connaissent généralement un temps d'arrêt minimal de moins d'une seconde. Étant donné qu'il s'agit d'une procédure intentionnelle et contrôlée, le basculement manuel 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 fautes.
Haute disponibilité sur les instances secondaires
AlloyDB propose 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:
- 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, le nœud actif bascule vers le nœud de secours pour devenir le nouveau nœud actif. Vos données sont ensuite redirigées vers le nouveau nœud actif. Ce processus est appelé failover.
Avant de commencer
- Le projet Google Cloud que vous utilisez doit avoir été autorisé à 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 "AlloyDB Admin")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
- Accédez à la page Clusters.
Dans la colonne Nom de la ressource, cliquez sur le nom d'un cluster.
Dans la section Instances de votre cluster, ouvrez le menu d'actions d'instance
de votre instance principale.Cliquez sur Basculement.
Dans la boîte de dialogue qui s'affiche, saisissez l'ID de l'instance.
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'instanceREGION_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 bien fonctionné, procédez comme suit:
Avant d'effectuer le basculement, notez les zones des nœuds de l'instance principale.
Après avoir exécuté le basculement, notez les nouvelles zones des deux nœuds.
Vérifiez que les zones des nœuds actifs et de secours ont changé de place.
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, procédez comme suit:
Console
Dans la console Google Cloud , accédez à la page Clusters.
Cliquez sur le nom d'un cluster secondaire dans la colonne Nom de la ressource.
Sur la page Vue d'ensemble, accédez à la section Instances de votre cluster, sélectionnez l'instance secondaire, puis cliquez sur Failover (Basculement).
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 sur 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 effectuer la reprise après sinistre.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.