Trabalhar com a replicação entre regiões

A replicação entre regiões permite criar clusters secundários de um cluster principal para disponibilizar o cluster em diferentes regiões. Se a região do cluster principal ficar indisponível, você poderá desanexar ou fazer a transição para um cluster secundário em outra região para atender a solicitações de leitura e gravação. Os clusters secundários atendem a solicitações de leitura sem desanexar ou fazer a transição para o cluster principal. A distribuição geográfica de dados os aproxima de você e diminui a latência de leitura. Se conexões lentas ou sobrecarregadas ocorrerem em uma região, você poderá encaminhar o tráfego para outra.

Criar um cluster secundário

Ao criar um cluster secundário, o Memorystore for Redis Cluster copia e aplica algumas das configurações do cluster principal como configurações do cluster secundário. Para mais informações, consulte Configurações do cluster.

É possível criar um cluster secundário no Memorystore for Redis Cluster usando o Google Cloud console ou a Google Cloud CLI.

Console

  1. No Google Cloud console, acesse a página Memorystore for Redis Cluster.

    Memorystore for Redis Cluster

  2. Clique em um cluster principal. O cluster principal é o pai do cluster secundário que você está criando.

  3. No painel lateral, clique na guia Clusters secundários.

  4. Clique em Adicionar cluster secundário.

  5. Na janela Adicionar clusters secundários, faça as seguintes alterações:

    1. No campo ID do cluster, insira o ID do cluster secundário que você está criando. O ID precisa ter de 1 a 63 caracteres e usar apenas letras minúsculas, números ou hifens. Ele precisa começar com uma letra minúscula, terminar com uma letra minúscula ou um número e ser exclusivo na região.

    2. No menu Região, selecione a região em que você quer que o cluster secundário esteja localizado.

    3. Na seção Disponibilidade por zona, selecione uma das seguintes opções:

      • Se você quiser que todos os fragmentos e réplicas do cluster sejam distribuídos em três zonas da região em que o Memorystore for Redis Cluster cria o cluster, selecione a opção Multizonal.

        Por exemplo, se a região selecionada for us-central1 e você selecionar a opção Multizonal, o Memorystore for Redis Cluster vai distribuir os fragmentos e réplicas do cluster nas zonas us-central1-a, us-central1-b e us-central1-c. Em caso de falha zonal, os nós do cluster fazem failover para as réplicas.

      • Se você quiser que todos os fragmentos e réplicas do cluster estejam localizados em uma zona da região em que o Memorystore for Redis Cluster cria o cluster, selecione a opção Zona única e, em seguida, selecione a zona no menu Zona.

        Ao usar uma única zona, você reduz os custos de rede. No entanto, em caso de falha zonal, o failover não ocorre.

    4. No menu Réplicas, selecione o número de réplicas (por fragmento) do cluster. É possível ter zero, uma ou duas réplicas.

    5. No menu Rede, selecione uma rede para o cluster. Para mais informações sobre rede para o Memorystore for Redis Cluster, consulte Rede.

  6. Clique em Adicionar cluster secundário.

gcloud

Para criar um cluster secundário, use o gcloud redis clusters create comando.

gcloud redis clusters create CLUSTER_ID \
--project=PROJECT_ID \
--region=REGION_ID \
--cross-cluster-replication-role=secondary \
--network=NETWORK \
--primary-cluster=PRIMARY_CLUSTER_PATH

Faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster secundário que você está criando. O ID precisa ter de 1 a 63 caracteres e usar apenas letras minúsculas, números ou hifens. Ele precisa começar com uma letra minúscula, terminar com uma letra minúscula ou um número e ser exclusivo na região.
  • PROJECT_ID: o ID do projeto em que você quer criar o cluster secundário. Esse é o mesmo projeto em que o cluster principal está localizado.
  • REGION_ID: o ID da região em que você quer que o cluster secundário esteja localizado.
  • NETWORK: a rede usada para criar o cluster. Ela precisa usar este formato: projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. O ID da rede que você usa precisa corresponder ao ID da rede que a política de conexão de serviço usa. Caso contrário, não será possível criar o cluster secundário.
  • PRIMARY_CLUSTER_PATH: o caminho do cluster principal. Por exemplo: projects/my-project/locations/us-central1/clusters/my-primary-cluster. Você pode escolher qualquer cluster no seu projeto para ser o cluster principal, desde que não seja um cluster secundário.

Exemplo:

gcloud redis clusters create my-secondary-cluster \
--project=my-project \
--region=asia-east1 \
--cross-cluster-replication-role=secondary \
--network=projects/my-project/global/networks/default
--primary-cluster=projects/my-project/locations/us-central1/clusters/my-primary-cluster

Conferir um cluster secundário

É possível conferir informações de resumo sobre um cluster secundário usando o Google Cloud console ou a Google Cloud CLI.

Console

  1. No Google Cloud console, acesse a página Memorystore for Redis Cluster.

    Memorystore for Redis Cluster

  2. Clique na seta de expansão ao lado de um cluster principal. Esse cluster é o pai do cluster secundário sobre o qual você quer conferir informações.

  3. Clique no cluster secundário. As informações de resumo sobre o cluster aparecem.

gcloud

Para conferir informações sobre um cluster secundário, incluindo um campo de associação que lista os clusters principal e secundário no grupo de replicação, use o gcloud redis clusters describe comando.

gcloud redis clusters describe CLUSTER_ID \
--region=REGION_ID \

Faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster secundário
  • REGION_ID: o ID da região em que o cluster secundário está localizado

Realizar uma troca

Uma troca permite inverter os papéis dos clusters principal e secundário promovendo um cluster secundário a um cluster principal para fins de recuperação de desastres.

É possível realizar uma troca usando o Google Cloud console ou a Google Cloud CLI.

Console

  1. No Google Cloud console, acesse a página Memorystore for Redis Cluster.

    Memorystore for Redis Cluster

  2. Clique na seta de expansão ao lado de um cluster principal. Esse cluster é o pai do cluster secundário que você quer trocar.

  3. Clique no cluster secundário.

  4. Clique em Promover a principal.

  5. Na caixa de diálogo Promover cluster secundário a principal? , insira o ID do cluster secundário e clique em Promover.

Após a conclusão da troca, você precisa reconectar seus aplicativos ao novo cluster principal.

gcloud

Para realizar uma troca, use o gcloud redis clusters switchover comando.

gcloud redis clusters switchover CLUSTER_ID \
--project=PROJECT_ID \
--region=REGION_ID \

Faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster secundário que você quer trocar
  • PROJECT_ID: o ID do projeto
  • REGION_ID: o ID da região em que o cluster secundário está localizado

Após a conclusão da troca, você precisa reconectar seus aplicativos ao novo cluster principal.

Desanexar clusters secundários

Desanexar um ou mais clusters secundários do cluster principal os torna clusters independentes totalmente funcionais que permitem leituras e gravações. Para mais informações, consulte Como trabalhar com a replicação entre regiões.

É possível desanexar clusters secundários usando o Google Cloud console ou a Google Cloud CLI.

Desanexar um cluster secundário

Esta seção explica como desanexar um cluster secundário do cluster principal.

Console

  1. No Google Cloud console, acesse a página Memorystore for Redis Cluster.

    Memorystore for Redis Cluster

  2. Clique em um cluster principal. Esse é o pai do cluster secundário que você está desanexando do cluster principal.

  3. No painel lateral, clique na guia Clusters secundários.

  4. Marque a caixa de seleção ao lado do ID do cluster secundário que você está desanexando do cluster principal.

  5. Clique em Desanexar do principal.

  6. Na caixa de diálogo Desanexar cluster secundário? , insira o ID do cluster secundário e clique em Desanexar.

gcloud

Para desanexar um cluster secundário, use o gcloud redis clusters detach comando.

gcloud redis clusters detach CLUSTER_ID \
--project=PROJECT_ID \
--region=REGION_ID

Faça as seguintes substituições:

  • CLUSTER_ID: o ID do cluster secundário que você quer desanexar
  • PROJECT_ID: o ID do projeto
  • REGION_ID: o ID da região em que o cluster secundário está localizado

Desanexar vários clusters secundários

Esta seção explica como desanexar vários clusters secundários do cluster principal. Também é possível usar o procedimento nesta seção para desanexar um cluster secundário indisponível do cluster principal.

Console

  1. No Google Cloud console, acesse a página Memorystore for Redis Cluster.

    Memorystore for Redis Cluster

  2. Clique em um cluster principal. Esse é o pai dos clusters secundários que você está desanexando do cluster principal.

  3. No painel lateral, clique na guia Clusters secundários.

  4. Marque as caixas de seleção ao lado dos IDs dos clusters secundários que você está desanexando do cluster principal.

  5. Clique em Desanexar do principal.

  6. Na caixa de diálogo Desanexar clusters secundários?, faça o seguinte:

    1. Insira os IDs dos clusters secundários. Use vírgulas para separar os IDs.

    2. Clique em Desanexar.

gcloud

Para desanexar vários clusters secundários, use o gcloud redis clusters detach-secondaries comando.

gcloud redis clusters detach-secondaries PRIMARY_CLUSTER_ID \
--clusters-to-detach=SECONDARY_CLUSTERS \
--project=PROJECT_ID \
--region=PRIMARY_CLUSTER_REGION_ID

Faça as seguintes substituições:

  • PRIMARY_CLUSTER_ID: o ID do cluster principal.
  • SECONDARY_CLUSTERS: os clusters secundários que você quer desanexar. Use vírgulas para separar os IDs dos clusters. Cada cluster secundário precisa ter este formato: projects/PROJECT_ID/locations/REGION_ID/clusters/CLUSTER_ID.
  • PROJECT_ID: o ID do projeto.
  • PRIMARY_CLUSTER_REGION: o ID da região em que o cluster principal está localizado.

Exemplo:

gcloud redis clusters detach-secondaries my-primary-cluster \
--clusters-to-detach=projects/my-project/locations/us-west4/clusters/my-secondary-cluster-1,projects/my-project/locations/asia-southeast2/clusters/my-secondary-cluster-2  \
--project=my-project \
--region=us-central1

Atualizar as configurações do cluster

Esta seção fornece links para atualizar as configurações do cluster. O processo de atualização das configurações do cluster é diferente, dependendo se você altera as configurações no cluster principal ou secundário. Para mais informações sobre como atualizar as configurações, consulte Configurações do cluster.

Atualizar as configurações no cluster principal

É necessário alterar as seguintes configurações no cluster principal. Depois disso, o Memorystore for Redis Cluster sincroniza as mudanças com os clusters secundários.

Atualizar as configurações no cluster secundário

É necessário alterar as seguintes configurações no cluster secundário:

Excluir clusters que usam a replicação entre regiões

Esta seção explica como excluir clusters principal e secundário que usam a replicação entre regiões.

Excluir um cluster principal

Para excluir um cluster principal, faça o seguinte:

  1. Desanexe ou exclua todos os clusters secundários.
  2. Para excluir o cluster principal, siga as instruções em Excluir clusters.

Para se proteger contra exclusões acidentais, não é possível excluir clusters principal e secundário simultaneamente.

Excluir um cluster secundário

Para excluir um cluster secundário, siga as instruções em Excluir clusters. Para o ID do cluster, use o ID do cluster secundário.