Cambiar el quórum de la configuración de dos regiones

En esta página se describe cómo comprobar el estado de salud de tu quórum birregional de Spanner y cómo cambiarlo manualmente en caso de interrupciones del servicio.

Para obtener más información sobre las configuraciones birregionales, consulta Configuraciones de instancias birregionales de Spanner.

Comprobar el estado del quórum de la región dual

Puedes comprobar el estado de tu quórum birregional de las siguientes formas:

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

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

    Ir a la página Instancias

  2. Haga clic en el nombre de la instancia que tenga una configuración birregional.

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

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

    • Si se alcanza el quórum en ambas regiones, el estado será Región doble.

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

Usar el panel de control Estadísticas del sistema

Una vez que hayas creado una configuración birregional, podrás ver la métrica Cronología del estado del quórum birregional en el panel de control Estadísticas del sistema a nivel de instancia.

Para obtener más información, consulta el artículo Ver el panel de control Estadísticas del sistema.

Usar la API REST Monitoring o la CLI de gcloud

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

API REST de Monitoring

Usa la API de Monitoring projects.timeSeries.list para consultar la cronología del estado del quórum de doble región y comprobar si una región está en buen estado en un momento determinado.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu ID de proyecto.
  • DUAL_REGION_LOCATION: la ubicación de la región del par de regiones que quieras comprobar.
  • START_TIME: hora de inicio de la consulta. Te recomendamos que uses 5 minutos antes de la hora actual.
  • END_TIME: hora de finalización de la consulta. Te recomendamos que utilices 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, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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 que tengas que cambiar el quórum de la birregión a una sola región.

CLI de gcloud

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

    Este script de bash comprueba el estado de la región de tu 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 manualmente el quórum de la región doble a una sola región.

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

    • PROJECT: tu ID de proyecto.
    • INSTANCE: tu ID de instancia.
    • DATABASE: el ID de tu base de datos.
    • SERVING_LOCATION: la ubicación de la región en la birregión que quieras comprobar.
  3. Ejecuta la secuencia de comandos en el entorno de desarrollo que elijas. Para obtener más información, consulta el artículo Instalar Google Cloud CLI y configurar la API de Spanner.

  4. Realiza una restauración manual si tu región no estaba en buen estado y se produjo una conmutación por error.

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

Para conmutar por error manualmente si hay una interrupción regional o un problema de partición de red, sigue estos pasos:

Google Cloud consola

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

    Ir a la página Instancias

  2. Haga clic en el nombre de la instancia que tenga una configuración birregional.

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

  4. Busca la métrica Cronología del estado del quórum de doble región.

  5. Si la cronología del estado del quórum de la región doble muestra que hay una interrupción en una región, haga clic en Cambiar quórum de la región.

    Se abrirá Cloud Shell.

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

CLI de gcloud

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

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

Haz los cambios siguientes:

  • DATABASE_ID: identificador permanente de la base de datos.

  • INSTANCE_ID: identificador permanente de la instancia.

  • SERVING_LOCATION: la configuración de la instancia regional a la que quieres conmutar por error. Por ejemplo, si asia-south1 (Bombay) no está en buen estado y quieres conmutar por error a asia-south2 (Delhi), introduce asia-south2. Asegúrate de que SERVING_LOCATION sea la región correcta. 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á solucionar hasta que la región vuelva a estar online.

Marcas posibles

  • --etag=ETAG: El argumento ETAG se puede usar para proteger contra repeticiones.

Para comprobar 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

Cambiar el quórum de la configuración de dos regiones a una sola región (conmutación por error)

Para volver a la configuración anterior manualmente después de que la región afectada esté en buen estado o de que se haya resuelto el problema de partición de la red, sigue estos pasos:

Google Cloud consola

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

    Ir a la página Instancias

  2. Haga clic en el nombre de la instancia que tenga una configuración birregional.

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

  4. Busca la métrica Cronología del estado del quórum de doble región.

  5. En la cronología de estado del quórum de doble región, haz clic en Cambiar quórum de la región.

    Se abrirá Cloud Shell.

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

CLI de gcloud

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

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

Haz los cambios siguientes:

  • DATABASE_ID: identificador permanente de la base de datos.

  • INSTANCE_ID: identificador permanente de la instancia.

Marcas posibles

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

Para comprobar 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

Siguientes pasos