Este documento descreve como fazer failover manual de uma instância primária ou secundária na região para o nó de espera.
Os casos de uso comuns para acionar um failover manual incluem:
- Reequilíbrio de zona: troca dos nós de volta para as zonas preferenciais depois que um failover automático moveu o nó ativo para a zona de espera.
- Solução de problemas: failover para o nó de espera se o nó ativo tiver problemas de desempenho que não acionam um failover automático.
- Manutenção controlada: iniciação manual do failover antes de uma janela de manutenção para controlar quando ocorre a breve interrupção da conexão.
Alta disponibilidade em instâncias primárias e secundárias
O AlloyDB para PostgreSQL oferece suporte à alta disponibilidade em instâncias primárias e secundárias.
Alta disponibilidade em instâncias primárias
Para garantir a alta disponibilidade (HA), cada instância primária do AlloyDB tem um nó ativo e um nó de espera, que estão localizados em zonas diferentes. Se o nó ativo ficar indisponível, o AlloyDB fará failover automático da instância primária para o nó de espera, tornando-o o novo nó ativo.
É possível fazer failover manual da instância primária para o nó de espera a qualquer momento, mesmo que o nó ativo esteja funcionando conforme o esperado. Quando você inicia um failover manual, o AlloyDB faz o seguinte:
Coloca o nó primário off-line.
Transforma o nó de espera no novo nó ativo.
Reativa o nó ativo anterior como o novo nó de espera.
O failover manual troca os papéis ativo e de espera dos nós da instância primária. É possível acionar um failover manual sempre que você quiser que essa troca ocorra.
Por exemplo, imagine que você tenha uma instância primária com nós ativos e de espera nas zonas us-central1-a e us-central1-b, respectivamente. Uma interrupção em us-central1-a aciona um failover automático, resultando na zona us-central1-b que hospeda o nó ativo. Se você preferir manter o nó ativo na zona us-central1-a, inicie um failover manual para que o AlloyDB troque os nós da instância primária de volta para os locais anteriores à interrupção.
Durante as operações de manutenção, uma instância primária de alta disponibilidade e uma instância básica normalmente têm um tempo de inatividade mínimo de menos de um segundo. Como o failover manual é um procedimento intencional e controlado, ele não se destina a simular falhas inesperadas de hardware ou rede. Em vez disso, é possível testar a alta disponibilidade da instância primária usando a injeção de falhas.
Alta disponibilidade em instâncias secundárias
O AlloyDB oferece alta disponibilidade em instâncias secundárias para oferecer suporte à recuperação de desastres e reduzir o tempo de inatividade quando uma instância secundária fica indisponível.
Por padrão, a alta disponibilidade é configurada em uma instância secundária.
Uma instância secundária do AlloyDB inclui os seguintes nós:
- Um nó secundário ativo, que responde a solicitações
- Um nó secundário de espera
Os nós ativos e de espera estão localizados em duas zonas diferentes em uma região. Se o AlloyDB detectar a indisponibilidade do nó ativo, ele fará failover para o nó de espera para atuar como o novo nó ativo. Os dados serão redirecionados para o novo nó ativo. Esse processo é chamado de failover.
Antes de começar
- O projeto do Google Cloud que você está usando precisa ter sido ativado para acessar o AlloyDB.
- Você precisa ter um destes papéis do IAM no Google Cloud projeto que está sendo usado:
roles/alloydb.admin(o papel predefinido do IAM de Admin do AlloyDB)roles/owner(o papel básico do IAM de Proprietário)roles/editor(o papel básico do IAM de Editor)
Se você não tiver nenhum desses papéis, entre em contato com o Administrador da organização para solicitar acesso.
Realizar um failover manual em uma instância primária
Console
- Acesse a página Clusters.
Na coluna Nome do recurso, clique no nome de um cluster.
Na seção Instâncias no cluster, abra o menu Ações da instância da instância primária.
Clique em Failover.
Na caixa de diálogo exibida, insira o ID da instância.
Clique em Acionar failover.
gcloud
Execute o comando gcloud alloydb instances
failover:
gcloud alloydb instances failover INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_IDSubstitua:
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.
Para confirmar se o failover funcionou, siga estas etapas:
Antes de realizar o failover, anote as zonas dos nós da instância primária.
Depois de executar o failover, anote as novas zonas dos dois nós.
Confirme se as zonas dos nós ativos e de espera trocaram de lugar.
Realizar um failover manual em uma instância secundária
O failover manual de uma instância secundária é semelhante às etapas seguidas para fazer failover manual da instância primária.
Para fazer failover manual de um cluster secundário, siga estas etapas:
Console
No Google Cloud console, acesse a página Clusters.
Clique no nome de um cluster secundário na coluna Nome do recurso.
Na página Visão geral , acesse a seção Instâncias no cluster , escolha a instância secundária e clique em Failover.
Na caixa de diálogo exibida, insira o ID da instância e clique em Acionar failover.
gcloud
Para usar a CLI gcloud, você pode instalar e inicializar a Google Cloud CLI ou você pode usar o Cloud Shell.
Use o comando gcloud alloydb instances failover para forçar uma instância secundária a fazer failover do modo de espera.
gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
--cluster=SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_IDSubstitua:
SECONDARY_INSTANCE_ID: o ID da instância secundária que você quer fazer failover.SECONDARY_CLUSTER_ID: o ID do cluster secundário ao qual a instância secundária está associada.REGION_ID: o ID da região da instância secundária, por exemplo,us-central1.PROJECT_ID: o ID do projeto do cluster secundário.