Promozione di repliche per la migrazione a livello di area geografica o il ripristino di emergenza

Questa pagina descrive come utilizzare e promuovere le repliche di lettura tra regioni (repliche create in una regione diversa da quella della regione primaria) per la migrazione regionale o il ripristino di emergenza.

Panoramica

Esistono due scenari comuni per la promozione delle repliche tra regioni:

  • Migrazione regionale: esegui una migrazione pianificata di un database in una regione diversa.
  • Disaster recovery: esegui il failover di un database in un'altra regione nel caso in cui la regione del database primario non sia più disponibile.

Entrambi i casi d'uso prevedono la configurazione della replica tra regioni e la successiva promozione della replica. La differenza principale tra le due è se la promozione della replica è pianificata (nel caso della migrazione regionale) o non pianificata (è necessario un failover nella regione della replica per continuare le operazioni perché la replica principale non è più disponibile).

Migrazione regionale

Puoi utilizzare una replica cross-region per eseguire la migrazione del database in un'altra regione con tempi di inattività minimi. L'idea generale è quella di creare una replica in un'altra regione, attendere che la replica venga completata, promuoverla e poi indirizzare i client all'istanza appena promossa.

I passaggi coinvolti nella promozione sono gli stessi della promozione di una replica in-region; segui queste istruzioni per assicurarti che l'istanza appena promossa contenga tutte le transazioni di cui è stato eseguito il commit nell'istanza primaria originale. Dopo aver promosso la replica e verificato che l'istanza appena promossa funzioni, aggiorna tutti i client di database in modo che si connettano alla nuova istanza.

Ripristino di emergenza

Le repliche tra regioni possono essere utilizzate nell'ambito di una procedura di ripristino di emergenza. Puoi promuovere una replica tra regioni per eseguire il failover in un'altra regione se la regione dell'istanza principale non è disponibile per un periodo di tempo prolungato.

Per ulteriori informazioni sul ripristino di emergenza, vedi Informazioni sul ripristino di emergenza in Cloud SQL.

Ripristino di emergenza (RE) avanzato

Se utilizzi Cloud SQL Enterprise Plus, puoi designare una replica di lettura tra regioni come replica per il ripristino di emergenza (replica RE) per il ripristino di emergenza avanzato. Con RE avanzato, esegui il failover della replica per sostituire l'istanza principale con la replica di RE designata. La vecchia istanza principale diventa una replica della replica RE promossa. Puoi eseguire il failover della replica solo sulla replicaRER designata. Puoi comunque promuovere altre repliche di lettura senza failover.

Per riportare il deployment allo stato originale dopo il failover della replica senza perdita di dati, puoi eseguire un cambio di ruolo. Poiché la vecchia istanza principale è una replica della nuova istanza principale, puoi scambiare di nuovo i ruoli per ripristinare la vecchia istanza principale.

Per saperne di più, consulta Disaster ripristino di emergenza (RE) avanzato.

Verifica i criteri di failover

Poiché la replica è asincrona, quando si verifica un'interruzione della regione e viene tentato un failover, alcune transazioni recenti di cui è stato eseguito il commit nel database primario potrebbero essere perse (non replicate nella replica). Ogni volta che un'istanza principale non è più disponibile, i passaggi seguenti mostrano (1) come determinare la quantità di dati, se presenti, che potrebbero essere stati persi nel failover tra regioni e (2) come assicurarsi che la replica promossa rifletta il maggior numero possibile di scritture recenti.

Innanzitutto, controlla i valori di Lag Bytes nel pannello di controllo del monitoraggio. Quando si verifica un'interruzione nella regione dell'istanza principale, per quest'ultima viene segnalato Lag Bytes.

Poi, connettiti all'istanza di replica con un client PostgreSQL seguendo le istruzioni nella pagina Stato della replica (vedi la scheda Client psql). Consulta le istruzioni relative alle metriche pg_catalog.pg_last_wal_receive_lsn() e pg_catalog.pg_last_wal_replay_lsn(). Verifica che la replica abbia elaborato tutte le transazioni ricevute dall'istanza primaria. In questo modo, quando viene promossa, la replica riflette tutte le transazioni ricevute prima che l'istanza primaria diventasse non disponibile.

Promuovere una replica di lettura

Una volta stabilito che i criteri di failover sono soddisfatti, puoi promuovere una delle repliche a un'istanza scrivibile e autonoma. Considera il seguente scenario:

  • La regione A (us-central1) ha un'istanza principale ad alta disponibilità (db-a-0)
  • La regione B (us-west1) ha una replica cross-region ad alta disponibilità (db-b-1) di db-a-0
  • La regione C (us-east1) ha una replica tra regioni (db-c-1) di db-a-0

Potresti scegliere di promuovere db-b-1 nella regione B in modo che diventi un'istanza scrivibile autonoma.

Per istruzioni dettagliate, vedi Promozione di una replica.

Assicurati che il tipo di macchina sia appropriato

Assicurati che il tipo di macchina dell'istanza appena promossa sia appropriato per il suo workload monitorando le metriche sull'istanza, come l'utilizzo di CPU e memoria. Se l'istanza appena promossa è più piccola della precedente istanza primaria, ti consigliamo di ridimensionarla in modo che corrisponda alla precedente istanza primaria e possa gestire la stessa quantità di carico.

Abilita l'alta disponibilità per l'istanza promossa

Per una configurazione di ripristino di emergenza, ti consigliamo di configurare la replica che intendi promuovere come replica ad alta disponibilità. In alternativa, configura l'istanza appena promossa come ad alta disponibilità. Se scegli di non configurare la replica di lettura con alta disponibilità, puoi configurare l'istanza con alta disponibilità quando la promuovi.

Una volta promosse, le repliche di lettura vengono configurate automaticamente con i backup. La configurazione di una replica di lettura per l'alta disponibilità viene eseguita nello stesso modo di un'istanza principale. Per ulteriori informazioni, consulta la pagina sulla configurazione dell'istanza per l'alta disponibilità.

Ricrea repliche aggiuntive

Se promuovi una replica in modo che diventi un'istanza principale, devi ricreare tutte le altre repliche dell'istanza principale precedente. Ad esempio, considera la configurazione a cui è stato fatto riferimento in precedenza e ripetuta qui:

  • La regione A (us-central1) ha un'istanza principale ad alta disponibilità (db-a-0)
  • La regione B (us-west1) ha una replica tra regioni (db-b-1) di db-a-0
  • La regione C (us-east1) ha una replica tra regioni (db-c-1) di db-a-0

Se l'istanza principale (db-a-0) non è più disponibile, puoi promuovere la replica nella regione B in modo che diventi quella principale. Per avere di nuovo repliche aggiuntive nelle regioni A e C, elimina le istanze precedenti (l'ex istanza primaria in A e la replica in C) e crea nuove repliche di lettura dalla nuova istanza primaria in B.

La configurazione risultante sarebbe:

  • La regione A (us-central1) ora ha una replica tra regioni (db-a-1)
  • La regione B (us-west1) ora ha l'istanza principale (db-b-1)
  • La regione C (us-east1) ora ha una nuova replica tra regioni (db-c-2)