Lo scopo di una configurazione ad alta disponibilità è ridurre i tempi di inattività quando un'istanza del cluster di database non è disponibile. Ciò può accadere quando un'istanza esaurisce la memoria. Con l'alta disponibilità, i tuoi dati continuano a essere disponibili per le applicazioni client.
All'interno di un sito, la configurazione è costituita da un'istanza principale e da una replica in standby. Tutte le scritture effettuate nell'istanza principale vengono replicate nella replica di standby prima che venga confermato il commit di una transazione. In caso di errore dell'istanza, puoi richiedere che la replica in standby diventi la nuova istanza principale. Il traffico dell'applicazione viene quindi reindirizzato alla nuova istanza primaria. Questo processo è chiamato failover.
Puoi attivare manualmente un failover in qualsiasi momento. Il failover prevede la seguente procedura, in ordine:
GDC mette offline l'istanza principale.
GDC trasforma la replica in standby nel nuovo cluster di database attivo.
GDC elimina il cluster di database attivo precedente.
GDC crea una nuova replica di standby.
Per i cluster di database AlloyDB Omni e PostgreSQL, puoi attivare o disattivare l'alta disponibilità nella stessa zona.
Aggiornare un cluster esistente
Puoi aggiornare le impostazioni di alta disponibilità per un cluster di database esistente:
Console
Nel menu di navigazione, seleziona Database Service.
Nell'elenco dei cluster di database, fai clic sul cluster di database da aggiornare.
Seleziona Modifica Modifica nella sezione Alta disponibilità.

Seleziona Abilita standby nella stessa zona per attivare o disattivare la disponibilità di un'istanza di standby nella stessa zona del cluster di database principale.
Fai clic su Salva.
Verifica che il cluster di database rifletta l'aggiornamento dell'alta disponibilità visualizzando il suo stato nella colonna Alta disponibilità dell'elenco dei cluster di database.
gdcloud
Aggiorna la configurazione per l'alta disponibilità del cluster di database:
gdcloud database clusters update CLUSTER_NAME \ --availability-type HA_TYPESostituisci quanto segue:
CLUSTER_NAME: il nome del cluster di database.HA_TYPE: il livello di alta disponibilità per il cluster di database. Puoi impostarezonalozonal_ha. Il valore dizonalè impostato per impostazione predefinita.
Verifica che il cluster di database rifletta l'aggiornamento dell'alta affidabilità:
gdcloud database clusters list
API
Aggiorna la configurazione per l'alta disponibilità del cluster di database:
kubectl patch dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \ -n USER_PROJECT \ -p '{"spec": {"availability": {"enableHighAvailability": HA_ENABLED}}}' \ --type=mergeSostituisci le seguenti variabili:
DBENGINE_NAME: il nome del motore del database. Si tratta di uno dei seguenti valori:alloydbomni,postgresqlooracle.DBCLUSTER_NAME: il nome del cluster di database.USER_PROJECT: il nome del progetto utente in cui è stato creato il cluster di database.HA_ENABLED: il livello di alta disponibilità per il cluster di database. Puoi impostaretrueofalse. Il valore difalseè impostato per impostazione predefinita.
Verifica che il cluster di database rifletta l'aggiornamento dell'alta affidabilità:
kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \ -n USER_PROJECT \ -o yaml
Attivare un failover
Se hai configurato l'alta disponibilità per il cluster di database, puoi attivare un failover. Per attivare un failover, completa i seguenti passaggi:
Console
Nel menu di navigazione, seleziona Database Service.
Nell'elenco dei cluster di database, fai clic sul cluster di database per attivare un failover. Per essere idoneo per un failover, il cluster di database deve avere l'alta disponibilità abilitata.
Fai clic su Failover.
Digita l'ID del cluster per la frase di conferma e fai clic su Failover per attivare la procedura di failover.
gdcloud
Attiva il failover per il cluster di database:
gdcloud database clusters failover CLUSTER_NAMESostituisci
CLUSTER_NAMEcon il nome del cluster di database.
API
apiVersion: fleet.dbadmin.gdc.goog/v1
kind: Failover
metadata:
name: FAILOVER_NAME
spec:
dbclusterRef: DBCLUSTER_NAME
Sostituisci le seguenti variabili:
DBCLUSTER_NAME, il nome del cluster di database.FAILOVER_NAME, il nome univoco del failover, ad esempiofailover-sample.