Modifier le quorum birégional

Cette page explique comment vérifier l'état de santé de votre quorum birégional Spanner et comment modifier manuellement le quorum en cas d'interruption de service.

Pour en savoir plus sur les régions doubles, consultez Configurations d'instances birégionales dans Spanner.

Vérifier l'état du quorum birégional

Vous pouvez vérifier l'état de votre quorum birégional de différentes manières :

Sur la page "Présentation de la base de données"

  1. Accédez à la page Instances Spanner de la console Google Cloud .

    Accéder à la page Instances

  2. Cliquez sur le nom de l'instance qui se trouve dans une configuration birégionale.

  3. Cliquez sur le nom de la base de données.

  4. Sous "Présentation", recherchez la ligne Quorum, qui indique l'état du quorum birégional de votre instance :

    • Si le quorum est atteint dans les deux régions, l'état indique Birégional.

    • Si un basculement manuel ou géré par Google a été effectué, le nom de la région de diffusion s'affiche (par exemple, asia-south1).

Utiliser le tableau de bord des insights système

Une fois que vous avez créé une configuration birégionale, vous pouvez afficher la métrique Chronologie de l'état du quorum birégional dans le tableau de bord "Insights système au niveau de l'instance".

Pour en savoir plus, consultez Afficher le tableau de bord "Insights système".

Utiliser l'API REST Monitoring ou gcloud CLI

Vous pouvez utiliser l'API REST Monitoring ou gcloud CLI pour vérifier l'état de votre quorum birégional.

API REST Monitoring

Utilisez l'API Monitoring projects.timeSeries.list pour interroger la chronologie de l'état du quorum birégional et vérifier si une région est en bon état à un moment donné.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet.
  • DUAL_REGION_LOCATION : emplacement de la région dans la région double que vous souhaitez vérifier.
  • START_TIME : heure de début de la requête. Nous vous recommandons d'utiliser une heure de début cinq minutes avant l'heure actuelle.
  • END_TIME : heure de fin de la requête. Nous vous recommandons d'utiliser l'heure actuelle.

Méthode HTTP et URL :

GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries

Corps JSON de la requête :

{
  "name": "PROJECT_ID",
  "aggregation.alignmentPeriod": "60s",
  "aggregation.crossSeriesReducer": "REDUCE_FRACTION_TRUE",
  "aggregation.groupByFields": "resource.labels.location",
  "aggregation.perSeriesAligner": "ALIGN_NEXT_OLDER",
  "filter": "metric.labels.quorum_availability = "Healthy" AND metric.type = "spanner.googleapis.com/instance/dual_region_quorum_availability" AND resource.labels.location = "DUAL_REGION_LOCATION"",
  "interval.startTime": "START_TIME",
  "interval.endTime": "END_TIME"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "timeSeries": [
    {
      "metric": {
        "type": "spanner.googleapis.com/instance/dual_region_quorum_availability"
      },
      "resource": {
        "type": "spanner_instance",
        "labels": {
          "project_id": "spanner-project",
          "location": "australia-southeast1"
        }
      },
      "metricKind": "GAUGE",
      "valueType": "DOUBLE",
      "points": [
        {
          "interval": {
            "startTime": "2024-07-11T05:41:23Z",
            "endTime": "2024-07-11T05:41:23Z"
          },
          "value": {
            "doubleValue": 1
          }
        }
      ]
    }
  ],
  "unit": "10^2.%"
}

Si vous ne voyez pas de réponse similaire, il est possible que votre région ne soit pas opérationnelle et que vous deviez modifier le quorum birégional pour passer du mode birégional au mode à une seule région.

CLI gcloud

  1. Téléchargez le fichier dual-region-quorum-health-check-script.sh.

    Ce script Bash vérifie l'état de la région unique. Si la région est opérationnelle, le script exécute la commande gcloud spanner databases change-quorum pour basculer manuellement le quorum birégional d'une région à une seule.

  2. Remplacez les variables suivantes dans le script :

    • PROJECT : ID de votre projet.
    • INSTANCE : ID de votre instance.
    • DATABASE : ID de votre base de données.
    • SERVING_LOCATION : emplacement de la région dans la région double que vous souhaitez vérifier.
  3. Exécutez le script dans l'environnement de développement de votre choix. Pour en savoir plus, consultez Installer la gcloud CLI et configurer l'API Spanner.

  4. Rétablissez manuellement votre région si elle n'était pas opérationnelle et qu'un basculement a eu lieu.

Modifier le quorum birégional pour passer du mode birégional au mode à une seule région (basculement)

Pour effectuer un basculement manuel en cas de panne régionale ou de problème de partitionnement du réseau :

Console Google Cloud

  1. Accédez à la page Instances Spanner de la console Google Cloud .

    Accéder à la page Instances

  2. Cliquez sur le nom de l'instance qui se trouve dans une configuration birégionale.

  3. Dans le menu de navigation, cliquez sur Insights sur le système.

  4. Recherchez la métrique Chronologie birégionale de l'état du quorum.

  5. Si la chronologie de l'état du quorum birégional indique une perturbation dans une région, cliquez sur Modifier le quorum de la région.

    Cloud Shell s'ouvre.

  6. Pour modifier le quorum birégional en quorum monorégional, saisissez la commande suivante dans l'onglet "gcloud CLI" : gcloud spanner databases change-quorum. Pour obtenir des instructions détaillées, consultez l'onglet gcloud.

CLI gcloud

Utilisez la commande gcloud spanner databases change-quorum pour modifier le quorum birégional et le faire passer d'une configuration birégionale à une configuration à une seule région.

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --single-region --serving-location=SERVING_LOCATION
    [--etag=ETAG]

Remplacez les éléments suivants :

  • DATABASE_ID : identifiant permanent de la base de données.

  • INSTANCE_ID : identifiant permanent de l'instance.

  • SERVING_LOCATION : configuration d'instance régionale vers laquelle vous souhaitez basculer. Par exemple, si asia-south1 (Mumbai) n'est pas sain et que vous souhaitez basculer vers asia-south2 (Delhi), saisissez asia-south2. Assurez-vous que SERVING_LOCATION est la région opérationnelle. Si vous choisissez une mauvaise région pour le basculement, la base de données sera indisponible et irrécupérable tant que la région ne sera pas de nouveau en ligne.

Indicateurs facultatifs :

  • L'argument ETAG peut être utilisé pour la protection contre la relecture.--etag=ETAG

Pour vérifier l'état de votre opération de modification du quorum, exécutez la commande gcloud spanner databases describe. Le champ quorumInfo fournit des informations sur l'opération.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Modifier le quorum birégional pour passer d'une seule région à deux régions (failback)

Pour effectuer manuellement la restauration après que la région perturbée est redevenue opérationnelle ou que le problème de partition réseau a été résolu :

Console Google Cloud

  1. Accédez à la page Instances Spanner de la console Google Cloud .

    Accéder à la page Instances

  2. Cliquez sur le nom de l'instance qui se trouve dans une configuration birégionale.

  3. Dans le menu de navigation, cliquez sur Insights sur le système.

  4. Recherchez la métrique Chronologie birégionale de l'état du quorum.

  5. Dans la chronologie de l'état du quorum birégional, cliquez sur Modifier le quorum de la région.

    Cloud Shell s'ouvre.

  6. Pour remplacer le quorum à une seule région par un quorum à deux régions, saisissez la commande suivante dans l'onglet "gcloud CLI" : gcloud spanner databases change-quorum. Pour obtenir des instructions détaillées, consultez l'onglet gcloud.

CLI gcloud

Utilisez la commande gcloud spanner databases change-quorum pour modifier le quorum birégional et le faire passer d'une région unique à une région double.

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --dual-region
    [--etag=ETAG]

Remplacez les éléments suivants :

  • DATABASE_ID : identifiant permanent de la base de données.

  • INSTANCE_ID : identifiant permanent de l'instance.

Indicateurs facultatifs :

  • --etag=ETAG : l'argument ETAG peut être utilisé pour le contrôle de simultanéité optimiste.

Pour vérifier l'état de votre opération de modification du quorum, exécutez la commande gcloud spanner databases describe. Le champ quorumInfo fournit des informations sur l'opération.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Étapes suivantes