O AlloyDB para PostgreSQL oferece tipos de instâncias regionais e zonais. Para garantir alta disponibilidade (HA), cada instância primária regional do AlloyDB tem um nó ativo e um nó de espera, localizados em duas zonas diferentes. Se o nó ativo ficar indisponível por qualquer motivo, o AlloyDB vai promover automaticamente o nó em espera para que ele se torne o novo nó ativo.
É possível testar esse recurso de HA automático usando a injeção de falhas para forçar abruptamente a saída do nó ativo da sua instância principal. Em seguida, o AlloyDB ativa o procedimento de HA de emergência que verifica a integridade da instância primária e reatribui o nó em espera à função de nó ativo.
A injeção de falhas também inicia uma operação de longa duração que traz o antigo nó ativo de volta à Internet após um breve intervalo. Esse nó se torna o novo nó de espera da instância principal.
Para um método mais rápido de troca das funções ativa e em espera dos nós da instância principal, consulte Fazer failover manual de uma instância principal.
Antes de começar
- O projeto Google Cloud que você está usando precisa ter sido ativado para acessar o AlloyDB.
- Você precisa ter um destes papéis do IAM no projeto Google Cloud que está usando:
roles/alloydb.admin
(o papel predefinido do IAM de administrador do AlloyDB)roles/owner
(o papel básico Proprietário do IAM)roles/editor
(o papel básico de editor do IAM)
Se você não tiver nenhum desses papéis, entre em contato com o administrador da organização para solicitar acesso.
Simular uma interrupção com uma injeção de falhas
Para testar a capacidade de recuperação de alta disponibilidade da instância principal desligando abruptamente o nó ativo, use o comando gcloud alloydb instances
inject-fault
.
Depois que uma operação de longa duração é concluída, o AlloyDB restabelece o nó.
gcloud alloydb instances inject-fault INSTANCE_ID \
--fault-type=stop-vm \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
INSTANCE_ID
: o ID da instância.REGION_ID
: a região em que a instância está localizada.CLUSTER_ID
: o ID do cluster em que a instância está localizada.PROJECT_ID
: o ID do projeto em que o cluster está localizado.