Regionsübergreifende Replikation erstellen und verwalten

Auf dieser Seite wird beschrieben, wie Sie die regionenübergreifende Replikation verwenden, indem Sie sekundäre Instanzen erstellen und verwalten.

Eine konzeptionelle Übersicht über die regionsübergreifende Replikation finden Sie unter Regionenübergreifende Replikation.

Hinweise

Bevor Sie die regionsübergreifende Replikation für Memorystore for Valkey verwenden, prüfen Sie Folgendes:

  • Sie haben die gcloud CLI-Version 488.0.0 oder höher installiert. Verwenden Sie den Befehl gcloud components update, um die aktuelle Version der gcloud CLI zu ermitteln.

  • Sie haben eine Dienstnetzwerkrichtlinie in der Region, in der sich Ihre sekundären Instanzen befinden sollen. Weitere Informationen zu Richtlinien für Dienstnetzwerke finden Sie unter Netzwerk.

Sekundäre Instanz erstellen

Wenn Sie eine sekundäre Instanz erstellen, kopiert Memorystore for Valkey einige Einstellungen der primären Instanz und wendet sie als Einstellungen der sekundären Instanz an. Weitere Informationen finden Sie unter Instanzeinstellungen.

Verwenden Sie den Befehl gcloud memorystore instances create, um einen sekundären Memorystore für die Valkey-Instanz zu erstellen:

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

Ersetzen Sie Folgendes:

  • SECONDARY_INSTANCE_ID: die ID der sekundären Instanz, die Sie erstellen. Die ID muss 1 bis 63 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern oder Bindestriche enthalten. Er muss mit einem Kleinbuchstaben beginnen und mit einem Kleinbuchstaben oder einer Ziffer enden.
  • PROJECT_ID: die ID des Projekts, in dem Sie die sekundäre Instanz erstellen möchten. Dies ist dasselbe Projekt, in dem sich Ihre primäre Instanz befindet.
  • SECONDARY_REGION_NAME: Die Region, in der sich die sekundäre Instanz befinden soll.
  • NETWORK: Das Virtual Private Cloud-Netzwerk, mit dem Ihre Instanz erstellt wird. Er muss dieses Format haben: projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. Die Netzwerk-ID muss mit der Netzwerk-ID übereinstimmen, die in der Richtlinie für Dienstverbindungen verwendet wird. Andernfalls schlägt der Erstellungsvorgang fehl.
  • PRIMARY_INSTANCE_RESOURCE_PATH: der Pfad zur primären Instanz. Beispiel: projects/my-project/locations/us-central1/instances/my-primary-instance Sie können eine beliebige Instanz in Ihrem Projekt als primäre Instanz auswählen, sofern es sich nicht um eine sekundäre Instanz handelt.

Beispiel:

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

Sekundäre Instanz ansehen

In diesem Abschnitt erfahren Sie, wie Sie Informationen zu Ihrer sekundären Instanz aufrufen, einschließlich eines Mitgliedschaftsfelds, in dem die primäre und die sekundäre Instanz in der Replikationsgruppe aufgeführt sind.

Verwenden Sie den Befehl gcloud memorystore instances describe, um Informationen zu einer sekundären Instanz aufzurufen.

gcloud

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

Ersetzen Sie Folgendes:

  • SECONDARY_INSTANCE_ID: die ID der sekundären Instanz
  • PROJECT_ID: Die ID des Projekts, das die sekundäre Instanz enthält
  • SECONDARY_REGION_NAME: die Region, in der sich die sekundäre Instanz befindet

Switchover durchführen

Mit einem Switchover können Sie die Rollen Ihrer primären und sekundären Instanzen umkehren.

Verwenden Sie den Befehl gcloud memorystore instances update, um einen Switchover auszuführen.

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]

Ersetzen Sie Folgendes:

  • SECONDARY_INSTANCE_ID: Die ID der sekundären Instanz, die Sie durch den Umstieg zur primären Instanz machen möchten.
  • PROJECT_ID: Die ID des Projekts, das die sekundäre Instanz enthält.
  • SECONDARY_REGION_NAME: die Region, in der sich die sekundäre Instanz befindet.
  • SECONDARY_INSTANCE_RESOURCE_PATH: der Pfad zur sekundären Instanz. Beispiel: projects/my-project/locations/us-central1/instances/my-secondary-instance

    Wenn Sie mehrere sekundäre Instanzen haben, trennen Sie diese durch Kommas. Beispiel: [instance=projects/my-project/locations/us-central1/instances/my-first-secondary-instance,instance=projects/my-project/locations/europe-west1/instances/my-second-secondary-instance].

Angenommen, Sie haben die folgenden Instanzen im Projekt my-project:

  • instance-1: Diese primäre Instanz befindet sich in der Region us-east1.
  • instance-2: Diese sekundäre Instanz befindet sich in der Region asia-east1.
  • instance-3: Diese sekundäre Instanz befindet sich in der Region southamerica-east1.

Sie möchten die Rollen von instance-1 und instance-2 umkehren, sodass instance-2 die neue primäre Instanz und instance-1 eine sekundäre Instanz ist.

Verwenden Sie dazu den folgenden Code:

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]

Sekundäre Instanzen trennen

Wenn Sie sekundäre Instanzen von der primären Instanz trennen, werden sie zu voll funktionsfähigen, unabhängigen Instanzen, die sowohl Lese- als auch Schreibvorgänge zulassen. Weitere Informationen finden Sie unter Regionenübergreifende Replikation verwalten.

Mit den beiden Optionen in diesem Abschnitt können Sie sekundäre Instanzen von der primären Instanz trennen. Beachten Sie Folgendes, um die richtige Option auszuwählen:

  • Wenn Sie eine einzelne sekundäre Instanz von der primären Instanz trennen möchten, verwenden Sie Option 1.
  • Wenn Sie mehrere sekundäre Instanzen von der primären Instanz trennen oder nicht verfügbare sekundäre Instanzen trennen möchten, verwenden Sie Option 2.

Sekundäre Instanz trennen (Option 1)

Verwenden Sie den Befehl gcloud memorystore instances update, um eine sekundäre Instanz von der primären Instanz zu trennen.

gcloud

gcloud memorystore instances update SECONDARY_INSTANCE_ID \
--project=PROJECT_ID \
--location=SECONDARY_REGION_NAME \
--cross-instance-replication-config-role=none \
--clear-primary-instance

Ersetzen Sie Folgendes:

  • SECONDARY_INSTANCE_ID: die ID der sekundären Instanz, die Sie trennen möchten
  • PROJECT_ID: Die ID des Projekts, das die sekundäre Instanz enthält
  • SECONDARY_REGION_NAME: die Region, in der sich die sekundäre Instanz befindet

Sekundäre Instanzen trennen (Option 2)

Mit dem Befehl gcloud memorystore instances update können Sie auch mehrere sekundäre Instanzen von der primären Instanz oder nicht verfügbare sekundäre Instanzen trennen.

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

Ersetzen Sie Folgendes:

  • PRIMARY_INSTANCE_ID: Die ID der primären Instanz.
  • PROJECT_ID: Die ID des Projekts, das die sekundären Instanzen enthält.
  • PRIMARY_REGION_NAME: die Region, in der sich die primäre Instanz befindet.
  • SECONDARY_INSTANCES: die sekundären Instanzen, die getrennt werden sollen. Sie können eine oder mehrere Instanzen trennen. Wenn Sie mehrere Instanzen trennen möchten, verwenden Sie eine durch Kommas getrennte Liste. Alle von Ihnen angegebenen sekundären Instanzen müssen das folgende Format haben: projects/PROJECT_ID/locations/SECONDARY_REGION_NAME/instances/INSTANCE_ID.

Beispiel:

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

Sie können auch sekundäre Instanzen von der primären Instanz trennen, indem Sie eine Liste mit Instanzen angeben, die nicht getrennt werden sollen. Memorystore for Valkey trennt alle Instanzen, die Sie nicht in diese Liste aufnehmen.

Angenommen, Sie haben die folgenden sekundären Instanzen:

  • instance-1: Diese Instanz befindet sich in der Region us-east1.
  • instance-2: Diese Instanz befindet sich in der Region asia-east1.

Sie möchten beide sekundären Instanzen von my-primary-instance trennen. Diese primäre Instanz befindet sich in der Region us-central1 und ist im Projekt my-project enthalten.

Verwenden Sie den folgenden Code, um die sekundären Instanzen zu trennen:

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 diesem Beispiel wird dem Parameter --cross-instance-replication-config-secondary-instances der Nullwert [] zugewiesen. Daher trennt Memorystore for Valkey alle sekundären Instanzen von der primären Instanz.

Instanzeinstellungen aktualisieren

Wenn Sie die Einstellungen für Ihre Memorystore for Redis-Instanz aktualisieren, können Sie einige Einstellungen nur auf der primären Instanz ändern. Memorystore for Valkey synchronisiert diese Änderungen automatisch mit der sekundären Instanz.

Andere Einstellungen können Sie in der primären und der sekundären Instanz unabhängig voneinander ändern. In Memorystore for Valkey werden diese Änderungen lokal angewendet und nicht mit den anderen Instanzen synchronisiert.

Instanzen mit regionenübergreifender Replikation löschen

In diesem Abschnitt wird beschrieben, wie Sie primäre und sekundäre Instanzen löschen, die die regionenübergreifende Replikation verwenden.

Primäre Instanzen löschen

Bevor Sie eine primäre Instanz löschen können, müssen Sie alle sekundären Instanzen trennen oder löschen. Löschen Sie dann die primäre Instanz.

Zum Schutz vor versehentlichem Löschen können Sie nicht mit einem einzigen Befehl sowohl primäre als auch sekundäre Instanzen löschen.

Sekundäre Instanzen löschen

Wenn Sie sekundäre Instanzen löschen möchten, folgen Sie der Anleitung unter Instanzen löschen und ersetzen Sie INSTANCE durch die ID der sekundären Instanz.