Zu einem vorhandenen Zielcluster migrieren

Auf dieser Seite wird beschrieben, wie Sie Ihre Datenbanken in einen vorhandenen AlloyDB for PostgreSQL-Cluster migrieren, der direkt in AlloyDB for PostgreSQL erstellt wurde.

Dieser Pfad ist nützlich, wenn Ihr Zielcluster von einem anderen Team verwaltet wird oder wenn Sie den Cluster außerhalb von Database Migration Service erstellen müssen, um bestimmte benutzerdefinierte Flags, vorab zugewiesene IP-Bereiche oder komplexe VPC-Netzwerktopologien zu konfigurieren. Wenn für Ihre Migration andere Anforderungen gelten, sollten Sie einen anderen Migrationsablauf in Betracht ziehen. Weitere Informationen finden Sie unter Erste Schritte mit Migrationen von PostgreSQL zu AlloyDB for PostgreSQL.

Auf übergeordneter Ebene umfasst die kontinuierliche Migration folgende Schritte:

  1. Konfigurieren Sie die Quelldatenbank so, dass Database Migration Service Ihre Daten replizieren kann.
  2. Richten Sie eine Netzwerkverbindung zwischen Ihrer Quelldatenbank und Google Cloudein.
  3. Bereiten Sie den vorhandenen AlloyDB for PostgreSQL-Zielcluster vor und konfigurieren Sie ihn.
  4. Erstellen Sie das Quellverbindungsprofil und den kontinuierlichen Migrationsjob.
  5. Kontinuierlichen Migrationsjob starten und überwachen
  6. Stufen Sie den Migrationsjob hoch und stellen Sie Ihre Anwendung auf die neuen Datenbanken um.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten vonGoogle Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Hinweis

  1. Prüfen Sie, ob dieser Migrationspfad Ihr Szenario vollständig unterstützt. Weitere Informationen finden Sie auf den folgenden Seiten:
    • Auf der Seite Szenarioübersicht finden Sie unter Unterstützte Quellen und Ziele alle unterstützten Quell- und Zielversionen.
    • Bekannte Einschränkungen beschreibt operative Grenzen, unterstützte Datentypen und Leistungslimits. Database Migration Service für AlloyDB for PostgreSQL unterstützt kontinuierliche Migrationen.
  2. Überlegen Sie, in welcher Region Sie den Zielcluster erstellen möchten. Database Migration Service ist ein vollständig regionales Produkt. Das bedeutet, dass sich alle Entitäten, die mit Ihrer Migration zusammenhängen (Quellverbindungsprofile, Migrationsjobs und Zielcluster), in einer einzigen Google Cloud -Region befinden müssen.
  3. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud -Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  4. Aktivieren Sie die APIs für Database Migration Service, AlloyDB for PostgreSQL und Compute Engine.

    APIs aktivieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die erforderlichen IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie für homogene PostgreSQL-Migrationen zu AlloyDB for PostgreSQL mit dem Database Migration Service benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie in der Dokumentation zu Identity and Access Management unter Zugriff verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Ausführen homogener PostgreSQL-Migrationen mit Database Migration Service erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um homogene PostgreSQL-Migrationen zu einem vorhandenen AlloyDB for PostgreSQL-Cluster mit dem Database Migration Service durchzuführen:

  • datamigration.*
  • alloydb.clusters.get
  • alloydb.clusters.list
  • alloydb.clusters.update
  • alloydb.instances.get
  • alloydb.instances.list
  • alloydb.instances.update
  • alloydb.operations.get
  • alloydb.users.list
  • alloydb.users.get
  • alloydb.users.create
  • alloydb.users.update

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Quelldatenbank vorbereiten

So bereiten Sie Ihre Quelldatenbank für die Migration vor:

  1. Methode für die Netzwerkverbindung der Quelle auswählen und konfigurieren
  2. Konfigurieren Sie Ihre Quelldatenbankinstanz. Auf übergeordneter Ebene umfasst dies die folgenden Schritte:
    1. Installieren Sie die PostgreSQL-Erweiterung pglogical (Version 2.2.1 oder höher) in der Quelldatenbank und in allen zu migrierenden Datenbanken.
    2. Konfigurieren Sie PostgreSQL-Parameter: Legen Sie wal_level = logical fest und achten Sie auf angemessene Werte für max_replication_slots, max_wal_senders und max_worker_processes.
    3. Gewähren Sie Ihrem Migrationsnutzer Replikationsberechtigungen und konfigurieren Sie pg_hba.conf so, dass eingehende Verbindungen vom AlloyDB for PostgreSQL-Zielcluster zugelassen werden.

    Eine ausführliche Anleitung finden Sie unter Quelldatenbank konfigurieren.

  3. Quellverbindungsprofil erstellen

Zielcluster vorbereiten und konfigurieren

Wenn Sie zu einem vorhandenen AlloyDB for PostgreSQL-Cluster migrieren (z. B. einem Cluster, der von einem anderen Team vorab bereitgestellt oder mit Terraform verwaltet wird), müssen Sie vor dem Erstellen des Migrationsjobs prüfen, ob der Cluster alle Voraussetzungen für den Database Migration Service erfüllt:

  1. Clusterbereitschaft und Datenstatus:
    • Der Zielcluster muss den Status RUNNABLE haben und eine aktive primäre Instanz enthalten.
    • Der Cluster muss sich in derselben Google Cloud Region wie Ihr Migrationsjob und Ihre Verbindungsprofile befinden.
    • Der Cluster kann jeweils nur mit einem aktiven Migrationsjob verknüpft sein.
    • Der Zielcluster darf nur die Standardsystemdatenbanken (postgres, template0, template1) ohne Nutzertabellen enthalten.
  2. Konfiguration des Datenbank-Flags: Aktivieren Sie das Flag alloydb.enable_pglogical auf Ihrem AlloyDB for PostgreSQL-Zielcluster. Dieses Flag ist für die Decodierung und Aufnahme der logischen Replikation erforderlich. Eine Anleitung zum Aktualisieren von Flags finden Sie in der AlloyDB for PostgreSQL-Dokumentation unter Datenbank-Flags konfigurieren.
  3. Anmeldedaten und Berechtigungen für Datenbanknutzer: Prüfen Sie, ob das Administrator-Nutzerkonto postgres (oder ein dediziertes Migrationskonto mit der Rolle alloydbsuperuser) in Ihrem Zielcluster vorhanden ist. Database Migration Service stellt eine Verbindung zu Ihrem Ziel mit Administratorrechten her, um Replikationsabonnenten zu verwalten und Schemas zu synchronisieren.
  4. Anforderungen an die Netzwerkverbindung: Prüfen Sie, ob das Netzwerk Ihres Zielclusters ordnungsgemäß für die Kommunikation mit Ihrer Quelldatenbank gemäß der gewählten Verbindungsmethode konfiguriert ist:
    • Private Service Connect: Wenn Ihr Zielcluster für Private Service Connect aktiviert ist, prüfen Sie, ob der Cluster mit den entsprechenden Private Service Connect-Netzwerkanhängen und dem Routing konfiguriert ist, um Ihr Quellnetzwerk zu erreichen. Weitere Informationen finden Sie unter Private Service Connect konfigurieren in der AlloyDB for PostgreSQL-Dokumentation.
    • Virtual Private Cloud-Peering (Zugriff auf private Dienste/private IP-Adresse): Für den Zielcluster muss der Zugriff auf private Dienste im Virtual Private Cloud-Netzwerk konfiguriert sein, das ein Peering mit Ihrer Quelldatenbank durchführt oder dorthin weiterleitet (z. B. mit Cloud VPN oder Cloud Interconnect). Weitere Informationen finden Sie unter Zugriff auf private Dienste konfigurieren in der Dokumentation zu AlloyDB for PostgreSQL.
    • Zulassungsliste für öffentliche IP-Adressen: Wenn Ihre Quelldatenbank über das öffentliche Internet zugänglich ist, muss Ihre Quellfirewall eingehende Verbindungen von der ausgehenden IP-Adresse der primären AlloyDB for PostgreSQL-Zielinstanz zulassen.
    • Reverse-SSH-Tunnel oder TCP-Proxy-VM: Wenn sich Ihre Quelldatenbank außerhalb von Google Cloud ohne direktes privates Peering befindet, muss Ihre Compute Engine-Zwischen-VM (Bastion Host oder TCP-Proxy) in einem Subnetz bereitgestellt werden, das über das Virtual Private Cloud-Netzwerk des Zielclusters erreichbar ist. Weitere Informationen finden Sie unter Netzwerkmethoden.
  5. Hinweis zur Herabstufung der primären Instanz und zur Schreibsperre:
    • Der Database Migration Service stuft die vorhandene primäre Zielinstanz herab, damit sie während des Migrationsprozesses als externer Replikationsabonnent fungiert. Sie müssen diese Herabstufung bestätigen, wenn Sie den Migrationsjob in der Google Cloud Console konfigurieren. Geben Sie dazu die Zielcluster-ID ein.
    • Durch das Herabstufen der primären Instanz werden die Datenbanken nicht in den strikten Lesemodus versetzt. Sie müssen jedoch Schreibvorgänge für Tabellen oder Datenbanken vermeiden, die an der Migration beteiligt sind, um Replikationskonflikte und Datenabweichungen zu verhindern. Weitere Informationen finden Sie unter Einschränkungen für Migrationen zu vorhandenen Zielclustern.

Migrationsjob erstellen und ausführen

So konfigurieren Sie die kontinuierliche Migration zu einem vorhandenen Zielcluster und führen sie aus:

  1. Optional: Wenn Sie Ihre eigenen Zertifikate oder Verschlüsselungsschlüssel für den Migrationsjob verwalten möchten, bereiten Sie die erforderlichen Verschlüsselungsschlüssel vor.
  2. Migrationsjob für einen vorhandenen Zielcluster erstellen und ausführen

    Mit den Beobachtbarkeitsfunktionen von Database Migration Service können Sie den Migrationsfortschritt und den Zustand des Zielclusters überwachen. Weitere Informationen finden Sie unter Messwerte für Migrationsjobs.

Migration abschließen

Wenn Sie den Anwendungstraffic auf den neuen AlloyDB for PostgreSQL-Cluster umstellen möchten, schließen Sie die Migration so ab:

  1. Beenden Sie alle Schreibvorgänge in der Quelldatenbank. Sie können die Quelldatenbank in den Lesemodus versetzen, damit sie für Abfragen verfügbar bleibt, aber keine neuen Änderungen vorgenommen werden können.
  2. Migrationsjob hochstufen. Durch das Hochstufen des Migrationsjobs werden alle verbleibenden CDC-Transaktionen synchronisiert, die Replikation von der Quelle wird beendet und die primäre AlloyDB for PostgreSQL-Instanz wird zu einem eigenständigen, voll funktionsfähigen primären Cluster hochgestuft.
  3. Optional: Prüfen Sie die Migrationsdaten auf Vollständigkeit und Zeilenintegrität.

Nächste Schritte

Weitere Informationen zu den Features und Verwaltungsfunktionen von AlloyDB for PostgreSQL. Weitere Informationen finden Sie unter AlloyDB for PostgreSQL – Übersicht.