Cambiar el quórum birregional

En esta página, se describe cómo verificar el estado del quórum de doble región de Spanner y cómo cambiarlo de forma manual en caso de interrupciones del servicio.

Para obtener más información sobre las regiones dobles, consulta Configuración de instancias birregionales de Spanner.

Verifica el estado del quórum de doble región

Puedes verificar el estado de tu quórum birregional de las siguientes maneras:

En la página Descripción general de la base de datos

  1. Ve a la página Instancias de Spanner en la Google Cloud consola.

    Ir a la página Instancias

  2. Haz clic en el nombre de la instancia que se encuentra en una configuración de doble región.

  3. Haz clic en el nombre de la base de datos.

  4. En Descripción general, busca la fila Quorum, que muestra el estado del quórum de doble región de tu instancia:

    • Si se cumple el quórum en ambas regiones, el estado muestra Birregional.

    • Si se realizó una conmutación por error manual o administrada por Google, verás el nombre de la región de publicación (por ejemplo, asia-south1).

Usa el panel de Estadísticas del sistema

Después de crear una configuración de doble región, puedes ver la métrica Cronograma del estado del quórum de doble región en el panel de estadísticas del sistema a nivel de la instancia.

Para obtener más información, consulta Cómo ver el panel de estadísticas del sistema.

Usa la API de Monitoring REST o gcloud CLI

Puedes usar la API de REST de Monitoring o gcloud CLI para verificar el estado de tu quórum de doble región.

API de Monitoring REST

Usa la API de Monitoring projects.timeSeries.list para consultar la línea de tiempo del estado del quórum birregional y verificar si una región está en buen estado en un momento determinado.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: el ID de tu proyecto
  • DUAL_REGION_LOCATION: Es la ubicación de la región en la región doble que deseas verificar.
  • START_TIME: Es la hora de inicio de la búsqueda. Recomendamos usar 5 minutos antes de la hora actual.
  • END_TIME: Es la hora de finalización de la búsqueda. Te recomendamos que uses la hora actual.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "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"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 no ves una respuesta similar, es posible que tu región no esté en buen estado y debas cambiar el quórum birregional de birregional a regional.

gcloud CLI

  1. Descarga el archivo dual-region-quorum-health-check-script.sh.

    Esta secuencia de comandos de Bash verifica el estado de la región única. Si la región está en buen estado, la secuencia de comandos ejecuta el comando gcloud spanner databases change-quorum para conmutar por error de forma manual el quórum birregional de birregional a una sola región.

  2. Reemplaza las siguientes variables en la secuencia de comandos:

    • PROJECT: el ID de tu proyecto
    • INSTANCE: Es el ID de tu instancia.
    • DATABASE: Es el ID de tu base de datos.
    • SERVING_LOCATION: Es la ubicación de la región en la región doble que deseas verificar.
  3. Ejecuta el script en el entorno de desarrollo que prefieras. Para obtener más información, consulta Instala gcloud CLI y configura la API de Spanner.

  4. Realiza una conmutación por recuperación manual si tu región estaba en mal estado y se produjo una conmutación por error.

Cambiar el quórum birregional de birregional a una sola región (conmutación por error)

Para realizar la conmutación por error de forma manual si hay una interrupción regional o un problema de partición de red, haz lo siguiente:

Consola de Google Cloud

  1. Ve a la página Instancias de Spanner en la Google Cloud consola.

    Ir a la página Instancias

  2. Haz clic en el nombre de la instancia que se encuentra en una configuración de doble región.

  3. Haz clic en Estadísticas del sistema en el menú de navegación.

  4. Busca la métrica Línea de tiempo del estado del quórum birregional.

  5. Si la línea de tiempo del estado del quórum birregional muestra que hay interrupciones en una región, haz clic en Cambiar el quórum de la región.

    Se abrirá Cloud Shell.

  6. Para cambiar el quórum de doble región a una sola región, ingresa el siguiente comando que se encuentra en la pestaña de gcloud CLI: gcloud spanner databases change-quorum. Para obtener instrucciones detalladas, consulta la pestaña gcloud.

gcloud CLI

Usa el comando gcloud spanner databases change-quorum para cambiar el quórum birregional de birregional a una sola región.

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

Reemplaza lo siguiente:

  • DATABASE_ID: Es el identificador permanente de la base de datos.

  • INSTANCE_ID: Identificador permanente de la instancia.

  • SERVING_LOCATION: Es la configuración de la instancia regional a la que deseas conmutar por error. Por ejemplo, si asia-south1 (Bombay) no está en buen estado y deseas conmutar por error a asia-south2 (Delhi), ingresa asia-south2. Asegúrate de que SERVING_LOCATION sea la región en buen estado. Si se elige una región incorrecta para la conmutación por error, la base de datos no estará disponible, lo que no se podrá recuperar hasta que la región vuelva a estar en línea.

Marcas opcionales:

  • --etag=ETAG: El argumento ETAG se puede usar para la protección contra repeticiones.

Para verificar el estado de la operación de cambio de quórum, ejecuta el comando gcloud spanner databases describe. El campo quorumInfo proporciona información sobre la operación.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Cambia el quórum birregional de una sola región a birregional (recuperación tras falla)

Para realizar la conmutación por recuperación de forma manual después de que la región interrumpida esté en buen estado o después de que se resuelva el problema de partición de red, haz lo siguiente:

Consola de Google Cloud

  1. Ve a la página Instancias de Spanner en la Google Cloud consola.

    Ir a la página Instancias

  2. Haz clic en el nombre de la instancia que se encuentra en una configuración de doble región.

  3. Haz clic en Estadísticas del sistema en el menú de navegación.

  4. Busca la métrica Línea de tiempo del estado del quórum birregional.

  5. En la línea de tiempo del estado del quórum birregional, haz clic en Cambiar el quórum de la región.

    Se abrirá Cloud Shell.

  6. Para cambiar el quórum de doble región de una sola región a una doble región, ingresa el siguiente comando que se encuentra en la pestaña de gcloud CLI: gcloud spanner databases change-quorum. Para obtener instrucciones detalladas, consulta la pestaña gcloud.

gcloud CLI

Usa el comando gcloud spanner databases change-quorum para cambiar el quórum birregional de una sola región a una birregional.

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

Reemplaza lo siguiente:

  • DATABASE_ID: Es el identificador permanente de la base de datos.

  • INSTANCE_ID: Identificador permanente de la instancia.

Marcas opcionales:

  • --etag=ETAG: El argumento ETAG se puede usar para el control de simultaneidad optimista.

Para verificar el estado de la operación de cambio de quórum, ejecuta el comando gcloud spanner databases describe. El campo quorumInfo proporciona información sobre la operación.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

¿Qué sigue?