Tester la haute disponibilité d'une instance principale

AlloyDB pour PostgreSQL propose des types d'instances régionales et zonales. Pour assurer une 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 de défaillance pour forcer l'arrêt du nœud actif de votre instance principale. AlloyDB active ensuite la procédure de haute disponibilité d'urgence qui vérifie l'état de l'instance principale, puis réattribue le nœud de secours au rôle de nœud actif.

L'injection de défaillance lance également une opération de longue durée qui remet l'ancien nœud actif en ligne après un bref intervalle. Ce nœud devient le nouveau nœud de secours de l'instance principale.

Pour une méthode plus rapide permettant d'échanger les rôles actif et de secours des nœuds de votre instance principale, consultez Basculer manuellement 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 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.

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'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é.