Fazer failover manual de uma instância principal ou secundária

Este documento descreve como fazer failover manual de uma instância primária ou secundária.

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ó em espera, que estão localizados em zonas diferentes. Se o nó ativo ficar indisponível, o AlloyDB fará o failover automático da instância primária para o nó em espera, tornando-o o novo nó ativo.

É possível fazer failover manual da instância primária para o nó em espera a qualquer momento, mesmo que o nó ativo esteja funcionando como esperado. Ao iniciar um failover manual, o AlloyDB faz o seguinte:

  1. Coloca o nó primário off-line.

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

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

O failover manual troca os papéis ativos e em 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 em 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 é destinado 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 em espera

Os nós ativos e em 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ó em 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.

Fazer failover manual em uma instância primária

Console

  1. Acesse a página Clusters.

Acessar Clusters

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

  2. Na seção Instâncias no cluster, abra o menu Ações da instância da instância primária.

  3. Clique em Failover.

  4. Na caixa de diálogo exibida, insira o ID da instância.

  5. 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_ID

Substitua:

  • 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:

  1. Antes de fazer o failover, anote as zonas dos nós da instância primária.

  2. Depois de executar o failover, anote as novas zonas dos dois nós.

  3. Confirme se as zonas dos nós ativos e em espera foram trocadas.

Fazer 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

  1. No Google Cloud console, acesse a página Clusters.

    Acessar Clusters

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

  3. Na página Visão geral , acesse a seção Instâncias no cluster , escolha a instância secundária e clique em Failover.

  4. 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_ID

Substitua:

  • 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.

A seguir