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
- Utiliser le tableau de bord des insights système
- Utiliser une API REST Cloud Monitoring ou Google Cloud CLI
Sur la page "Présentation de la base de données"
Accédez à la page Instances Spanner de la console Google Cloud .
Cliquez sur le nom de l'instance qui se trouve dans une configuration birégionale.
Cliquez sur le nom de la base de données.
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
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-quorumpour basculer manuellement le quorum birégional d'une région à une seule.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.
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.
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
Accédez à la page Instances Spanner de la console Google Cloud .
Cliquez sur le nom de l'instance qui se trouve dans une configuration birégionale.
Dans le menu de navigation, cliquez sur Insights sur le système.
Recherchez la métrique Chronologie birégionale de l'état du quorum.
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.
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'ongletgcloud.
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, siasia-south1(Mumbai) n'est pas sain et que vous souhaitez basculer versasia-south2(Delhi), saisissezasia-south2. Assurez-vous queSERVING_LOCATIONest 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
ETAGpeut ê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
Accédez à la page Instances Spanner de la console Google Cloud .
Cliquez sur le nom de l'instance qui se trouve dans une configuration birégionale.
Dans le menu de navigation, cliquez sur Insights sur le système.
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 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'ongletgcloud.
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'argumentETAGpeut ê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
- En savoir plus sur les configurations d'instances birégionales