Trabalhar com a replicação entre regiões

Esta página descreve como usar a replicação entre regiões ao criar e trabalhar 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.
  • É necessário ter uma destas funções do IAM no projeto do Google Cloud que você está usando:
    • roles/alloydb.admin (papel predefinido do IAM de administrador do AlloyDB)
    • roles/owner (o papel básico do IAM "Proprietário")
    • roles/editor (papel básico do IAM de editor)

    Se você não tiver nenhuma dessas funções, entre em contato com o administrador da organização para solicitar acesso.

Criar um cluster secundário

Quando você cria um cluster secundário, o AlloyDB copia e aplica parte da configuração do cluster principal, incluindo a recuperação pontual (PITR, na sigla em inglês) e a configuração de backup, no cluster secundário. O AlloyDB não adiciona nenhuma instância de pool de leitura ao cluster secundário após a 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 após a criação do cluster secundário, as mudanças não estarão 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 console do Google Cloud, 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 que seja diferente da região do cluster principal.
    3. Selecione a criptografia gerenciada pelo Google padrão 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 a chave CMEK, siga estas etapas:

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

      O console do Google Cloud limita essa lista a chaves no mesmo projeto e região do novo cluster doGoogle Cloud .

      Para usar uma chave que não está nesta 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 requer mais configurações. Para mais informações, consulte Usar CMEK.

    Se a instância principal associada for criptografada com uma chave CMEK, você também precisará criptografar o cluster secundário 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 CLI gcloud, você pode instalar e inicializar a Google Cloud CLI 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 ao qual o cluster secundário está associado.
  • SECONDARY_CLUSTER_ID: o ID do cluster secundário ao qual a instância secundária está associada.
  • ALLOWED_PROJECT (opcional): a lista separada por vírgulas de IDs ou números de projeto 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 o método de conexão à instância.
  • --no-enable-automated-backup(opcional): desative a criação de backups automáticos no cluster secundário.

Para criar um cluster e uma instância secundários ativados pelo Private Service Connect, adicione a flag --enable-private-service-connect ao criar um cluster e adicione a flag --allowed-psc-projects para definir uma lista separada por vírgulas de IDs de projeto ou números de projeto 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 podem acessar a 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 uma instância secundária para um cluster com IP público ativado, adicione o parâmetro --assign-inbound-public-ip=ASSIGN_IPV4.

 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
  --assign-inbound-public-ip=ASSIGN_IPV4

Como alternativa, transmita a lista de blocos CIDR separada por vírgulas, como 64.233.160.0/16, para o parâmetro --authorized-external-networks para definir redes externas autorizadas na sua instância.

Conferir um cluster secundário

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

  1. No console do Google Cloud, 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 sinalizações de banco de dados. Também é possível dimensionar 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 sinalizações de banco de dados, siga estas etapas:

Console

  1. No console do Google Cloud, 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 cluster, selecione a instância secundária e clique em Editar secundário.

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

    Adicionar uma sinalização

    1. Para adicionar uma flag de banco de dados à sua instância, clique em Adicionar flag.
    2. Selecione uma flag na lista Nova flag do 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 do banco de dados e modifique o valor da flag atual na seção Editar flag do banco de dados.
    2. Clique em Concluído.

    Excluir uma sinalização

    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 do 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 sinalizadores 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, informe o nome da flag seguido de um sinal de igual (=).
  • REGION_ID: a região em que a instância secundária é colocada. Por exemplo, us-central1.
  • CLUSTER_ID: o ID do cluster em que a instância secundária está colocada.
  • PROJECT_ID: o ID do projeto em que o cluster secundário está colocado.

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

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

Console

  1. No console do Google Cloud, 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ário.

    Essa ação não estará disponível se a página informar um Status de cluster de Manutenção. A ação vai ficar disponível novamente depois que o Status mudar 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 de RAM)
    • 4 (4 vCPUs, 32 GB de RAM)
    • 8 (8 vCPUs, 64 GB de RAM)
    • 16 (16 vCPUs, 128 GB de RAM)
    • 32 (32 vCPUs, 256 GB de RAM)
    • 64 (64 vCPUs, 512 GB de RAM)
  • REGION_ID: a região em que a instância é colocada.

  • CLUSTER_ID: o ID do cluster em que a instância está colocada.

  • PROJECT_ID: o ID do projeto em que o cluster está colocado.

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

Para verificar o status do cluster, consulte Conferir os 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 console do Google Cloud, acesse a página Clusters.

    Acessar Clusters

  2. Na coluna Nome do recurso, clique em um cluster secundário em 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 uma contagem de nós. O número de nós em uma instância de pool de leitura determina a capacidade de computação geral 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 na sua instância. Para cada flag, faça o seguinte:

      1. Clique em Adicionar flag.
      2. Selecione uma flag na lista Nova flag do 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 o cluster secundário aplicou todas as transações recebidas do cluster primário:

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

    1. No console do Google Cloud, 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. Ele 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.

      Um valor de atraso de 0 é ideal. Se o atraso for maior que 0, ainda será possível promover o cluster secundário, mas com o risco de perder algumas transações recentes já confirmadas no cluster principal.

    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 cluster primário, siga estas etapas:

Console

  1. No console do Google Cloud, 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 é promovido, o campo Tipo: cluster secundário (altamente disponível) na página Visão geral é atualizado para Tipo: Altamente disponível com pool 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 alternância

Antes de realizar uma migração, verifique se as duas regiões às quais as instâncias principal e secundária pertencem estão on-line e se as instâncias estão 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