Mit der regionsübergreifenden Replikation arbeiten

Auf dieser Seite wird beschrieben, wie Sie die regionenübergreifende Replikation von AlloyDB for PostgreSQL verwenden, indem Sie sekundäre Cluster erstellen und mit ihnen arbeiten.

Eine konzeptionelle Übersicht über die regionsübergreifende Replikation finden Sie unter Informationen zur regionsübergreifenden Replikation.

Hinweise

  • Das von Ihnen verwendete Google Cloud -Projekt muss für den Zugriff auf AlloyDB aktiviert sein.
  • Sie benötigen eine der folgenden IAM-Rollen im Google Cloud Projekt, das Sie verwenden:
    • roles/alloydb.admin (die vordefinierte IAM-Rolle „AlloyDB Admin“)
    • roles/owner (einfache IAM-Rolle „Inhaber“)
    • roles/editor (einfache IAM-Rolle „Bearbeiter“)

    Wenn Sie keine dieser Rollen haben, wenden Sie sich an den Organisationsadministrator, um Zugriff anzufordern.

Sekundären Cluster erstellen

Wenn Sie einen sekundären Cluster erstellen, kopiert AlloyDB einen Teil der Konfiguration des primären Clusters und wendet sie auf den sekundären Cluster an. Dazu gehören die Konfiguration für die Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR) und die Sicherungskonfiguration. AlloyDB fügt dem sekundären Cluster nach dem Erstellen keine Lesepoolinstanzen hinzu, unabhängig davon, wie viele Lesepoolinstanzen im primären Cluster vorhanden sind.

Wenn Sie die Konfiguration des primären Clusters nach dem Erstellen des sekundären Clusters aktualisieren, sind die Änderungen im sekundären Cluster nicht verfügbar. Sie können den sekundären Cluster jedoch manuell aktualisieren, damit er die neueste Konfiguration hat, die im primären Cluster verfügbar ist.

Sie können bis zu fünf sekundäre Cluster für einen primären Cluster erstellen. Alle sekundären Cluster werden von einer einzelnen primären Instanz repliziert. Wenn Sie einen sekundären Cluster hochstufen, wird er zu einem unabhängigen primären Cluster.

Das folgende Diagramm veranschaulicht, wie der sekundäre Cluster mit dem Namen cluster-2 in us-east4 hochgestuft wird:

Beispiel für das Hochstufen eines sekundären Clusters.

Abbildung 1. Beispiel für das Hochstufen eines sekundären Clusters.

So erstellen Sie einen sekundären AlloyDB-Cluster und eine sekundäre Instanz:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf einen Cluster.

  3. Klicken Sie auf der Seite Übersicht auf Sekundären Cluster erstellen.

  4. Konfigurieren Sie Ihren sekundären Cluster:

    1. Geben Sie im Feld Cluster-ID eine Ressourcen-ID für Ihren sekundären Cluster ein.
    2. Wählen Sie für den sekundären Cluster eine Region aus, die sich von der Region des primären Clusters unterscheidet.
    3. Wählen Sie die von Google verwaltete Standardverschlüsselung oder einen vom Kunden verwalteten Schlüssel (CMEK) als Verschlüsselungsmethode für die Verschlüsselung Ihres sekundären Clusters aus.

    Wenn Sie diesen Cluster mit einem CMEK-Schlüssel verschlüsseln möchten, gehen Sie so vor:

    1. Klicken Sie auf Erweiterte Verschlüsselungsoptionen.
    2. Wählen Sie Vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) aus.
    3. Wählen Sie einen vom Kunden verwalteten Schlüssel aus dem angezeigten Menü aus.

      In der Google Cloud Konsole werden in dieser Liste nur Schlüssel aus demselbenGoogle Cloud Projekt und derselben Region wie der neue Cluster angezeigt.

      Wenn Sie einen Schlüssel verwenden möchten, der nicht in dieser Liste enthalten ist, gehen Sie so vor:

      1. Klicken Sie auf Sie können Ihren Schlüssel nicht finden? Geben Sie den Ressourcennamen des Schlüssels ein.
      2. Geben Sie den Ressourcennamen in das Feld Ressourcennamen des Schlüssels ein.
      3. Klicken Sie auf Speichern.
      4. Klicken Sie auf Weiter.

    Für die Verwendung eines CMEK-Schlüssels mit AlloyDB ist eine zusätzliche Einrichtung erforderlich. Weitere Informationen finden Sie unter CMEK verwenden.

    Wenn die zugehörige primäre Instanz mit einem CMEK-Schlüssel verschlüsselt ist, müssen Sie auch den sekundären Cluster mit einem CMEK-Schlüssel verschlüsseln.

  5. Konfigurieren Sie die sekundäre Instanz:

    1. Geben Sie im Feld Instanz-ID eine Ressourcen-ID für Ihre sekundäre Instanz ein. Die Ressourcen-ID muss innerhalb eines Clusters eindeutig sein.
  6. Klicken Sie auf Cluster erstellen.

gcloud

Wenn Sie die gcloud CLI verwenden möchten, können Sie die Google Cloud CLI installieren und initialisieren oder Cloud Shell verwenden.

Führen Sie den Befehl gcloud alloydb clusters create-secondary aus:

 gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID
 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID

Ersetzen Sie Folgendes:

  • SECONDARY_CLUSTER_ID: Die ID des sekundären Clusters, den Sie erstellen möchten.
  • SECONDARY_INSTANCE_ID: Die ID der sekundären Instanz, die Sie erstellen möchten.
  • REGION_ID: Die ID der Region des sekundären Clusters, z. B. us-central1.
  • PROJECT_ID: Die ID des Projekts des sekundären Clusters.
  • LOCATION_ID: Der Standort Ihres primären Clusters, z. B. us-central1.
  • PRIMARY_CLUSTER_ID: Die ID des primären Clusters, dem der sekundäre Cluster zugeordnet ist.
  • SECONDARY_CLUSTER_ID: Die ID des sekundären Clusters, dem die sekundäre Instanz zugeordnet ist.
  • ALLOWED_PSC_PROJECTS (optional): Die durch Kommas getrennte Liste der Projekt-IDs oder Projektnummern, für die Sie den Zugriff auf die Instanz zulassen möchten, z. B. my-project-1, 12345, my-project-n. Wenn Ihr Cluster Private Service Connect als Methode zum Herstellen einer Verbindung zur Instanz verwendet, müssen Sie eine Liste zulässiger Projekte oder Nummern festlegen.
  • --no-enable-automated-backup(Optional): Erstellung automatischer Sicherungen im sekundären Cluster deaktivieren.

Wenn Sie eine sekundäre Instanz mit aktivierter Private Service Connect-Funktion erstellen möchten, fügen Sie das Flag allowed-psc-projects hinzu, um eine durch Kommas getrennte Liste von Projekt-IDs oder Projektnummern festzulegen, für die Sie den Zugriff auf die Instanz zulassen möchten, z. B. my-project-1, 12345 und my-project-n.

 gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID \
 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --allowed-psc-projects=ALLOWED_PSC_PROJECTS

Ersetzen Sie Folgendes:

  • ALLOWED_PSC_PROJECTS (optional): Die durch Kommas getrennte Liste der Projekt-IDs oder Projektnummern,denen Sie Zugriff auf die Instanz gewähren möchten, z. B. my-project-1,12345 und my-project-n. Wenn Ihr Cluster Private Service Connect als Methode zum Herstellen einer Verbindung zur Instanz verwendet, müssen Sie eine Liste zulässiger Projekte oder Nummern festlegen.

Wenn Sie eine sekundäre Instanz für einen Cluster mit öffentlicher IP-Adresse erstellen möchten, fügen Sie den Parameter --assign-inbound-public-ip=ASSIGN_IPV4 hinzu.

 gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
  --assign-inbound-public-ip=ASSIGN_IPV4

Optional können Sie die durch Kommas getrennte Liste der CIDR-Blöcke, z. B. 64.233.160.0/16, an den Parameter --authorized-external-networks übergeben, um autorisierte externe Netzwerke für Ihre Instanz festzulegen.

Sekundären Cluster ansehen

So rufen Sie detaillierte Informationen zu einem AlloyDB-Sekundärcluster auf:

  1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf einen sekundären Cluster.

  3. Auf der Seite Übersicht finden Sie alle Details zu Ihrem sekundären Cluster.

Sekundäre Instanz aktualisieren

Sie können eine sekundäre Instanz aktualisieren, um Datenbank-Flags hinzuzufügen, zu ändern oder zu löschen. Sie können auch den Maschinentyp der sekundären Instanz skalieren.

Datenbank-Flags für eine sekundäre Instanz konfigurieren

So fügen Sie Datenbank-Flags hinzu, ändern oder löschen sie:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf einen sekundären Cluster, den Sie ändern möchten.

  3. Rufen Sie auf der Seite Übersicht den Bereich Instanzen in Ihrem Cluster auf, wählen Sie die sekundäre Instanz aus und klicken Sie dann auf Sekundäre Instanz bearbeiten.

  4. So fügen Sie ein Datenbankflag für Ihre Instanz hinzu, ändern oder löschen es:

    Markierung hinzufügen

    1. Klicken Sie auf Flag hinzufügen, um Ihrer Instanz ein Datenbank-Flag hinzuzufügen.
    2. Wählen Sie ein Flag aus der Liste Neues Datenbankflag aus.
    3. Geben Sie einen Wert für das Flag an.
    4. Klicken Sie auf Fertig.

    Flag ändern

    1. Wenn Sie ein in Ihrer Instanz vorhandenes Datenbank-Flag ändern möchten, maximieren Sie das Datenbank-Flag und ändern Sie den Wert des vorhandenen Flags im Bereich Datenbank-Flag bearbeiten.
    2. Klicken Sie auf Fertig.

    Kennzeichnung löschen

    1. Wenn Sie ein Datenbank-Flag aus Ihrer Instanz löschen möchten, wählen Sie ein Flag aus und klicken Sie auf das Löschsymbol.
    2. Klicken Sie auf Fertig.
  5. Klicken Sie auf Sekundäre E-Mail-Adresse aktualisieren.

gcloud

Verwenden Sie den Befehl gcloud alloydb instances update, um die Datenbank-Flags für eine sekundäre Instanz zu ändern.

 gcloud alloydb instances update SECONDARY_INSTANCE_ID \
  --database-flags FLAGS_LIST \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID

Ersetzen Sie Folgendes:

  • SECONDARY_INSTANCE_ID: Die ID der sekundären Instanz.
  • FLAGS_LIST: Eine durch Kommas getrennte Liste mit einer oder mehreren Spezifikationen für Datenbank-Flags. Jede Spezifikation besteht aus dem Namen des Flags, einem Gleichheitszeichen (=) und dem Wert, der den Flags zugewiesen werden soll. Für Datenbank-Flags, die keine Werte annehmen, geben Sie den Namen des Flags gefolgt von einem Gleichheitszeichen (=) an.
  • REGION_ID: Die Region, in der sich die sekundäre Instanz befindet, z. B. us-central1.
  • CLUSTER_ID: Die ID des Clusters, in dem sich die sekundäre Instanz befindet.
  • PROJECT_ID: Die ID des Projekts, in dem sich der sekundäre Cluster befindet.

Maschinentyp der sekundären Instanz skalieren

So skalieren Sie den Maschinentyp Ihrer sekundären Instanz:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf einen sekundären Cluster, den Sie ändern möchten.

  3. Rufen Sie auf der Seite Übersicht den Abschnitt Instanzen in Ihrem Cluster auf und klicken Sie auf Sekundär bearbeiten.

    Diese Aktion ist nicht verfügbar, wenn auf der Seite der Status des Clusters als Wartung angegeben ist. Die Aktion ist wieder verfügbar, wenn sich der Status in Bereit ändert.

  4. Wählen Sie einen Maschinentyp aus.

  5. Klicken Sie auf Sekundäre E-Mail-Adresse aktualisieren.

gcloud

Verwenden Sie den Befehl gcloud alloydb instances update, um den Maschinentyp der sekundären Instanz zu ändern.

 gcloud alloydb instances update SECONDARY_INSTANCE_ID \
  --cpu-count=CPU_COUNT \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID

Ersetzen Sie Folgendes:

  • SECONDARY_INSTANCE_ID: Die ID der sekundären Instanz, die Sie aktualisieren.
  • CPU_COUNT: Die Anzahl der vCPUs, die Sie für die Instanz benötigen. Gültige Werte sind:

    • 2 (2 vCPUs, 16 GB RAM)
    • 4 (4 vCPUs, 32 GB RAM)
    • 8 (8 vCPUs, 64 GB RAM)
    • 16 (16 vCPUs, 128 GB RAM)
    • 32 (32 vCPUs, 256 GB RAM)
    • 64 (64 vCPUs, 512 GB RAM)
  • REGION_ID: Die Region, in der sich die Instanz befindet.

  • CLUSTER_ID: Die ID des Clusters, in dem sich die Instanz befindet.

  • PROJECT_ID: Die ID des Projekts, in dem sich der Cluster befindet.

Wenn der Befehl eine Fehlermeldung zurückgibt, die den Ausdruck invalid cluster state MAINTENANCE enthält, wird der Cluster routinemäßig gewartet. Dadurch wird die Neukonfiguration der Instanz vorübergehend verhindert. Führen Sie den Befehl noch einmal aus, nachdem der Cluster wieder den Status READY erreicht hat.

Informationen zum Prüfen des Clusterstatus finden Sie unter Clusterdetails ansehen.

Lesepoolinstanzen zu einem sekundären Cluster hinzufügen

So fügen Sie einem sekundären Cluster eine Lesepool-Instanz hinzu:

  1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf einen sekundären Cluster, dem Sie eine Lesepoolinstanz hinzufügen möchten.

  3. Rufen Sie die Seite Übersicht auf, gehen Sie zum Abschnitt Instanzen in Ihrem Cluster und klicken Sie auf Lesepool hinzufügen.

  4. Konfigurieren Sie die Lesepoolinstanz:

    1. Geben Sie im Feld Lesepoolinstanz-ID eine ID für die Lesepoolinstanz ein.
    2. Geben Sie im Feld Anzahl der Knoten eine Anzahl von Knoten ein. Die Anzahl der Knoten in einer Lesepoolinstanz bestimmt die gesamte Rechenkapazität der Instanz. Ein Cluster kann maximal 20 Knoten in allen Lesepoolinstanzen haben.
    3. Wählen Sie einen Maschinentyp aus.
    4. Optional: Legen Sie benutzerdefinierte Flags für Ihre Instanz fest. Gehen Sie für jedes Flag so vor:

      1. Klicken Sie auf Flag hinzufügen.
      2. Wählen Sie ein Flag aus der Liste Neues Datenbankflag aus.
      3. Geben Sie einen Wert für das Flag an.
      4. Klicken Sie auf Fertig.
  5. Klicken Sie auf Lesepool hinzufügen.

Sekundären Cluster hochstufen

Bevor Sie einen sekundären Cluster hochstufen, führen Sie die folgenden Schritte aus, um zu prüfen, ob der sekundäre Cluster alle vom primären Cluster empfangenen Transaktionen angewendet hat:

  1. Beenden Sie alle Schreibvorgänge an den primären Cluster.
  2. Prüfen Sie den Replikationsstatus des sekundären Clusters. Führen Sie dazu die folgenden Schritte aus:

    1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

      Zu den Clustern

    2. Klicken Sie in der Liste der Cluster auf den Namen des sekundären Clusters, den Sie hochstufen möchten.

    3. Klicken Sie auf der Seite mit den Clusterdetails auf Monitoring.

    4. Wählen Sie in der Liste Monitoring die sekundäre Instanz aus. Sie wird in der Liste als Sekundär: INSTANCE_NAME angezeigt.

    5. Suchen Sie in der Liste der Messwerte nach dem Diagramm Replikationsverzögerung der primären Instanz.

    6. Prüfen Sie, ob das Diagramm nur eine minimale Verzögerung aufweist.

      Ein optimaler Verzögerungswert ist 0. Wenn die Verzögerung größer als 0 ist, können Sie den sekundären Cluster trotzdem hochstufen. Dabei besteht jedoch das Risiko, dass einige der letzten Transaktionen verloren gehen, die bereits im primären Cluster committet wurden.

    7. Suchen Sie in der Liste der Messwerte nach dem Diagramm Replikationsstatus.

    8. Prüfen Sie, ob alle im Diagramm dargestellten Knoten den Wert streaming haben.

So stufen Sie einen sekundären Cluster zum primären Cluster hoch:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf einen sekundären Cluster, den Sie zum primären Cluster hochstufen möchten.

  3. Klicken Sie auf der Seite Übersicht auf Cluster bewerben.

  4. Geben Sie im angezeigten Dialogfeld die ID des sekundären Clusters ein, um zu bestätigen, dass Sie den Cluster hochstufen möchten.

  5. Klicken Sie auf Hochstufen.

    Nachdem der Cluster hochgestuft wurde, wird das Feld Typ: Sekundärer Cluster (hochverfügbar) auf der Seite Übersicht in Typ: Hochverfügbar mit Lesepools geändert.

gcloud

Führen Sie den Befehl gcloud alloydb clusters promote aus:

 gcloud alloydb clusters promote SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID \

Ersetzen Sie Folgendes:

  • SECONDARY_CLUSTER_ID: Die ID des sekundären Clusters, den Sie hochstufen möchten.
  • REGION_ID: Die ID der Region des sekundären Clusters,z. B. us-central1.
  • PROJECT_ID: Die ID des Projekts des sekundären Clusters.

Switchover durchführen

Prüfen Sie vor dem Switchover, ob alle Regionen, zu denen die primäre und die sekundäre Instanz gehören, online sind und ob die Instanzen fehlerfrei funktionieren. Weitere Informationen finden Sie unter Instanz mit dem AlloyDB-Systemstatistik-Dashboard überwachen.

Wenn Sie einen Switchover durchführen und mehrere sekundäre Cluster haben, treten die folgenden Änderungen auf:

  • Der sekundäre Cluster, der den Switchover-Befehl empfängt, wird zu einem primären Cluster.
  • Der bisherige primäre Cluster wird zu einem sekundären Cluster, der Daten aus dem neuen primären Cluster repliziert.
  • Alle anderen sekundären Cluster werden auf die Replikation vom neuen primären Cluster umgestellt.

Das folgende Diagramm veranschaulicht eine Umstellung von cluster-1 in us-central1 auf cluster-2 in us-east4:

Beispiel für einen Switchover zu einem von zwei sekundären Clustern.

Abbildung 2. Beispiel für einen Switchover zu einem von zwei sekundären Clustern.

So führen Sie eine Umstellung durch:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf einen sekundären Cluster, den Sie als primären Cluster festlegen möchten.

  3. Klicken Sie auf der Seite Übersicht auf Wechseln.

  4. Geben Sie im angezeigten Dialogfeld die ID des sekundären Clusters ein, um zu bestätigen, dass Sie den Cluster wechseln möchten.

  5. Klicken Sie auf Umstellung.

Nach der Umstellung des Clusters wird das Feld Typ: Sekundärer Cluster auf der Seite Übersicht zu
Clustertyp: Primärer Cluster und Clustertyp: Sekundärer Cluster aktualisiert.

gcloud

Führen Sie den Befehl gcloud alloydb clusters switchover aus:

 gcloud alloydb clusters switchover SECONDARY_CLUSTER_ID \
   --region=REGION_ID \
   --project=PROJECT_ID \

Ersetzen Sie Folgendes:

  • SECONDARY_CLUSTER_ID: Die ID des sekundären Clusters, den Sie hochstufen möchten.
  • REGION_ID: Die ID der Region des sekundären Clusters, z. B. us-central1.
  • PROJECT_ID: Die ID des Projekts des sekundären Clusters.

Nächste Schritte