Creare e gestire la replica tra regioni

Questa pagina descrive come utilizzare la replica tra regioni creando e gestendo istanze secondarie.

Per una panoramica concettuale della replica tra regioni, consulta Informazioni sulla replica tra regioni.

Prima di iniziare

Prima di iniziare a utilizzare la replica tra regioni per Memorystore for Valkey, verifica quanto segue:

  • Hai installato gcloud CLI, versione 488.0.0 e successive. Per determinare la versione più recente di gcloud CLI, utilizza il comando gcloud components update.

  • Esiste un criterio di rete di servizio nella regione in cui vuoi collocare le istanze secondarie. Per ulteriori informazioni sulle norme relative alle reti di servizi, consulta Networking.

Crea un'istanza secondaria

Quando crei un'istanza secondaria, Memorystore for Valkey copia e applica alcune impostazioni dell'istanza principale come impostazioni dell'istanza secondaria. Per ulteriori informazioni, consulta Impostazioni istanza.

Per creare un'istanza Memorystore for Valkey secondaria, utilizza il 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

Sostituisci quanto segue:

  • SECONDARY_INSTANCE_ID: l'ID dell'istanza secondaria che stai creando. L'ID deve contenere da 1 a 63 caratteri e utilizzare solo lettere minuscole, numeri o trattini. Deve iniziare con una lettera minuscola e terminare con una lettera minuscola o un numero.
  • PROJECT_ID: l'ID del progetto in cui vuoi creare l'istanza secondaria. Si tratta dello stesso progetto in cui si trova la tua istanza principale.
  • SECONDARY_REGION_NAME: la regione in cui vuoi che si trovi l'istanza secondaria.
  • NETWORK: la rete Virtual Private Cloud utilizzata per creare l'istanza. Deve utilizzare questo formato: projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. L'ID rete deve corrispondere a quello utilizzato dalle norme di connessione ai servizi. In caso contrario, l'operazione di creazione non andrà a buon fine.
  • PRIMARY_INSTANCE_RESOURCE_PATH: il percorso dell'istanza principale. Ad esempio: projects/my-project/locations/us-central1/instances/my-primary-instance. Puoi scegliere qualsiasi istanza del progetto come istanza principale, a condizione che non sia secondaria.

Ad esempio:

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

Visualizzare un'istanza secondaria

Questa sezione mostra come visualizzare le informazioni sull'istanza secondaria, incluso un campo di appartenenza che elenca le istanze principali e secondarie nel gruppo di replica.

Per visualizzare le informazioni su un'istanza secondaria, utilizza il comando gcloud memorystore instances describe.

gcloud

gcloud memorystore instances describe SECONDARY_INSTANCE_ID \
--project=PROJECT_ID \
--location=SECONDARY_REGION_NAME

Sostituisci quanto segue:

  • SECONDARY_INSTANCE_ID: l'ID dell'istanza secondaria
  • PROJECT_ID: l'ID del progetto che contiene l'istanza secondaria
  • SECONDARY_REGION_NAME: la regione in cui si trova l'istanza secondaria

Eseguire uno switchover

Uno switchover ti consente di invertire i ruoli delle istanze principali e secondarie.

Per eseguire uno switchover, utilizza il 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]

Sostituisci quanto segue:

  • SECONDARY_INSTANCE_ID: l'ID dell'istanza secondaria che vuoi promuovere a istanza principale eseguendo il cambio.
  • PROJECT_ID: l'ID del progetto che contiene l'istanza secondaria.
  • SECONDARY_REGION_NAME: la regione in cui si trova l'istanza secondaria.
  • SECONDARY_INSTANCE_RESOURCE_PATH: il percorso dell'istanza secondaria. Ad esempio: projects/my-project/locations/us-central1/instances/my-secondary-instance.

    Se hai più istanze secondarie, separale con virgole. Ad esempio: [instance=projects/my-project/locations/us-central1/instances/my-first-secondary-instance,instance=projects/my-project/locations/europe-west1/instances/my-second-secondary-instance].

Supponiamo che il progetto my-project contenga le seguenti istanze:

  • instance-1: questa istanza principale si trova nella regione us-east1.
  • instance-2: questa istanza secondaria si trova nella regione asia-east1.
  • instance-3: questa istanza secondaria si trova nella regione southamerica-east1.

Vuoi invertire i ruoli di instance-1 e instance-2 in modo che instance-2 sia la nuova istanza principale e instance-1 sia un'istanza secondaria.

Per farlo, utilizza il seguente codice:

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]

Scollega le istanze secondarie

Se scolleghi le istanze secondarie dall'istanza principale, queste diventano istanze indipendenti e completamente funzionali che consentono sia le letture che le scritture. Per ulteriori informazioni, consulta Come gestire la replica tra regioni.

Le due opzioni in questa sezione svolgono la stessa attività di scollegamento delle istanze secondarie dall'istanza principale. Per indicazioni su quale opzione utilizzare, tieni presente quanto segue:

  • Per scollegare una singola istanza secondaria dall'istanza principale, utilizza l'opzione 1.
  • Per scollegare più istanze secondarie dall'istanza principale o per scollegare le istanze secondarie non disponibili, utilizza l'opzione 2.

Scollegare un'istanza secondaria (opzione 1)

Per scollegare un'istanza secondaria da quella principale, utilizza il 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

Sostituisci quanto segue:

  • SECONDARY_INSTANCE_ID: l'ID dell'istanza secondaria che vuoi staccare
  • PROJECT_ID: l'ID del progetto che contiene l'istanza secondaria
  • SECONDARY_REGION_NAME: la regione in cui si trova l'istanza secondaria

Scollega le istanze secondarie (opzione 2)

Puoi anche utilizzare il comando gcloud memorystore instances update per scollegare più istanze secondarie dall'istanza principale o per scollegare le istanze secondarie non disponibili.

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

Sostituisci quanto segue:

  • PRIMARY_INSTANCE_ID: l'ID dell'istanza principale.
  • PROJECT_ID: l'ID del progetto che contiene le istanze secondarie.
  • PRIMARY_REGION_NAME: la regione in cui si trova l'istanza principale.
  • SECONDARY_INSTANCES: le istanze secondarie da scollegare. Puoi staccare una o più istanze. Per scollegare più istanze, utilizza un elenco separato da virgole. Eventuali istanze secondarie specificate devono utilizzare il seguente formato: projects/PROJECT_ID/locations/SECONDARY_REGION_NAME/instances/INSTANCE_ID.

Ad esempio:

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

Puoi anche scollegare le istanze secondarie dall'istanza principale specificando un elenco di istanze che non vuoi scollegare. Memorystore per Valkey scollega le istanze che non includi in questo elenco.

Supponiamo che tu abbia le seguenti istanze secondarie:

  • instance-1: questa istanza si trova nella regione us-east1.
  • instance-2: questa istanza si trova nella regione asia-east1.

Vuoi scollegare entrambe le istanze secondarie da my-primary-instance. Questa istanza principale si trova nella regione us-central1 ed è contenuta nel progetto my-project.

Per scollegare le istanze secondarie, utilizza il seguente codice:

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

In questo esempio, poiché il valore null [] è assegnato al parametro --cross-instance-replication-config-secondary-instances, Memorystore for Valkey scollega tutte le istanze secondarie dall'istanza principale.

Aggiorna le impostazioni dell'istanza

Quando aggiorni le impostazioni dell'istanza Memorystore for Redis, puoi modificare alcune impostazioni solo nell'istanza principale. Memorystore for Valkey sincronizza automaticamente queste modifiche con l'istanza secondaria.

Puoi modificare altre impostazioni nelle istanze principali e secondarie indipendentemente. Memorystore per Valkey applica queste modifiche localmente e non le sincronizza con le altre istanze.

Eliminare le istanze che utilizzano la replica tra regioni

Questa sezione spiega come eliminare le istanze principali e secondarie che utilizzano la replica tra regioni.

Eliminare le istanze principali

Prima di poter eliminare un'istanza principale, devi sganciare o eliminare tutte le istanze secondarie. Poi, elimina l'istanza principale.

Per proteggerti da un'eliminazione accidentale, non puoi utilizzare un unico comando per eliminare sia le istanze principali che quelle secondarie.

Elimina le istanze secondarie

Per eliminare le istanze secondarie, segui le istruzioni riportate in Eliminare le istanze, sostituendo INSTANCE con l'ID della tua istanza secondaria.