Failover manuale di un'istanza principale o secondaria

Per testare la resilienza dell'applicazione, ribilanciare le zone o risolvere i problemi di prestazioni a livello di nodo, puoi eseguire manualmente il failover di un'istanza AlloyDB per PostgreSQL principale o secondaria sul relativo nodo in standby all'interno della stessa regione.

I casi d'uso comuni per l'attivazione di un failover manuale includono:

  • Ribilanciamento delle zone: riporta i nodi alle zone preferite dopo che un failover automatico ha spostato il nodo attivo nella zona di standby.
  • Risoluzione dei problemi: failover al nodo in standby se il nodo attivo presenta problemi di prestazioni che non attivano un failover automatico.
  • Manutenzione controllata: avvio manuale del failover prima di un periodo di manutenzione per controllare quando si verifica la breve interruzione della connessione.

Alta affidabilità nelle istanze principali e secondarie

AlloyDB per PostgreSQL supporta l'alta affidabilità sia sulle istanze primarie che su quelle secondarie.

Alta affidabilità sulle istanze principali

Per garantire l'alta affidabilità (HA), ogni istanza principale di AlloyDB ha sia un nodo attivo sia un nodo in standby, che si trovano in zone diverse. Se il nodo attivo diventa non disponibile, AlloyDB esegue automaticamente il failover dell'istanza principale sul nodo in standby, rendendolo il nuovo nodo attivo.

Puoi eseguire manualmente il failover dell'istanza principale sul nodo in standby in qualsiasi momento, anche se il nodo attivo funziona come previsto. Quando avvii un failover manuale, AlloyDB esegue le seguenti operazioni:

  1. Porta il nodo principale offline.

  2. Trasforma il nodo in standby nel nuovo nodo attivo.

  3. Riattiva il nodo attivo precedente come nuovo nodo in standby.

Il failover manuale scambia i ruoli attivo e in standby dei nodi dell'istanza principale. Puoi attivare un failover manuale ogni volta che vuoi che avvenga questo scambio.

Ad esempio, immagina di avere un'istanza principale i cui nodi attivi e in standby si trovano rispettivamente nelle zone us-central1-a e us-central1-b. Un'interruzione in us-central1-a attiva un failover automatico, per cui la zona us-central1-b ospita il nodo attivo. Se preferisci mantenere il nodo attivo nelle zone us-central1-a, puoi avviare un failover manuale per fare in modo che AlloyDB scambi i nodi dell'istanza principale con le loro posizioni precedenti all'interruzione.

Durante le operazioni di manutenzione, un'istanza principale ad alta affidabilità e un'istanza di base in genere subiscono un tempo di inattività minimo per la manutenzione, inferiore a un secondo. Poiché il failover manuale è una procedura intenzionale e controllata, non è destinato alla simulazione di errori hardware o di rete imprevisti. In alternativa, puoi testare l'alta affidabilità per l'istanza principale utilizzando l'inserimento di errori.

Alta affidabilità sulle istanze secondarie

AlloyDB offre l'alta affidabilità sulle istanze secondarie per supportare il ripristino di emergenza e ridurre i tempi di inattività quando un'istanza secondaria non è disponibile.

Per impostazione predefinita, l'alta affidabilità è configurata su un'istanza secondaria.

Un'istanza secondaria di AlloyDB include i seguenti nodi:

  • Un nodo secondario attivo, che risponde alle richieste
  • Un nodo secondario di standby

I nodi attivo e in standby si trovano in due zone diverse di una regione. Se AlloyDB rileva che il nodo attivo non è disponibile, viene eseguito il failover del nodo attivo sul nodo in standby, che diventa il nuovo nodo attivo. I dati vengono quindi reindirizzati al nuovo nodo attivo. Questo processo è noto come failover.

Prima di iniziare

  • Il progetto Google Cloud che stai utilizzando deve essere stato abilitato per accedere ad AlloyDB.
  • Devi disporre di uno di questi ruoli IAM nel progetto Google Cloud che stai utilizzando:
    • roles/alloydb.admin (il ruolo IAM predefinito AlloyDB Admin)
    • roles/owner (il ruolo IAM di base Proprietario)
    • roles/editor (il ruolo IAM di base Editor)

    Se non disponi di nessuno di questi ruoli, contatta l'Amministratore organizzazione per richiedere l'accesso.

Esegui un failover manuale su un'istanza principale

Console

  1. Vai alla pagina Cluster.

Vai a Cluster

  1. Nella colonna Nome risorsa, fai clic sul nome di un cluster.

  2. Nella sezione Istanze nel cluster, apri il menu Azioni istanza dell'istanza principale.

  3. Fai clic su Failover.

  4. Nella finestra di dialogo visualizzata, inserisci l'ID dell'istanza.

  5. Fai clic su Attiva failover.

gcloud

Esegui il comando gcloud alloydb instances failover:

gcloud alloydb instances failover INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID

Sostituisci quanto segue:

  • INSTANCE_ID: l'ID dell'istanza.
  • REGION_ID: la regione in cui si trova l'istanza.
  • CLUSTER_ID: l'ID del cluster in cui si trova l'istanza.
  • PROJECT_ID: l'ID del progetto in cui si trova il cluster.

Per verificare che il failover sia riuscito, segui questi passaggi:

  1. Prima di eseguire il failover, prendi nota delle zone dei nodi dell'istanza principale.

  2. Dopo aver eseguito il failover, prendi nota delle nuove zone dei due nodi.

  3. Verifica che le zone dei nodi attivo e in standby si siano scambiate di posto.

Esegui un failover manuale su un'istanza secondaria

Il failover manuale di un'istanza secondaria è simile ai passaggi seguiti per il failover manuale dell'istanza principale.

Per eseguire manualmente il failover di un cluster secondario, segui questi passaggi:

Console

  1. Nella console Google Cloud , vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic sul nome di un cluster secondario nella colonna Nome risorsa.

  3. Nella pagina Panoramica, vai alla sezione Istanze nel cluster, scegli l'istanza secondaria e fai clic su Failover.

  4. Nella finestra di dialogo visualizzata, inserisci l'ID dell'istanza e fai clic su Attiva failover.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Utilizza il comando gcloud alloydb instances failover per forzare il failover di un'istanza secondaria in standby.

 gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID

Sostituisci quanto segue:

  • SECONDARY_INSTANCE_ID: l'ID dell'istanza secondaria di cui vuoi eseguire il failover.
  • SECONDARY_CLUSTER_ID: l'ID del cluster secondario a cui è associata l'istanza secondaria.
  • REGION_ID: l'ID della regione dell'istanza secondaria, ad esempio us-central1.
  • PROJECT_ID: l'ID del progetto del cluster secondario.

Passaggi successivi