Regionsübergreifende Replikation nutzen

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

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

Hinweise

  • Das Projekt von Google Cloud , das Sie verwenden, muss für den Zugriff auf AlloyDB aktiviert sein.
  • Sie benötigen eine der folgenden IAM-Rollen im Projekt von Google Cloud , 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ärcluster erstellen.

  4. Konfigurieren Sie Ihren sekundären Cluster:

    1. Geben Sie im Feld Cluster-ID eine Ressourcen-ID für den 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 kundenverwalteten Schlüssel aus dem angezeigten Menü aus.

      In der Google Cloud Console wird diese Liste auf Schlüssel im selbenGoogle Cloud Projekt und derselben Region wie der neue Cluster beschränkt.

      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. Geben Sie im Feld Instanz-ID eine Ressourcen-ID für Ihre sekundäre Instanz ein. Die Ressourcen-ID muss in einem Cluster 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): Deaktivieren Sie das Erstellen automatischer Sicherungen im sekundären Cluster.

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,für die Sie den Zugriff auf die Instanz zulassen 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 sekundären AlloyDB-Cluster 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. Sehen Sie sich auf der Seite Übersicht alle Details zu Ihrem sekundären Cluster an.

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 Abschnitt 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. Wenn Sie Ihrer Instanz ein Datenbank-Flag hinzufügen möchten, 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.

    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 Abschnitt 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 Symbol zum Löschen.
    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 Datenbankflag-Spezifikationen. 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. Gehen Sie auf der Seite Übersicht zum Abschnitt Instanzen in Ihrem Cluster und klicken Sie auf Sekundäre 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

Ändern Sie den Maschinentyp der sekundären Instanz mit dem Befehl gcloud alloydb instances update.

 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 Lesepoolinstanz 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 Lesepool-Instanz hinzufügen möchten.

  3. Gehen Sie auf der Seite Übersicht 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. In einem Cluster können insgesamt maximal 20 Knoten in allen Instanzen des Lesepools vorhanden sein.
    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 in 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. Bestätigen Sie, dass das Diagramm nur eine minimale Verzögerung aufweist.

      Ein Verzögerungswert von 0 ist ideal. 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 mit einem Commit übergeben 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 hochstufen.

  4. Geben Sie im angezeigten Dialogfeld die sekundäre Cluster-ID 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.

Wechsel durchführen

Prüfen Sie vor dem Durchführen eines Switchovers, ob alle Regionen, zu denen die primären und sekundären Instanzen gehören, online sind und ob die Instanzen in einem fehlerfreien Zustand sind. 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 einen Wechsel 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