O AlloyDB para PostgreSQL oferece tipos de instâncias regionais e zonais. Para ajudar a garantir a elevada disponibilidade (HA), cada instância principal do AlloyDB regional tem um nó ativo e um nó de reserva, localizados em duas zonas diferentes. Se o nó ativo ficar indisponível por qualquer motivo, o AlloyDB promove automaticamente o nó de reserva para se tornar o novo nó ativo.
Pode testar esta funcionalidade de HA automática através da injeção de falhas para forçar abruptamente a colocação offline do nó ativo da sua instância principal. Em seguida, o AlloyDB ativa o procedimento de HA de emergência que verifica o estado da instância principal e, em seguida, reatribui o nó de reserva à função de nó ativo.
A injeção de falhas também inicia uma operação de longa duração que repõe o nó anteriormente ativo online após um breve intervalo. Esse nó torna-se o novo nó de espera da instância principal.
Para um método mais rápido de trocar as funções ativa e de reserva dos nós da instância principal, consulte o artigo Efetue uma comutação por falha de uma instância principal manualmente.
Antes de começar
- O Google Cloud projeto que está a usar tem de ter sido ativado para aceder ao AlloyDB.
- Tem de ter uma destas funções de IAM no Google Cloud projeto que está a usar:
roles/alloydb.admin
(a função IAM predefinida de administrador do AlloyDB)roles/owner
(a função de IAM básica de proprietário)roles/editor
(a função de IAM básica de editor)
Se não tiver nenhuma destas funções, contacte o administrador organizacional para pedir acesso.
Simule uma indisponibilidade com uma injeção de falhas
Para testar a capacidade de recuperação de HA da sua instância principal encerrando abruptamente o respetivo nó ativo, use o comando gcloud alloydb instances
inject-fault
.
Após a conclusão de uma operação de execução prolongada, o AlloyDB repõe 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 onde a instância está localizada.CLUSTER_ID
: o ID do cluster onde a instância está posicionada.PROJECT_ID
: o ID do projeto onde o cluster está localizado.