Configurer la haute disponibilité

L'objectif d'une configuration à haute disponibilité est de réduire les temps d'arrêt lorsqu'une instance de cluster de base de données devient indisponible. Cela peut se produire lorsqu'une instance manque de mémoire. Avec la haute disponibilité, vos données restent disponibles pour les applications clientes.

Au sein d'un site, la configuration se compose d'une instance principale et d'un réplica de secours. Toutes les écritures effectuées sur l'instance principale sont répliquées sur la réplique de secours avant qu'une transaction ne soit signalée comme validée. En cas de défaillance d'une instance, vous pouvez demander à ce que l'instance répliquée de secours devienne la nouvelle instance principale. Le trafic des applications est ensuite réacheminé vers la nouvelle instance principale. Ce processus est appelé basculement.

Vous pouvez déclencher manuellement un basculement à tout moment. Le basculement implique le processus suivant, dans l'ordre :

  1. GDC met l'instance principale hors connexion.

  2. GDC transforme le réplica de secours en nouveau cluster de base de données actif.

  3. GDC supprime le cluster de base de données actif précédent.

  4. GDC crée une réplique de secours.

Pour les clusters de bases de données AlloyDB Omni et PostgreSQL, vous pouvez activer ou désactiver la haute disponibilité dans la même zone.

Mettre à jour un cluster existant

Vous pouvez modifier les paramètres de haute disponibilité d'un cluster de bases de données existant :

Console

  1. Dans le menu de navigation, sélectionnez Service de base de données.

  2. Dans la liste des clusters de bases de données, cliquez sur celui que vous souhaitez mettre à jour.

  3. Sélectionnez Modifier Modifier dans la section Haute disponibilité.

    Modifiez les paramètres de haute disponibilité d'un cluster de bases de données.

  4. Sélectionnez Activer le standby dans la même zone pour activer ou désactiver la disponibilité d'une instance de secours dans la même zone que votre cluster de bases de données principal.

  5. Cliquez sur Enregistrer.

  6. Vérifiez que votre cluster de bases de données reflète votre mise à jour de haute disponibilité en consultant son état dans la colonne Haute disponibilité de la liste des clusters de bases de données.

gdcloud

  1. Mettez à jour la configuration de haute disponibilité de votre cluster de bases de données :

    gdcloud database clusters update CLUSTER_NAME \
        --availability-type HA_TYPE
    

    Remplacez les éléments suivants :

    • CLUSTER_NAME : nom du cluster de base de données.
    • HA_TYPE : niveau de haute disponibilité du cluster de bases de données. Vous pouvez définir zonal ou zonal_ha. La valeur zonal est définie par défaut.
  2. Vérifiez que votre cluster de bases de données reflète votre mise à jour de haute disponibilité :

    gdcloud database clusters list
    

API

  1. Mettez à jour la configuration de haute disponibilité de votre cluster de bases de données :

      kubectl patch dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \
        -n USER_PROJECT \
        -p '{"spec": {"availability": {"enableHighAvailability": HA_ENABLED}}}' \
        --type=merge
    

    Remplacez les variables suivantes :

    • DBENGINE_NAME : nom du moteur de base de données. Il s'agit de l'une des valeurs suivantes : alloydbomni, postgresql ou oracle.
    • DBCLUSTER_NAME : nom du cluster de base de données.
    • USER_PROJECT : nom du projet utilisateur dans lequel le cluster de bases de données a été créé.
    • HA_ENABLED : niveau de haute disponibilité du cluster de bases de données. Vous pouvez définir true ou false. La valeur false est définie par défaut.
  2. Vérifiez que votre cluster de bases de données reflète votre mise à jour de haute disponibilité :

    kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \
      -n USER_PROJECT \
      -o yaml
    

Déclencher un basculement

Si vous avez configuré la haute disponibilité pour votre cluster de bases de données, vous pouvez déclencher un basculement. Pour déclencher un basculement, procédez comme suit :

Console

  1. Dans le menu de navigation, sélectionnez Service de base de données.

  2. Dans la liste des clusters de bases de données, cliquez sur le cluster de bases de données pour lequel vous souhaitez déclencher un basculement. Pour qu'un basculement soit possible, la haute disponibilité doit être activée sur votre cluster de bases de données.

  3. Cliquez sur Basculement.

  4. Saisissez l'ID du cluster pour la phrase de confirmation, puis cliquez sur Basculer pour déclencher le processus de basculement.

gdcloud

  • Déclenchez le basculement pour le cluster de base de données :

    gdcloud database clusters failover CLUSTER_NAME
    

    Remplacez CLUSTER_NAME par le nom du cluster de bases de données.

API

  apiVersion: fleet.dbadmin.gdc.goog/v1
  kind: Failover
  metadata:
    name: FAILOVER_NAME
  spec:
    dbclusterRef: DBCLUSTER_NAME

Remplacez les variables suivantes :

  • DBCLUSTER_NAME, nom du cluster de base de données.
  • FAILOVER_NAME, nom unique du basculement, par exemple failover-sample.