Trabalhe com a replicação entre regiões

Selecione uma versão da documentação:

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

Para uma vista geral conceptual da replicação entre regiões, consulte o artigo Acerca da replicação entre regiões.

Antes de começar

  • O Google Cloud projeto que está a usar tem de ter sido ativado para aceder ao AlloyDB Omni.
  • 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.

Crie um cluster secundário

Quando cria um cluster secundário, o AlloyDB copia e aplica algumas das configurações do cluster principal, incluindo a recuperação num ponto específico no tempo (PITR) e a configuração de cópia de segurança, ao cluster secundário. O AlloyDB não adiciona instâncias do conjunto de leitura ao cluster secundário após a sua criação, independentemente do número de instâncias do conjunto de leitura existentes no cluster principal.

Se atualizar a configuração do cluster principal depois de criar o cluster secundário, as alterações não ficam disponíveis no cluster secundário. No entanto, pode 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 estes passos:

Consola

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

    Aceda a Clusters

  2. Clique num cluster na coluna Nome do recurso.

  3. Na página Vista geral, clique em Criar cluster secundário.

  4. Configure o cluster secundário:

    1. No campo ID do cluster, introduza um ID do 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 encriptação gerida pela Google predefinida ou uma chave gerida pelo cliente (CMEK) como método de encriptação para encriptar o cluster secundário.

    Se quiser encriptar este cluster com uma chave CMEK, siga estes passos:

    1. Clique em Opções de encriptação avançadas.
    2. Selecione Chave de encriptação gerida pelo cliente (CMEK).
    3. Selecione uma chave gerida pelo cliente no menu apresentado.

      A Google Cloud consola limita esta lista a chaves no mesmo Google Cloud projeto e região que o novo cluster.

      Para usar uma chave que não esteja nesta lista, siga estes passos:

      1. Clique em Não vê a sua chave? Introduza o nome do recurso da chave.
      2. Introduza o nome do recurso no campo Nome do recurso principal.
      3. Clique em Guardar.
      4. Clique em Continuar.

    A utilização de uma chave CMEK com o AlloyDB requer alguma configuração adicional. Para mais informações, consulte o artigo Use CMEK.

    Se a instância principal associada estiver encriptada com uma chave CMEK, também tem de encriptar o respetivo cluster secundário com uma chave CMEK.

  5. Configure a instância secundária:

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

gcloud

Para usar a CLI gcloud, pode instalar e inicializar a CLI Google Cloud ou usar a 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 o seguinte:

  • SECONDARY_CLUSTER_ID: o ID do cluster secundário que quer criar.
  • SECONDARY_INSTANCE_ID: o ID da instância secundária que 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: a localização onde o seu 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 dos IDs dos projetos ou dos números dos projetos que quer permitir o acesso à instância, por exemplo, my-project-1,12345, my-project-n. Tem de definir uma lista de projetos ou números permitidos se o cluster estiver a usar o Private Service Connect como método de ligação à 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 quando criar um cluster e adicione a flag --allowed-psc-projects para definir uma lista separada por vírgulas de IDs de projetos ou números de projetos aos quais 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 o seguinte:

  • ALLOWED_PROJECT (Opcional): a lista separada por vírgulas de IDs de projetos ou números de projetos aos quais quer permitir o acesso à instância,por exemplo, my-project-1,12345, my-project-n. Tem de definir uma lista de projetos ou números permitidos se o seu cluster estiver a usar o Private Service Connect como método de ligação à instância.

Veja um cluster secundário

Para ver informações detalhadas sobre um cluster secundário do AlloyDB, siga estes passos:

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

    Aceda a Clusters

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

  3. Na página Vista geral, veja todos os detalhes sobre o cluster secundário.

Atualize uma instância secundária

Pode atualizar uma instância secundária para adicionar, modificar ou eliminar flags da base de dados. Também pode dimensionar o tipo de máquina da instância secundária.

Configure flags da base de dados numa instância secundária

Para adicionar, modificar ou eliminar flags da base de dados, conclua os seguintes passos:

Consola

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

    Aceda a Clusters

  2. Na coluna Nome do recurso, clique num cluster secundário que quer modificar.

  3. Na página Vista geral, aceda a Instâncias no cluster, selecione a instância secundária e, de seguida, clique em Editar secundária.

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

    Adicione uma flag

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

    Modifique uma flag

    1. Para modificar uma flag da base de dados presente na sua instância, expanda a flag da base de dados e modifique o valor da flag existente na secção Editar flag da base de dados.
    2. Clique em Concluído.

    Elimine uma flag

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

gcloud

Use o comando gcloud alloydb instances update para alterar as flags da base 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 o seguinte:

  • 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 flags da base de dados. Cada especificação consiste no nome da flag, num sinal de igual (=) e no valor a atribuir às flags. Para os sinalizadores de base de dados que não aceitam valores, indique o nome do sinalizador seguido de um sinal de igual (=).
  • REGION_ID: a região onde a instância secundária está localizada, por exemplo, us-central1.
  • CLUSTER_ID: o ID do cluster onde a instância secundária está colocada.
  • PROJECT_ID: o ID do projeto onde o cluster secundário está localizado.

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

Para dimensionar o tipo de máquina da instância secundária, conclua os seguintes passos:

Consola

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

    Aceda a Clusters

  2. Na coluna Nome do recurso, clique num cluster secundário que quer modificar.

  3. Na página Vista geral, aceda à secção Instâncias no cluster e clique em Editar secundário.

    Tenha em atenção que esta ação não está disponível se a página comunicar um estado de manutenção. A ação volta a ficar disponível depois de o Estado 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 alterar 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 o seguinte:

  • SECONDARY_INSTANCE_ID: o ID da instância secundária que está a atualizar.
  • CPU_COUNT: o número de vCPUs que quer para a instância. Os valores válidos incluem:

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

Se o comando devolver uma mensagem de erro que inclua a expressão invalid cluster state MAINTENANCE, significa que o cluster está a passar por manutenção de rotina. Isto impede temporariamente a reconfiguração da instância. Execute o comando novamente depois de o cluster voltar ao estado READY.

Para verificar o estado do cluster, consulte o artigo Ver detalhes do cluster.

Adicione instâncias do conjunto de leitura a um cluster secundário

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

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

    Aceda a Clusters

  2. Na coluna Nome do recurso, clique num cluster secundário ao qual quer adicionar uma instância do conjunto de leitura.

  3. Na página Vista geral, aceda à secção Instâncias no cluster e clique em Adicionar conjunto de leitura.

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

    1. No campo ID da instância do conjunto de leitura, introduza um ID para a instância do conjunto de leitura.
    2. No campo Node count (Número de nós), introduza um número de nós. O número de nós numa instância do conjunto de leitura determina a capacidade de computação geral da instância. Pode ter um máximo de 20 nós em todas as instâncias do conjunto de leitura num cluster.
    3. Selecione um tipo de máquina.
    4. Opcional: defina flags personalizadas para a sua instância. Para cada marcador, faça o seguinte:

      1. Clique em Adicionar flag.
      2. Selecione uma flag na lista Nova flag da base de dados.
      3. Indique um valor para a flag.
      4. Clique em Concluído.
  5. Clique em Adicionar conjunto de leitura.

Promova um cluster secundário

Antes de promover um cluster secundário, execute os seguintes passos para verificar se o cluster secundário aplicou todas as transações recebidas do cluster principal:

  1. Pare todas as escritas no cluster principal.
  2. Verifique o estado da replicação do cluster secundário concluindo os seguintes passos:

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

      Aceda a Clusters

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

    3. Na página de detalhes do cluster, clique em Monitorização.

    4. Na lista Monitorização, selecione a instância secundária. Aparece na lista como Secundário: INSTANCE_NAME.

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

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

      Um valor de atraso de 0 é o ideal. Se o atraso for superior a 0, ainda pode promover o cluster secundário, com o risco de perder algumas transações recentes já confirmadas no cluster principal.

    7. Na lista de métricas, localize o gráfico Estado 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 principal, siga estes passos:

Consola

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

    Aceda a Clusters

  2. Na coluna Nome do recurso, clique num cluster secundário que quer promover como cluster principal.

  3. Na página Vista geral, clique em Promover cluster.

  4. Na caixa de diálogo apresentada, introduza o ID do cluster secundário para confirmar que quer promover o cluster.

  5. Clique em Promover.

    Após a promoção do cluster, o campo Tipo: cluster secundário (altamente disponível) na página Vista geral é atualizado para Tipo: altamente disponível com conjuntos de leitura.

gcloud

Use o comando gcloud alloydb clusters promote:

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

Substitua o seguinte:

  • SECONDARY_CLUSTER_ID: o ID do cluster secundário que 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.

Faça uma comutação

Antes de fazer uma comutação, verifique se ambas as regiões a que as instâncias principal e secundária pertencem estão online e se as instâncias estão em bom estado. Para mais informações, consulte o artigo Monitorize uma instância com o painel de controlo do AlloyDB System Insights.

Use o comando gcloud alloydb clusters switchover:

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

Substitua o seguinte:

  • SECONDARY_CLUSTER_ID: o ID do cluster secundário que 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.

O que se segue