AlloyDB pour PostgreSQL propose des types d'instances régionales et zonales. Pour garantir la haute disponibilité, chaque instance principale AlloyDB régionale dispose d'un nœud actif et d'un nœud de secours, situés dans deux zones différentes. Si le nœud actif devient indisponible pour une raison quelconque, AlloyDB promeut automatiquement le nœud de secours pour qu'il devienne le nouveau nœud actif.
Vous pouvez tester cette fonctionnalité de haute disponibilité automatique en utilisant l'injection d'erreurs pour forcer brusquement le nœud actif de votre instance principale à passer hors connexion. AlloyDB active ensuite la procédure de haute disponibilité d'urgence, qui vérifie l'état de l'instance principale, puis réattribue le rôle de nœud actif au nœud de secours.
L'injection d'erreur lance également une opération de longue durée qui remet en ligne l'ancien nœud actif après un bref intervalle. Ce nœud devient le nouveau nœud de secours de l'instance principale.
Pour permuter plus rapidement les rôles actif et de secours des nœuds de votre instance principale, consultez Effectuer un basculement manuel d'une instance principale.
Avant de commencer
- Le projet Google Cloud que vous utilisez doit avoir été activé pour accéder à AlloyDB.
- Vous devez disposer de l'un de ces rôles IAM dans le projet Google Cloud que vous utilisez :
roles/alloydb.admin(rôle IAM prédéfini d'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.
Simuler une interruption avec une injection de pannes
Pour tester la résilience de la haute disponibilité de votre instance principale en arrêtant brusquement son nœud actif, utilisez la commande gcloud alloydb instances
inject-fault.
Une fois l'opération de longue durée terminée, AlloyDB rétablit le nœud.
gcloud alloydb instances inject-fault INSTANCE_ID \
--fault-type=stop-vm \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
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é.