Cette page explique comment vérifier l'état de votre quorum à deux régions Spanner et comment modifier manuellement le quorum en cas de perturbation de service.
Pour en savoir plus sur les zones birégionales, consultez la section Configurations d'instance birégionales de Spanner.
Vérifier l'état du quorum birégional
Vous pouvez vérifier l'état de votre quorum à deux régions de différentes manières:
- Sur la page Présentation de la base de données
- Utiliser le tableau de bord des insights système
- Utiliser une API REST Cloud Monitoring ou la gcloud CLI
Sur la page "Présentation de la base de données"
Accédez à la page Instances Spanner dans la console Google Cloud.
Cliquez sur le nom de l'instance qui est configurée en double région.
Cliquez sur le nom de la base de données.
Sous "Vue d'ensemble", recherchez la ligne Quorum, qui indique l'état du quorum à deux régions de votre instance:
Si le quorum est atteint dans les deux régions, l'état indique Bi-ré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
Après avoir créé une configuration à deux régions, vous pouvez afficher la métrique Chronologie de l'état du quorum à deux régions 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 la CLI gcloud
Vous pouvez utiliser l'API REST Monitoring ou la CLI gcloud pour vérifier l'état de votre quorum à deux régions.
Utilisez l'API Monitoring projects.timeSeries.list
pour interroger l'historique de l'état du quorum birégional afin de vérifier si une région est opérationnelle à un moment donné.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID : ID de votre projet.DUAL_REGION_LOCATION : emplacement de la région dans la région duale que vous souhaitez vérifier.START_TIME : heure de début de la requête. Nous vous recommandons de définir la valeur sur 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 :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://monitoring.googleapis.com/v3/projects/PROJECT_ID /timeSeries"
PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://monitoring.googleapis.com/v3/projects/PROJECT_ID /timeSeries" | Select-Object -Expand Content
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, votre région peut ne pas être opérationnelle, et vous devrez peut-être passer du quorum birégional au quorum à une seule région.
Téléchargez le fichier
dual-region-quorum-health-check-script.sh
.Ce script bash vérifie l'état de votre seule région. 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 à deux vers une région unique.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 duale que vous souhaitez vérifier.
Exécutez le script dans l'environnement de développement de votre choix. Pour en savoir plus, consultez Installer la Google Cloud CLI et configurer l'API Spanner.
Effectuez un basculement manuel si votre région n'était pas opérationnelle et qu'un basculement a eu lieu.
Modifier le quorum birégional en quorum régional unique (failover)
Pour effectuer un basculement manuel en cas d'indisponibilité régionale ou de problème de partitionnement réseau:
Accédez à la page Instances Spanner dans la console Google Cloud.
Cliquez sur le nom de l'instance qui est configurée en double région.
Cliquez sur Insights système dans le menu de navigation.
Recherchez la métrique Chronologie birégionale de l'état du quorum.
Si la chronologie de l'état du quorum birégional indique qu'une interruption est survenue dans une région, cliquez sur Modifier le quorum de la région.
Cloud Shell s'ouvre.
Pour passer du quorum birégional à un quorum monorégional, saisissez la commande suivante dans l'onglet de la CLI gcloud :
gcloud spanner databases change-quorum
. Pour obtenir des instructions détaillées, consultez l'ongletgcloud
.
Utilisez la commande gcloud spanner databases change-quorum
pour passer du quorum birégional à un quorum de région unique.
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 à laquelle vous souhaitez effectuer le basculement. Par exemple, siasia-south1
(Mumbai) n'est pas opérationnel et que vous souhaitez effectuer un basculement versasia-south2
(Delhi), saisissezasia-south2
. Assurez-vous queSERVING_LOCATION
est la région opérationnelle. Si vous choisissez une mauvaise région pour le basculement, la base de données devient indisponible, ce qui est irrécupérable avant que la région ne soit de nouveau en ligne.
Indicateurs facultatifs :
--etag=ETAG
: l'argumentETAG
peut être utilisé pour la protection contre la relecture.
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 d'une région unique en birégional (failback)
Pour effectuer manuellement la restauration après que la région perturbée est opérationnelle ou après la résolution du problème de partition réseau:
Accédez à la page Instances Spanner dans la console Google Cloud.
Cliquez sur le nom de l'instance qui est configurée en double région.
Cliquez sur Insights système dans le menu de navigation.
Recherchez la métrique Chronologie birégionale de l'état du quorum.
Dans la chronologie de l'état du quorum birégional, cliquez sur Modifier le quorum de la région.
Cloud Shell s'ouvre.
Pour passer du quorum birégional à un quorum monorégional, saisissez la commande suivante dans l'onglet de la CLI gcloud :
gcloud spanner databases change-quorum
. Pour obtenir des instructions détaillées, consultez l'ongletgcloud
.
Utilisez la commande gcloud spanner databases change-quorum
pour modifier le quorum bi-régional d'une région unique en bi-région.
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'argumentETAG
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
Étape suivante
- En savoir plus sur les configurations d'instance birégionales