Modificare il quorum a due regioni

Questa pagina descrive come controllare lo stato di salute del quorum a due regioni di Spanner e come modificare manualmente il quorum in caso di interruzioni del servizio.

Per saperne di più sulle regioni doppie, consulta le configurazioni delle istanze a due regioni di Spanner.

Controllare lo stato del quorum a due regioni

Puoi controllare lo stato del quorum a due regioni nei seguenti modi:

Nella pagina Panoramica del database

  1. Vai alla pagina Istanze Spanner nella console Google Cloud .

    Vai alla pagina Istanze

  2. Fai clic sul nome dell'istanza in una configurazione a due regioni.

  3. Fai clic sul nome del database.

  4. In Panoramica, cerca la riga Quorum, che mostra lo stato del quorum a due regioni della tua istanza:

    • Se il quorum è raggiunto in entrambe le regioni, lo stato è Doppia regione.

    • Se è stato eseguito un failover manuale o gestito da Google, viene visualizzato il nome della regione di pubblicazione (ad esempio asia-south1).

Utilizzare la dashboard Approfondimenti di sistema

Dopo aver creato una configurazione a due regioni, puoi visualizzare la metrica Cronologia dell'integrità del quorum a due regioni nella dashboard Approfondimenti di sistema a livello di istanza.

Per ulteriori informazioni, vedi Visualizzare la dashboard Approfondimenti del sistema.

Utilizza l'API REST di monitoraggio o gcloud CLI

Puoi utilizzare l'API REST di monitoraggio o gcloud CLI per controllare l'integrità del quorum a due regioni.

API REST di monitoraggio

Utilizza l'API di monitoraggio projects.timeSeries.list per eseguire query sulla cronologia dell'integrità del quorum a due regioni per verificare se una regione è in stato di salute in un determinato momento.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto.
  • DUAL_REGION_LOCATION: la posizione della regione nella doppia regione che vuoi controllare.
  • START_TIME: l'ora di inizio della query. Ti consigliamo di utilizzare 5 minuti prima dell'ora corrente.
  • END_TIME: l'ora di fine della query. Ti consigliamo di utilizzare l'ora corrente.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

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

Se non vedi una risposta simile, la tua regione potrebbe non essere in stato attivo e potrebbe essere necessario modificare il quorum a due regioni in modo che sia a una sola regione.

Interfaccia a riga di comando gcloud

  1. Scarica il file dual-region-quorum-health-check-script.sh.

    Questo script bash controlla l'integrità della regione della singola regione. Se la regione è in stato di integrità, lo script esegue il comando gcloud spanner databases change-quorum per eseguire manualmente il failover del quorum a due regioni da due regioni a una sola regione.

  2. Sostituisci le seguenti variabili nello script:

    • PROJECT: il tuo ID progetto.
    • INSTANCE: il tuo ID istanza.
    • DATABASE: l'ID del database.
    • SERVING_LOCATION: la posizione della regione nella doppia regione che vuoi controllare.
  3. Esegui lo script nell'ambiente di sviluppo che preferisci. Per saperne di più, consulta Installare Google Cloud CLI e configurare l'API Spanner.

  4. Esegui manualmente il failback se la tua regione non era in stato di integrità ed è stato eseguito un failover.

Modificare il quorum a due regioni in modo che sia a una regione (failover)

Per eseguire il failover manualmente in caso di interruzione regionale o di un problema di partizione della rete:

Google Cloud console

  1. Vai alla pagina Istanze Spanner nella console Google Cloud .

    Vai alla pagina Istanze

  2. Fai clic sul nome dell'istanza in una configurazione a due regioni.

  3. Fai clic su Approfondimenti sul sistema nel menu di navigazione.

  4. Trova la metrica Cronologia dell'integrità del quorum a due regioni.

  5. Se la sequenza temporale dell'integrità del quorum a due regioni indica che si è verificata un'interruzione in una regione, fai clic su Modifica quorum regione.

    Si apre Cloud Shell.

  6. Per modificare il quorum a due regioni in un quorum a una regione, invia il seguente comando disponibile nella scheda della gcloud CLI: gcloud spanner databases change-quorum. Per istruzioni dettagliate, consulta la scheda gcloud.

Interfaccia a riga di comando gcloud

Utilizza il comando gcloud spanner databases change-quorum per modificare il quorum a due regioni in modo che sia a una sola regione.

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

Sostituisci quanto segue:

  • DATABASE_ID: l'identificatore permanente del database.

  • INSTANCE_ID: l'identificatore permanente per l'istanza.

  • SERVING_LOCATION: la configurazione dell'istanza regionale a cui vuoi eseguire il failover. Ad esempio, se asia-south1 (Mumbai) non è in stato di salute e vuoi eseguire il failover su asia-south2 (Delhi), inserisci asia-south2. Assicurati che SERVING_LOCATION sia la regione sana. La scelta di una regione errata per il failover comporta la mancata disponibilità del database, che non è recuperabile prima che la regione sia di nuovo online.

Flag facoltativi:

  • --etag=ETAG: l'argomento ETAG può essere utilizzato per la protezione antiriproduzione.

Per controllare lo stato dell'operazione di modifica del quorum, esegui il comando gcloud spanner databases describe. Il campo quorumInfo fornisce informazioni sull'operazione.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Modificare il quorum a due regioni da una regione singola a due regioni (failback)

Per eseguire il failback manualmente dopo che la regione interrotta è tornata in stato normale o dopo la risoluzione del problema della partizione di rete:

Google Cloud console

  1. Vai alla pagina Istanze Spanner nella console Google Cloud .

    Vai alla pagina Istanze

  2. Fai clic sul nome dell'istanza in una configurazione a due regioni.

  3. Fai clic su Approfondimenti sul sistema nel menu di navigazione.

  4. Trova la metrica Cronologia dell'integrità del quorum a due regioni.

  5. Nella cronologia dell'integrità del quorum a due regioni, fai clic su Cambia quorum regione.

    Si apre Cloud Shell.

  6. Per modificare il quorum a due regioni in un quorum a una regione, invia il seguente comando disponibile nella scheda della gcloud CLI: gcloud spanner databases change-quorum. Per istruzioni dettagliate, consulta la scheda gcloud.

Interfaccia a riga di comando gcloud

Utilizza il comando gcloud spanner databases change-quorum per modificare il quorum a due regioni da una regione singola a due regioni.

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

Sostituisci quanto segue:

  • DATABASE_ID: l'identificatore permanente del database.

  • INSTANCE_ID: l'identificatore permanente per l'istanza.

Flag facoltativi:

  • --etag=ETAG: l'argomento ETAG puoi essere utilizzato per controllo della contemporaneità ottimistico.

Per controllare lo stato dell'operazione di modifica del quorum, esegui il comando gcloud spanner databases describe. Il campo quorumInfo fornisce informazioni sull'operazione.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Passaggi successivi