En esta página, se describe cómo usar la replicación entre regiones mediante la creación y administración de instancias secundarias.
Para obtener una descripción general conceptual de la replicación entre regiones, consulta Acerca de la replicación entre regiones.
Antes de comenzar
Antes de comenzar a usar la replicación entre regiones para Memorystore para Valkey, verifica lo siguiente:
Instalaste la versión 488.0.0 o posterior de gcloud CLI. Para determinar la versión más reciente de la CLI de gcloud, usa el comando
gcloud components update
.Tienes una política de red de servicios en la región en la que quieres que se ubiquen tus instancias secundarias. Para obtener más información sobre las políticas de redes de servicios, consulta Herramientas de redes.
Crea una instancia secundaria
Cuando creas una instancia secundaria, Memorystore para Valkey copia y aplica algunos parámetros de configuración de la instancia principal como parámetros de configuración de la instancia secundaria. Para obtener más información, consulta Configuración de instancias.
Para crear un Memorystore secundario para la instancia de Valkey, usa el 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
Reemplaza lo siguiente:
- SECONDARY_INSTANCE_ID: Es el ID de la instancia secundaria que crearás. El ID debe tener entre 1 y 63 caracteres y usar solo letras en minúscula, números o guiones. Debe empezar con una letra minúscula y terminar con una letra o un número.
- PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia secundaria. Este es el mismo proyecto en el que se encuentra tu instancia principal.
- SECONDARY_REGION_NAME: La región en la que deseas que se ubique la instancia secundaria.
- NETWORK: Es la red de nube privada virtual que se usa para crear tu instancia. Debe usar este formato:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID
. El ID de red debe coincidir con el que usa la política de conexión del servicio. De lo contrario, la operación de creación fallará. - PRIMARY_INSTANCE_RESOURCE_PATH: Es la ruta de acceso de tu instancia principal. Por ejemplo:
projects/my-project/locations/us-central1/instances/my-primary-instance
. Puedes elegir cualquier instancia de tu proyecto para que sea la instancia principal, siempre y cuando no sea una instancia secundaria.
Por ejemplo:
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
Cómo ver una instancia secundaria
En esta sección, se muestra cómo ver información sobre tu instancia secundaria, incluido un campo de membresía que enumera las instancias principales y secundarias del grupo de replicación.
Para ver información sobre una instancia secundaria, usa el comando gcloud memorystore instances describe
.
gcloud
gcloud memorystore instances describe SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME
Reemplaza lo siguiente:
- SECONDARY_INSTANCE_ID: El ID de la instancia secundaria
- PROJECT_ID: El ID del proyecto que contiene la instancia secundaria
- SECONDARY_REGION_NAME: Es la región en la que se encuentra la instancia secundaria.
Realiza un cambio
Un cambio te permite revertir los roles de tus instancias principales y secundarias.
Para realizar un cambio, usa el 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]
Reemplaza lo siguiente:
- SECONDARY_INSTANCE_ID: Es el ID de la instancia secundaria que deseas promocionar a una instancia principal mediante el cambio.
- PROJECT_ID: El ID del proyecto que contiene la instancia secundaria.
- SECONDARY_REGION_NAME: Es la región en la que se encuentra la instancia secundaria.
SECONDARY_INSTANCE_RESOURCE_PATH: Es la ruta de acceso de tu instancia secundaria. Por ejemplo:
projects/my-project/locations/us-central1/instances/my-secondary-instance
.Si tienes varias instancias secundarias, separa cada una con comas. Por ejemplo:
[instance=projects/my-project/locations/us-central1/instances/my-first-secondary-instance,instance=projects/my-project/locations/europe-west1/instances/my-second-secondary-instance]
.
Supongamos que tienes las siguientes instancias que se contienen en el proyecto my-project
:
instance-1
: Esta instancia principal se encuentra en la regiónus-east1
.instance-2
: Esta instancia secundaria reside en la regiónasia-east1
.instance-3
: Esta instancia secundaria reside en la regiónsouthamerica-east1
.
Quieres revertir los roles de instance-1
y instance-2
para que
instance-2
sea la nueva instancia principal y instance-1
sea una instancia
secundaria.
Para ello, usa el siguiente 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]
Cómo desvincular instancias secundarias
Si desconectas las instancias secundarias de la instancia principal, se convierten en instancias independientes y completamente funcionales que permiten operaciones de lectura y escritura. Para obtener más información, consulta Cómo administrar la replicación entre regiones.
Las dos opciones de esta sección realizan la misma tarea de separar las instancias secundarias de la instancia principal. Para obtener orientación sobre qué opción usar, ten en cuenta lo siguiente:
- Para desconectar una sola instancia secundaria de la instancia principal, usa la opción 1.
- Para desconectar varias instancias secundarias de la instancia principal o desconectar instancias secundarias que no están disponibles, usa la opción 2.
Desconecta una instancia secundaria (opción 1)
Para desconectar una instancia secundaria de la instancia principal, usa el 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
Reemplaza lo siguiente:
- SECONDARY_INSTANCE_ID: Es el ID de la instancia secundaria que deseas desconectar.
- PROJECT_ID: El ID del proyecto que contiene la instancia secundaria
- SECONDARY_REGION_NAME: Es la región en la que se encuentra la instancia secundaria.
Desconecta las instancias secundarias (opción 2)
También puedes usar el comando gcloud memorystore instances update
para separar varias instancias secundarias de la instancia principal o para separar instancias secundarias que no están disponibles.
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
Reemplaza lo siguiente:
- PRIMARY_INSTANCE_ID: Es el ID de la instancia principal.
- PROJECT_ID: El ID del proyecto que contiene las instancias secundarias
- PRIMARY_REGION_NAME: Es la región en la que se encuentra la instancia principal.
- SECONDARY_INSTANCES: Son las instancias secundarias que se desconectarán. Puedes desvincular una o más instancias. Para desconectar varias instancias, usa una lista separada por comas. Todas las instancias secundarias que especifiques deben usar el siguiente formato:
projects/PROJECT_ID/locations/SECONDARY_REGION_NAME/instances/INSTANCE_ID
.
Por ejemplo:
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
También puedes desconectar instancias secundarias de la instancia principal. Para ello, especifica una lista de instancias que no deseas desconectar. Memorystore para Valkey desconecta las instancias que no incluyas en esta lista.
Supongamos que tienes las siguientes instancias secundarias:
instance-1
: Esta instancia se encuentra en la regiónus-east1
.instance-2
: Esta instancia reside en la regiónasia-east1
.
Supongamos que quieres desconectar ambas instancias secundarias de my-primary-instance
. Esta instancia principal se encuentra en la región us-central1
y se encuentra en el proyecto my-project
.
Para desconectar las instancias secundarias, usa el siguiente 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
En este ejemplo, como el valor []
nulo se asigna al parámetro --cross-instance-replication-config-secondary-instances
, Memorystore para Valkey desconecta todas las instancias secundarias de la instancia principal.
Actualiza la configuración de la instancia
Cuando actualizas la configuración de tu instancia de Memorystore para Valkey, puedes cambiar algunos parámetros de configuración solo en la instancia principal. Memorystore para Valkey sincroniza estos cambios con la instancia secundaria automáticamente.
Puedes cambiar otros parámetros de configuración de las instancias principales y secundarias de forma independiente. Memorystore para Valkey aplica estos cambios de forma local y no los sincroniza con las otras instancias.
Borra instancias que usen la replicación entre regiones
En esta sección, se explica cómo borrar instancias principales y secundarias que usan la replicación entre regiones.
Borra instancias principales
Antes de borrar una instancia principal, debes desvincular o borrar todas las instancias secundarias. Luego, borra la instancia principal.
Para protegerte contra la eliminación accidental, no puedes usar un solo comando para borrar las instancias principales y secundarias.
Borra instancias secundarias
Para borrar instancias secundarias, sigue las instrucciones que se indican en Cómo borrar instancias y reemplaza INSTANCE por el ID de tu instancia secundaria.