Testar uma instância principal para alta disponibilidade

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.