Trabalhar com a replicação entre regiões

Selecione uma versão da documentação:

Nesta página, descrevemos como usar a replicação entre regiões criando e trabalhando com clusters secundários.

Para uma visão geral conceitual da replicação entre regiões, consulte Sobre a replicação entre regiões.

Antes de começar

  • O projeto do Google Cloud que você está usando precisa ter sido ativado para acessar o AlloyDB Omni.
  • 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 o acesso.

Criar um cluster secundário

Ao criar um cluster secundário, o AlloyDB copia e aplica algumas das configurações do cluster primário, incluindo recuperação pontual (PITR) e configuração de backup, ao cluster secundário. O AlloyDB não adiciona instâncias de pool de leitura ao cluster secundário depois da criação, não importa quantas instâncias de pool de leitura existam no cluster principal.

Se você atualizar a configuração do cluster principal depois de criar o cluster secundário, as mudanças não vão estar disponíveis no cluster secundário. No entanto, é possível atualizar manualmente o cluster secundário para ter a configuração mais recente disponível no cluster principal.

Para criar um cluster secundário e uma instância secundária do AlloyDB, siga estas etapas:

Console

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

    Acessar Clusters

  2. Clique em um cluster na coluna Nome do Recurso.

  3. Na página Visão geral, clique em Criar cluster secundário.

  4. Configure o cluster secundário:

    1. No campo ID do cluster, insira um ID de recurso para o cluster secundário.
    2. Selecione uma região para o cluster secundário diferente da região do cluster principal.
    3. Selecione a criptografia padrão gerenciada pelo Google ou uma chave gerenciada pelo cliente (CMEK) como um método de criptografia para criptografar o cluster secundário.

    Se você quiser criptografar esse cluster usando uma chave CMEK, siga estas etapas:

    1. Clique em Opções avançadas de criptografia.
    2. Selecione Chave de criptografia gerenciada pelo cliente (CMEK).
    3. Selecione uma chave gerenciada pelo cliente no menu que aparece.

      O console Google Cloud limita essa lista às chaves no mesmo projetoGoogle Cloud e região do novo cluster.

      Para usar uma chave que não está nessa lista, siga estas etapas:

      1. Clique em Não encontra sua chave? Insira o nome do recurso da chave.
      2. Insira o nome do recurso no campo Nome do recurso da chave.
      3. Clique em Salvar.
      4. Clique em Continuar.

    O uso da chave CMEK com o AlloyDB exige algumas configurações adicionais. Para mais informações, consulte Usar CMEK.

    Se a instância principal associada for criptografada com uma chave CMEK, o cluster secundário também precisará ser criptografado com uma chave CMEK.

  5. Configure a instância secundária:

    1. No campo ID da instância, insira um ID de recurso para a instância secundária. O ID do recurso precisa ser exclusivo em um cluster.
  6. Clique em Criar cluster.

gcloud

Para usar a gcloud CLI, você pode instalar e inicializar a CLI do Google Cloud ou usar o Cloud Shell.

Use o comando gcloud alloydb clusters create-secondary:

 gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID \
 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID

Substitua:

  • SECONDARY_CLUSTER_ID: o ID do cluster secundário que você quer criar.
  • SECONDARY_INSTANCE_ID: o ID da instância secundária que você quer criar.
  • REGION_ID: o ID da região do cluster secundário, por exemplo, us-central1.
  • PROJECT_ID: o ID do projeto do cluster secundário.
  • LOCATION_ID: o local em que o cluster principal está localizado. Por exemplo, us-central1.
  • PRIMARY_CLUSTER_ID: o ID do cluster principal associado ao cluster secundário.
  • SECONDARY_CLUSTER_ID: o ID do cluster secundário a que a instância secundária está associada.
  • ALLOWED_PROJECT (opcional): a lista separada por vírgulas de IDs ou números de projetos que você quer permitir o acesso à instância. Por exemplo, my-project-1, 12345, my-project-n. É necessário definir uma lista de projetos ou números permitidos se o cluster estiver usando o Private Service Connect como método de conexão com a instância.

Para criar um cluster secundário e uma instância com o Private Service Connect ativado, adicione a flag --enable-private-service-connect ao criar um cluster e a flag --allowed-psc-projects para definir uma lista separada por vírgulas de IDs ou números de projetos a que você quer permitir o acesso à instância. Por exemplo, my-project-1, 12345,my-project-n.

 gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID \
 --enable-private-service-connect
 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --allowed-psc-projects=ALLOWED_PROJECT_LIST

Substitua:

  • ALLOWED_PROJECT (opcional): a lista separada por vírgulas de IDs ou números de projetos que você quer permitir o acesso à instância. Por exemplo, my-project-1, 12345, my-project-n. É necessário definir uma lista de projetos ou números permitidos se o cluster estiver usando o Private Service Connect como método de conexão com a instância.

Ver um cluster secundário

Para conferir informações detalhadas sobre um cluster secundário do AlloyDB, siga estas etapas:

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

    Acessar Clusters

  2. Clique em um cluster secundário na coluna Nome do recurso.

  3. Na página Visão geral, confira todos os detalhes sobre o cluster secundário.

Atualizar uma instância secundária

É possível atualizar uma instância secundária para adicionar, modificar ou excluir flags de banco de dados. Também é possível escalonar o tipo de máquina da instância secundária.

Configurar flags de bancos de dados em uma instância secundária

Para adicionar, modificar ou excluir flags de banco de dados, siga estas etapas:

Console

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

    Acessar Clusters

  2. Na coluna Nome do recurso, clique em um cluster secundário que você quer modificar.

  3. Na página Visão geral, acesse Instâncias no seu cluster, selecione a instância secundária e clique em Editar secundária.

  4. Adicione, modifique ou exclua uma flag de banco de dados da sua instância:

    Adicionar uma flag

    1. Para adicionar uma flag de banco de dados à instância, clique em Adicionar flag.
    2. Selecione uma flag na lista Nova flag de banco de dados.
    3. Informe um valor para a flag.
    4. Clique em Concluído.

    Modificar uma flag

    1. Para modificar uma flag de banco de dados presente na sua instância, expanda a flag e mude o valor dela na seção Editar flag de banco de dados.
    2. Clique em Concluído.

    Excluir uma flag

    1. Para excluir uma flag de banco de dados da sua instância, selecione uma flag e clique no ícone de exclusão.
    2. Clique em Concluído.
  5. Clique em Atualizar secundário.

gcloud

Use o comando gcloud alloydb instances update para mudar as flags de banco de dados de uma instância secundária.

 gcloud alloydb instances update SECONDARY_INSTANCE_ID \
  --database-flags FLAGS_LIST \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID

Substitua:

  • SECONDARY_INSTANCE_ID: o ID da instância secundária.
  • FLAGS_LIST: uma lista separada por vírgulas de uma ou mais especificações de flag de banco de dados. Cada especificação consiste no nome da flag, um sinal de igual (=) e o valor a ser atribuído às flags. Para flags de banco de dados que não aceitam valores, forneça o nome da flag seguido de um sinal de igual (=).
  • REGION_ID: a região em que a instância secundária está localizada, por exemplo, us-central1.
  • CLUSTER_ID: o ID do cluster em que a instância secundária está localizada.
  • PROJECT_ID: o ID do projeto em que o cluster secundário está localizado.

Escalonar o tipo de máquina da instância secundária

Para escalonar o tipo de máquina da instância secundária, siga estas etapas:

Console

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

    Acessar Clusters

  2. Na coluna Nome do recurso, clique em um cluster secundário que você quer modificar.

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

    Essa ação não está disponível se a página informar um Status de Manutenção do cluster. A ação fica disponível novamente depois que o Status muda para Pronto.

  4. Selecione um tipo de máquina.

  5. Clique em Atualizar secundário.

gcloud

Use o comando gcloud alloydb instances update para mudar o tipo de máquina da instância secundária.

 gcloud alloydb instances update SECONDARY_INSTANCE_ID \
  --cpu-count=CPU_COUNT \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID

Substitua:

  • SECONDARY_INSTANCE_ID: o ID da instância secundária que você está atualizando.
  • CPU_COUNT: o número de vCPUs que você quer para a instância. Valores válidos:

    • 2 (2 vCPUs, 16 GB RAM)
    • 4 (4 vCPUs, 32 GB de RAM)
    • 8 (8 vCPUs, 64 GB RAM)
    • 16 (16 vCPUs, 128 GB RAM)
    • 32 (32 vCPUs, 256 GB de RAM)
    • 64 (64 vCPUs, 512 GB RAM)
  • 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.

Se o comando retornar uma mensagem de erro que inclua a frase invalid cluster state MAINTENANCE, o cluster está passando por manutenção de rotina. Isso impede temporariamente a reconfiguração da instância. Execute o comando de novo depois que o cluster voltar ao estado READY.

Para verificar o status do cluster, consulte Ver detalhes do cluster.

Adicionar instâncias do pool de leitura a um cluster secundário

Para adicionar uma instância de pool de leitura a um cluster secundário, siga estas etapas:

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

    Acessar Clusters

  2. Na coluna Nome do recurso, clique em um cluster secundário a que você quer adicionar uma instância de pool de leitura.

  3. Na página Visão geral, acesse a seção Instâncias no cluster e clique em Adicionar pool de leitura.

  4. Configure a instância do pool de leitura:

    1. No campo ID da instância do pool de leitura, insira um ID para a instância do pool de leitura.
    2. No campo Contagem de nós, insira um número. O número de nós em uma instância do pool de leitura determina a capacidade geral de computação da instância. É possível ter no máximo 20 nós em todas as instâncias do pool de leitura em um cluster.
    3. Selecione um tipo de máquina.
    4. Opcional: defina flags personalizadas para sua instância. Para cada flag, faça o seguinte:

      1. Clique em Adicionar flag.
      2. Selecione uma flag na lista Nova flag de banco de dados.
      3. Informe um valor para a flag.
      4. Clique em Concluído.
  5. Clique em Adicionar pool de leitura.

Promover um cluster secundário

Antes de promover um cluster secundário, siga estas etapas para verificar se ele aplicou todas as transações recebidas do cluster principal:

  1. Interrompa todas as gravações no cluster principal.
  2. Siga estas etapas para verificar o status da replicação do cluster secundário:

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

      Acessar Clusters

    2. Na lista de clusters, clique no nome do cluster secundário que você quer promover.

    3. Na página de detalhes do cluster, clique em Monitoramento.

    4. Na lista Monitoramento, selecione a instância secundária. Ela aparece na lista como Secundário: INSTANCE_NAME.

    5. Na lista de métricas, localize o gráfico Atraso de replicação da instância principal.

    6. Confirme se o gráfico mostra um atraso mínimo.

      O ideal é um valor de atraso igual a 0. Se o atraso for maior que 0, ainda será possível promover o cluster secundário, mas há o risco de perder algumas transações recentes já confirmadas no cluster primário.

    7. Na lista de métricas, localize o gráfico Status da replicação.

    8. Confirme se todos os nós representados no gráfico têm um valor de streaming.

Para promover um cluster secundário a principal, siga estas etapas:

Console

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

    Acessar Clusters

  2. Na coluna Nome do recurso, clique em um cluster secundário que você quer promover como o cluster principal.

  3. Na página Visão geral, clique em Promover cluster.

  4. Na caixa de diálogo exibida, insira o ID do cluster secundário para confirmar que você quer promover o cluster.

  5. Clique em Promover.

    Depois que o cluster for promovido, o campo Tipo: cluster secundário (altamente disponível) na página Visão geral será atualizado para Tipo: altamente disponível com pools de leitura.

gcloud

Use o comando gcloud alloydb clusters promote:

 gcloud alloydb clusters promote SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID \

Substitua:

  • SECONDARY_CLUSTER_ID: o ID do cluster secundário que você quer promover.
  • REGION_ID: o ID da região do cluster secundário, por exemplo, us-central1.
  • PROJECT_ID: o ID do projeto do cluster secundário.

Realizar uma troca

Antes de realizar uma troca, verifique se as duas regiões a que pertencem as instâncias primária e secundária estão on-line e em um estado íntegro. Para mais informações, consulte Monitorar uma instância usando o painel "Insights do sistema" do AlloyDB.

Use o comando gcloud alloydb clusters switchover:

   gcloud alloydb clusters switchover SECONDARY_CLUSTER_ID \
   --region=REGION_ID \
   --project=PROJECT_ID \

Substitua:

  • SECONDARY_CLUSTER_ID: o ID do cluster secundário que você quer promover.
  • REGION_ID: o ID da região do cluster secundário, por exemplo, us-central1.
  • PROJECT_ID: o ID do projeto do cluster secundário.

A seguir