Tester la haute disponibilité d'une instance principale

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 deux zones différentes. Si le nœud actif devient indisponible pour une raison quelconque, AlloyDB le promeut automatiquement en tant que nouveau nœud actif.

Vous pouvez tester cette fonctionnalité de HA automatique à l'aide de l'injection de défaillance pour forcer brusquement le nœud actif de votre instance principale hors connexion. AlloyDB active ensuite la procédure de HA 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 de défaillance 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 une méthode plus rapide 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é 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.

Simuler une interruption avec une injection de panne

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