Cette page explique comment vérifier l'état de fonctionnement de Spanner. quorum birégional et comment modifier manuellement le quorum en cas de service sans interruption.
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 l'API REST Cloud Monitoring ou gcloud CLI
Sur la page de présentation de la base de données
Accédez à la page Instances de Spanner dans la console Google Cloud.
Cliquez sur le nom de l'instance qui est dans une configuration à deux régions.
Cliquez sur le nom de la base de données.
Sous "Aperçu", recherchez la ligne Quorum, qui indique la zone birégionale. du quorum 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 (par exemple,
asia-south1
).
Utiliser le tableau de bord des insights système
Une fois que vous avez créé une configuration à deux régions, vous pouvez consulter la métrique Disponibilité du quorum bi-ré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 la CLI gcloud pour vérifier l'état de votre quorum à deux régions.
API REST Monitoring
Utilisez l'API Monitoring projects.timeSeries.list
pour interroger la métrique Disponibilité du quorum à deux régions 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 l'emplacement birégional que vous souhaitez vérifier.
- START_TIME : heure de début de la requête. Nous vous recommandons de l'utiliser 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. vous devrez peut-être passer le quorum birégional de la zone birégionale à celui d'une région unique.
CLI gcloud
Téléchargez le
dual-region-quorum-health-check-script.sh
.Ce script bash vérifie l'état de santé de votre région. Si le est opérationnelle, le script exécute
gcloud spanner databases change-quorum
pour basculer manuellement le quorum birégional vers dans une seule région.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 l'emplacement birégional qui à 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 une restauration manuelle si votre région n'était pas opérationnelle et si était un basculement.
Modifier le quorum birégional pour qu'il soit birégional ou régional unique (failover)
Pour effectuer un basculement manuel en cas d'indisponibilité régionale ou de problème de partitionnement réseau :
console Google Cloud
Accédez à la page Instances de Spanner dans la console Google Cloud.
Cliquez sur le nom de l'instance qui est dans une configuration à deux régions.
Cliquez sur Insights système dans le menu de navigation.
Recherchez la métrique Disponibilité du quorum birégional.
Si la métrique de disponibilité du quorum birégional indique une interruption dans une région, cliquez sur Activez Cloud Shell en haut de la console Google Cloud.
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, reportez-vous à l'ongletgcloud
.
CLI gcloud
Utilisez le gcloud spanner databases change-quorum
pour remplacer le quorum birégional par une 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 opérationnel dans la même région. Le choix d'une région inappropriée pour le basculement dans la base de données une indisponibilité, qui est irrécupérable avant la remise en ligne de la région.
Indicateurs facultatifs :
--etag=ETAG
:ETAG
peut être utilisé pour la protection contre la rejeu.
Pour vérifier l'état de l'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
Faire passer le quorum birégional de région unique à birégional (restauration)
Pour effectuer une restauration manuelle une fois que la région interrompue est opérationnelle ou après que le réseau problème de partition est résolu:
console Google Cloud
Accédez à la page Instances Spanner dans la console Google Cloud.
Cliquez sur le nom de l'instance qui est dans une configuration à deux régions.
Cliquez sur Insights système dans le menu de navigation.
Recherchez la métrique Disponibilité du quorum birégional.
Sur la métrique de disponibilité du quorum pour les emplacements birégionaux, 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
.
CLI gcloud
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 l'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 bi-régionales