AlloyDB per PostgreSQL offre tipi di istanza regionali e zonali. Per garantire l'alta disponibilità, ogni istanza principale AlloyDB regionale ha un nodo attivo e un nodo di standby, che si trovano in due zone diverse. Se il nodo attivo non è disponibile per qualsiasi motivo, AlloyDB promuove automaticamente il nodo di standby per farlo diventare il nuovo nodo attivo.
Puoi testare questa funzionalità di HA automatica utilizzando l'inserimento di errori per forzare bruscamente l'offline del nodo attivo dell'istanza primaria. AlloyDB attiva la procedura di emergenza HA che controlla l'integrità dell'istanza primaria e riassegna il nodo di standby al ruolo di nodo attivo.
L'inserimento di errori avvia anche un'operazione a lunga esecuzione che riporta online il nodo attivo precedente dopo un breve intervallo. Questo nodo diventa il nuovo nodo di riserva dell'istanza principale.
Per un metodo più rapido per scambiare i ruoli attivo e di standby dei nodi dell'istanza principale, consulta Eseguire il failover di un'istanza principale manualmente.
Prima di iniziare
- Il Google Cloud progetto che utilizzi deve essere stato abilitato per accedere ad AlloyDB.
- Devi disporre di uno di questi ruoli IAM nel progetto che stai utilizzando:
- Google Cloud
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.
Simula un'interruzione del servizio con un fault injection
Per testare la resilienza HA dell'istanza primaria arrestando bruscamente il relativo nodo attivo, utilizza il comando gcloud alloydb instances
inject-fault
.
Al termine di un'operazione a lunga esecuzione, AlloyDB reintegra il
nodo.
gcloud alloydb instances inject-fault INSTANCE_ID \
--fault-type=stop-vm \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
INSTANCE_ID
: l'ID dell'istanza.REGION_ID
: la regione in cui si trova l'istanza.CLUSTER_ID
: l'ID del cluster in cui viene inserita l'istanza.PROJECT_ID
: l'ID del progetto in cui si trova il cluster.