Nesta página, descrevemos como usar a replicação entre regiões criando e gerenciando instâncias secundárias.
Para uma visão geral conceitual da replicação entre regiões, consulte Sobre a replicação entre regiões.
Antes de começar
Antes de começar a usar a replicação entre regiões do Memorystore para Valkey, verifique o seguinte:
Você instalou a CLI gcloud, versão 488.0.0 e mais recente. Para determinar a versão mais recente da CLI gcloud, use o comando
gcloud components update
.Você tem uma política de rede de serviço na região em que quer que suas instâncias secundárias estejam localizadas. Para mais informações sobre as políticas de rede de serviços, consulte Rede.
Criar uma instância secundária
Quando você cria uma instância secundária, o Memorystore para Valkey copia e aplica algumas configurações da instância principal como configurações secundárias. Para mais informações, consulte Configurações da instância.
Para criar uma instância secundária do Memorystore para Valkey, use o comando gcloud
memorystore instances create
:
gcloud
gcloud memorystore instances create SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME \ --cross-instance-replication-config-role=secondary \ --psc-auto-connections=network=NETWORK,projectId=PROJECT_ID \ --primary-instance=PRIMARY_INSTANCE_RESOURCE_PATH
Substitua:
- SECONDARY_INSTANCE_ID: o ID da instância secundária 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 e terminar com uma letra minúscula ou um número.
- PROJECT_ID: o ID do projeto em que você quer criar a instância secundária. Esse é o mesmo projeto em que sua instância principal está localizada.
- SECONDARY_REGION_NAME: a região em que você quer que a instância secundária seja localizada.
- NETWORK: a rede de nuvem privada virtual usada para criar a
instância. Ele precisa seguir este formato:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID
. O ID da rede precisa corresponder ao ID que a política de conexão do serviço usa. Caso contrário, a operação de criação falhará. - PRIMARY_INSTANCE_RESOURCE_PATH: o caminho da instância
principal. Por exemplo,
projects/my-project/locations/us-central1/instances/my-primary-instance
. Você pode escolher qualquer instância no seu projeto para ser a principal, desde que não seja uma instância secundária.
Exemplo:
gcloud memorystore instances create my-secondary-instance \ --project=my-project \ --location=us-central1 \ --cross-instance-replication-config-role=secondary \ --psc-auto-connections=network=projects/my-project/global/networks/default,projectId=my-project \ --primary-instance=projects/my-project/locations/us-central1/instances/my-primary-instance
Conferir uma instância secundária
Esta seção mostra como conferir informações sobre sua instância secundária, incluindo um campo de associação que lista as instâncias principal e secundária no grupo de replicação.
Para conferir informações sobre uma instância secundária, use o comando gcloud memorystore instances describe
.
gcloud
gcloud memorystore instances describe SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME
Substitua:
- SECONDARY_INSTANCE_ID: o ID da instância secundária
- PROJECT_ID: o ID do projeto que contém a instância secundária.
- SECONDARY_REGION_NAME: a região em que a instância secundária está localizada.
Realizar uma alternância
Com a alternância, é possível reverter os papéis das instâncias principal e secundária.
Para realizar uma troca, use o comando gcloud memorystore instances update
.
gcloud
gcloud memorystore instances update SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME \ --clear-primary-instance \ --cross-instance-replication-config-role=primary \ --cross-instance-replication-config-secondary-instances=[instance=SECONDARY_INSTANCE_RESOURCE_PATH]
Substitua:
- SECONDARY_INSTANCE_ID: o ID da instância secundária que você quer promover para uma instância principal ao realizar a conversão.
- PROJECT_ID: o ID do projeto que contém a instância secundária.
- SECONDARY_REGION_NAME: a região em que a instância secundária está localizada.
SECONDARY_INSTANCE_RESOURCE_PATH: o caminho da instância secundária. Por exemplo,
projects/my-project/locations/us-central1/instances/my-secondary-instance
.Se você tiver várias instâncias secundárias, separe cada uma delas com vírgulas. Por exemplo,
[instance=projects/my-project/locations/us-central1/instances/my-first-secondary-instance,instance=projects/my-project/locations/europe-west1/instances/my-second-secondary-instance]
.
Suponha que você tenha as seguintes instâncias contidas no
projeto my-project
:
instance-1
: essa instância principal está localizada na regiãous-east1
.instance-2
: essa instância secundária está na regiãoasia-east1
.instance-3
: essa instância secundária reside na regiãosouthamerica-east1
.
Você quer reverter os papéis de instance-1
e instance-2
para que
instance-2
seja a nova instância principal e instance-1
seja uma instância
secundária.
Para isso, use o seguinte código:
gcloud memorystore instances update instance-2 \ --project=my-project \ --location=asia-east1 \ --clear-primary-instance \ --cross-instance-replication-config-role=primary \ --cross-instance-replication-config-secondary-instances=[instance=projects/my-project/locations/us-east1/instances/instance-1,instance=projects/my-project/locations/southamerica-east1/instances/instance-3]
Desvincular instâncias secundárias
Separar instâncias secundárias da principal faz com que elas sejam instâncias independentes e totalmente funcionais que permitem leituras e gravações. Para mais informações, consulte Como gerenciar a replicação entre regiões.
As duas opções desta seção cumprem a mesma tarefa de remover instâncias secundárias da principal. Para saber qual opção usar, considere o seguinte:
- Para desconectar uma instância secundária da principal, use a opção 1.
- Para desconectar várias instâncias secundárias da principal ou para desconectar instâncias secundárias que estão indisponíveis, use a opção 2.
Desconectar uma instância secundária (opção 1)
Para desconectar uma instância secundária da principal, use o comando
gcloud memorystore instances update
.
gcloud
gcloud memorystore instances update SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME \ --cross-instance-replication-config-role=none \ --clear-primary-instance
Substitua:
- SECONDARY_INSTANCE_ID: o ID da instância secundária que você quer desconectar
- PROJECT_ID: o ID do projeto que contém a instância secundária.
- SECONDARY_REGION_NAME: a região em que a instância secundária está localizada.
Desconectar instâncias secundárias (opção 2)
Você também pode usar o comando gcloud memorystore instances update
para desconectar várias instâncias
secundárias da principal ou para desconectar instâncias secundárias
indisponíveis.
gcloud
gcloud memorystore instances update PRIMARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=PRIMARY_REGION_NAME \ --remove-cross-instance-replication-config-secondary-instances=[instance=SECONDARY_INSTANCES] \ --cross-instance-replication-config-role=none
Substitua:
- PRIMARY_INSTANCE_ID: o ID da instância principal.
- PROJECT_ID: o ID do projeto que contém as instâncias secundárias.
- PRIMARY_REGION_NAME: a região em que a instância principal está localizada.
- SECONDARY_INSTANCES: as instâncias secundárias a serem removidas. É possível
desvincular uma ou mais instâncias. Para desconectar várias instâncias, use uma
lista separada por vírgulas. Todas as instâncias secundárias especificadas precisam usar o
seguinte formato:
projects/PROJECT_ID/locations/SECONDARY_REGION_NAME/instances/INSTANCE_ID
.
Exemplo:
gcloud memorystore instances update my-primary-instance \ --project=my-project \ --location=us-central1 \ --remove-cross-instance-replication-config-secondary-instances=[instance=projects/my-project/locations/us-west4/instances/my-secondary-instance-1,instance=projects/my-project/locations/asia-southeast2/instances/my-secondary-instance-2] \ --cross-instance-replication-config-role=none
Também é possível desconectar instâncias secundárias da principal especificando uma lista de instâncias que você não quer desconectar. O Memorystore para Valkey desconecta todas as instâncias que você não inclui nessa lista.
Suponha que você tenha as seguintes instâncias secundárias:
instance-1
: esta instância está localizada na regiãous-east1
.instance-2
: essa instância está na regiãoasia-east1
.
Você quer desconectar as duas instâncias secundárias de my-primary-instance
. Essa
instância principal está localizada na região us-central1
e está contida no
projeto my-project
.
Para desconectar as instâncias secundárias, use o seguinte código:
gcloud memorystore instances update my-primary-instance \ --project=my-project \ --location=us-central1 \ --cross-instance-replication-config-secondary-instances=[] --cross-instance-replication-config-role=none
Neste exemplo, como o valor nulo []
é atribuído ao parâmetro --cross-instance-replication-config-secondary-instances
, o Memorystore para Valkey desconecta todas as instâncias secundárias da instância
principal.
Atualizar as configurações da instância
Ao atualizar as configurações da instância do Memorystore para Valkey, é possível mudar algumas configurações apenas na instância principal. O Memorystore para Valkey sincroniza essas mudanças automaticamente com a instância secundária.
É possível mudar outras configurações nas instâncias principal e secundária de forma independente. O Memorystore para Valkey aplica essas mudanças localmente e não as sincroniza com as outras instâncias.
Excluir instâncias que usam a replicação entre regiões
Esta seção explica como excluir instâncias principais e secundárias que usam a replicação entre regiões.
Excluir instâncias principais
Antes de excluir uma instância principal, é necessário desanexar ou excluir todas as instâncias secundárias. Em seguida, exclua a instância principal.
Para evitar exclusões acidentais, não é possível usar um único comando para excluir instâncias primárias e secundárias.
Excluir instâncias secundárias
Para excluir instâncias secundárias, siga as instruções em Excluir instâncias, substituindo INSTANCE pelo ID da instância secundária.