Efetue uma comutação por falha de uma instância principal ou secundária manualmente

Este documento descreve como fazer manualmente a comutação por falha de uma instância principal ou secundária.

Alta disponibilidade em instâncias principais e secundárias

O AlloyDB para PostgreSQL suporta a elevada disponibilidade em instâncias primárias e secundárias.

Alta disponibilidade em instâncias principais

Para ajudar a garantir a elevada disponibilidade (HA), cada instância principal do AlloyDB tem um nó ativo e um nó de reserva, que estão localizados em zonas diferentes. Se o nó ativo ficar indisponível, o AlloyDB faz automaticamente a comutação por falha da instância principal para o respetivo nó de reserva, tornando-o o novo nó ativo.

Pode fazer manualmente a comutação por falha da instância principal para o respetivo nó de reserva em qualquer altura, mesmo que o nó ativo esteja a funcionar conforme esperado. Quando inicia uma comutação por falha manual, o AlloyDB faz o seguinte:

  1. Coloca o nó principal offline.

  2. Transforma o nó de espera no novo nó ativo.

  3. Reativa o nó ativo anterior como o novo nó de espera.

A comutação por falha manual troca as funções ativa e de reserva dos nós da sua instância principal. Pode acionar uma comutação por falha manual sempre que quiser que esta troca ocorra.

Por exemplo, imagine que tem uma instância principal cujos nós ativos e de reserva estão localizados nas zonas us-central1-a e us-central1-b, respetivamente. Uma indisponibilidade em us-central1-a aciona uma comutação por falha automática, o que resulta na zona us-central1-b que aloja o nó ativo. Se preferir manter o nó ativo na zona us-central1-a, pode iniciar uma comutação por falha manual para fazer com que o AlloyDB troque os nós da instância principal de volta para as respetivas localizações anteriores à indisponibilidade.

Durante as operações de manutenção, uma instância principal de HA e uma instância básica normalmente têm um tempo de inatividade de manutenção mínimo inferior a um segundo. Uma vez que a comutação por falha manual é um procedimento intencional e controlado, não se destina a simular falhas inesperadas de hardware ou de rede. Em alternativa, pode testar a elevada disponibilidade da sua instância principal através da injeção de falhas.

Alta disponibilidade em instâncias secundárias

O AlloyDB oferece HA em instâncias secundárias para suportar a recuperação de desastres e reduzir o tempo de inatividade quando uma instância secundária fica indisponível.

Por predefinição, a HA está configurada numa instância secundária.

Uma instância secundária do AlloyDB inclui os seguintes nós:

  • Um nó secundário ativo que responde a pedidos
  • Um nó secundário em modo de espera

Os nós ativos e de reserva estão localizados em duas zonas diferentes numa região. Se o AlloyDB detetar a indisponibilidade do nó ativo, o nó ativo muda para o nó de espera para atuar como o novo nó ativo. Os seus dados são, em seguida, reencaminhados para o novo nó ativo. Este processo é denominado failover.

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.

Faça uma comutação por falha manual numa instância principal

Consola

  1. Aceda à página Clusters.

Aceda a Clusters

  1. Na coluna Nome do recurso, clique no nome de um cluster.

  2. Na secção Instâncias no cluster, abra o menu Ações da instância da instância principal.

  3. Clique em Failover.

  4. Na caixa de diálogo apresentada, introduza o ID da instância.

  5. Clique em Acionar comutação por falha.

gcloud

Execute o comando gcloud alloydb instances failover:

gcloud alloydb instances failover INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID

Substitua o seguinte:

  • 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á colocada.
  • PROJECT_ID: o ID do projeto onde o cluster está localizado.

Para confirmar que a comutação por falha funcionou, siga estes passos:

  1. Antes de realizar a comutação por falha, tome nota das zonas dos nós da instância principal.

  2. Após executar a comutação por falha, tome nota das novas zonas dos dois nós.

  3. Confirme que as zonas dos nós ativos e em espera trocaram de lugar.

Faça uma comutação por falha manual numa instância secundária

A ativação pós-falha manual de uma instância secundária é semelhante aos passos seguidos para a ativação pós-falha manual da instância principal.

Para fazer a comutação por falha de um cluster secundário manualmente, siga estes passos:

Consola

  1. Na Google Cloud consola, aceda à página Clusters.

    Aceda a Clusters

  2. Clique no nome de um cluster secundário na coluna Nome do recurso.

  3. Na página Vista geral, aceda à secção Instâncias no cluster, escolha a instância secundária e clique em Failover.

  4. Na caixa de diálogo apresentada, introduza o ID da instância e clique em Acionar comutação por falha.

gcloud

Para usar a CLI gcloud, pode instalar e inicializar a CLI Google Cloud ou usar a Cloud Shell.

Use o comando gcloud alloydb instances failover para forçar uma instância secundária a comutar para o respetivo modo de espera.

 gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID

Substitua o seguinte:

  • SECONDARY_INSTANCE_ID: o ID da instância secundária para a qual quer fazer a comutação por falha.
  • 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.

O que se segue?