Ce document explique comment basculer manuellement une instance principale ou secondaire dans sa région vers son nœud de secours.
Voici quelques cas d'utilisation courants pour déclencher un basculement manuel :
- Rééquilibrage des zones : échange des nœuds vers leurs zones préférées après qu'un basculement automatique a déplacé le nœud actif vers la zone de secours.
- Dépannage : basculer vers le nœud de secours si le nœud actif rencontre des problèmes de performances qui ne déclenchent pas de basculement automatique.
- Maintenance contrôlée : vous initiez manuellement le basculement avant un intervalle de maintenance pour contrôler le moment où la brève interruption de connexion se produit.
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 assurer une haute disponibilité (HA), 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 :
Met le nœud principal hors connexion.
Transforme 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 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 indisponibilité 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 haute disponibilité 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
- Accédez à la page Clusters.
Dans la colonne Nom de la ressource, cliquez sur le nom d'un cluster.
Dans la section Instances dans votre cluster, ouvrez le menu d'actions de l'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_IDRemplacez les éléments suivants :
INSTANCE_ID: ID de l'instanceREGION_ID: région dans laquelle l'instance est placée.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 :
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 é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, 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 Présentation, accédez à la section Instances dans votre cluster, sélectionnez l'instance secondaire, puis cliquez sur Basculer.
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 la gcloud CLI, vous pouvez installer et initialiser la 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_IDRemplacez 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 exempleus-central1.PROJECT_ID: ID du projet du cluster secondaire.