Zu einer vorhandenen Zielinstanz migrieren

Auf dieser Seite wird beschrieben, wie Sie Ihre Datenbanken zu einer vorhandenen Cloud SQL for PostgreSQL-Instanz migrieren, die direkt in Cloud SQL erstellt wurde.

Dieser Pfad ist nützlich, wenn Ihre Zielinstanz von einem anderen Team verwaltet wird oder wenn Sie die Instanz außerhalb von Database Migration Service erstellen müssen (z. B. wenn Sie Terraform verwenden, bestimmte benutzerdefinierte Flags benötigen oder erweiterte Netzwerktopologien erforderlich sind). Wenn Ihre Migration andere Anforderungen hat, sollten Sie einen anderen Migrationsablauf in Betracht ziehen. Weitere Informationen finden Sie unter Erste Schritte mit PostgreSQL-Migrationen.

Auf übergeordneter Ebene umfasst die Migration folgende Schritte:

  1. Konfigurieren Sie die Quelldatenbank so, dass Database Migration Service Ihre Daten in die neuen Datenbanken verschieben kann.
  2. Richten Sie die Netzwerkverbindung zu Ihrer PostgreSQL-Quellinstanz ein.
  3. Bereiten Sie Ihre vorhandene Cloud SQL-Zielinstanz vor und konfigurieren Sie sie.
  4. Erstellen Sie das Quellverbindungsprofil und den Migrationsjob.
  5. 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:
  2. Überlegen Sie, in welcher Region Sie die Zieldatenbank erstellen möchten. Database Migration Service ist ein vollständig regionales Produkt. Das bedeutet, dass alle Entitäten, die mit Ihrer Migration zusammenhängen (Quell- und Zielverbindungsprofile, Migrationsjobs, Zieldatenbanken, Konvertierungsarbeitsbereiche), in einer einzigen Region gespeichert werden 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 Database Migration Service API und die Cloud SQL Admin API.

    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 mit 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 mit Database Migration Service auszuführen:

  • datamigration.*
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.instances.update
  • cloudsql.instances.delete
  • cloudsql.operations.get
  • cloudsql.users.list
  • cloudsql.users.get
  • cloudsql.users.create
  • cloudsql.users.update
  • cloudsql.users.delete

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

Quelldatenbank vorbereiten

So bereiten Sie Ihre Quelldaten 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 Verbindungen von der Cloud SQL-Zielinstanz zugelassen werden.

    Eine ausführliche Anleitung finden Sie unter Quelldatenbank konfigurieren.

  3. Quellverbindungsprofil erstellen

Zielinstanz vorbereiten und konfigurieren

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

  1. Instanzbereitschaft und Datenstatus:
    • Die Zielinstanz muss eine eigenständige Instanz (kein Replikat) im Status RUNNABLE sein.
    • Die Instanz muss sich in derselben Google Cloud Region wie Ihr Migrationsjob und Ihr Verbindungsprofil befinden.
    • Die Instanz kann jeweils nur mit einem aktiven Migrationsjob verknüpft sein.
    • Die Zielinstanz darf keine vorhandenen Nutzerdaten, benutzerdefinierten Tabellen oder nicht systemeigenen Datenbanken enthalten. Die Prüfung des Migrationsjobs schlägt fehl, wenn auf der Instanz vorhandene Nutzerdaten vorhanden sind. Weitere Informationen finden Sie unter Einschränkungen für Migrationen zu vorhandenen Zielinstanzen. Löschen Sie bei Bedarf vorhandene Daten aus Ihrer Zielinstanz.
  2. Konfiguration des Datenbank-Flags: Aktivieren Sie das Flag cloudsql.enable_pglogical auf Ihrer Cloud SQL for PostgreSQL-Zielinstanz. Dieses Flag ist für die logische Replikation erforderlich. Weitere Informationen zum Festlegen von Flags finden Sie unter Datenbank-Flags konfigurieren.
  3. Anmeldedaten und Berechtigungen für Datenbanknutzer: Achten Sie darauf, dass die erforderlichen administrativen Datenbanknutzerkonten auf Ihrer Zielinstanz vorhanden sind (z. B. der Standardnutzer postgres oder ein dedizierter Migrationsnutzer mit der Rolle cloudsqlsuperuser), um Datenbanken und Rollen zu verwalten. Sie können Datenbanknutzer mit standardmäßigen psql-Befehlen oder über die Google Cloud Console erstellen und verwalten. Weitere Informationen finden Sie in der Cloud SQL-Dokumentation unter Nutzer verwalten.
  4. Anforderungen an die Netzwerkverbindung: Prüfen Sie, ob das Netzwerk Ihrer Zielinstanz ordnungsgemäß konfiguriert ist, um mit Ihrer Quelldatenbank gemäß der gewählten Verbindungsmethode zu kommunizieren:
    • Private Service Connect: Wenn Ihre Zielinstanz für Private Service Connect aktiviert ist, muss ein ausgehender Netzwerkanhang für Private Service Connect konfiguriert sein. Weitere Informationen finden Sie in der Cloud SQL-Dokumentation unter Ausgehende Private Service Connect-Verbindungen.
    • Virtual Private Cloud-Peering (Zugriff auf private Dienste / private IP-Adresse): Für die Zielinstanz muss eine private IP-Adresse im Virtual Private Cloud-Netzwerk aktiviert sein, das mit Ihrer Quelldatenbank peert oder dorthin routet. Private IP-Adresse konfigurieren
    • Zulassungsliste für öffentliche IP-Adressen: Wenn Sie eine IP-Verbindung über öffentliche IP-Adressen verwenden, müssen Sie die öffentliche IP-Adresse auf Ihrer Zielinstanz aktivieren und die ausgehenden IP-Adressen der Instanz (einschließlich der primären und sekundären ausgehenden IP-Adressen, wenn die Instanz für Hochverfügbarkeit konfiguriert ist) in Ihrer Quellfirewall auf die Zulassungsliste setzen. Siehe Netzwerke für öffentliche IP-Adressen autorisieren.
  5. Hinweis zur Herabstufung der Instanz:
    • Bei Standard-PostgreSQL-Migrationen stuft Database Migration Service die vorhandene eigenständige Zielinstanz herab, um sie als externes Replikat Ihrer Quelldatenbank zu konfigurieren. Sie müssen diese Herabstufung beim Erstellen des Migrationsjobs in der Google Cloud Console bestätigen, indem Sie die ID der Zielinstanz eingeben.
    • Durch das Herabstufen der Instanz wird die Cloud SQL for PostgreSQL-Datenbank nicht in den Lesemodus versetzt. Sie müssen jedoch Schreibvorgänge für Tabellen oder Datenbanken vermeiden, die an der Migration beteiligt sind, um Replikationskonflikte zu vermeiden.
    • Automatische Sicherungen, die Wiederherstellung zu einem bestimmten Zeitpunkt und das Erstellen von Cloud SQL-Lesereplikaten werden ausgesetzt, bis Sie den Migrationsjob hochstufen. Weitere Informationen finden Sie unter Einschränkungen für Migrationen zu vorhandenen Zielinstanzen.
    • Wenn Sie Ihre Zielinstanz mit Infrastructure-as-Code (z. B. Terraform) verwalten, ändert Database Migration Service die Sicherungs- und Wiederherstellungseinstellungen während der Migration. Eine Anleitung zum Umgang mit Terraform-Konfigurationsabweichungen finden Sie unter Probleme diagnostizieren.

Migrationsjob erstellen und ausführen

So konfigurieren Sie die Migration 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 eine vorhandene Zielinstanz erstellen und ausführen

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

Migration abschließen

Wenn Sie Ihre Anwendung auf die neue Cloud SQL for PostgreSQL-Instanz umstellen möchten, schließen Sie die Migration mit den folgenden Schritten ab:

  1. Optional: Kaskadierende Lesereplikate einrichten. Wenn Sie kaskadierende Lesereplikate verwenden möchten, können Sie sie konfigurieren, wenn der Migrationsjob in die CDC-Phase eintritt.
  2. Beenden Sie alle Schreibvorgänge in der Quelldatenbank. Sie können sie in den Lesemodus versetzen, um die Betriebsfunktionen beizubehalten.
  3. Migrationsjob hochstufen.
  4. Optional: Migrationsdaten auf Vollständigkeit prüfen
  5. Wenn Sie Ihre Zieldatenbank mit Infrastructure-as-Code (z. B. Terraform) verwalten, wenden Sie Ihre Konfiguration nach der Hochstufung noch einmal an, um alle Einstellungen abzugleichen, die von Database Migration Service während der Migration angepasst wurden.

Nächste Schritte

Weitere Informationen zu Google Cloud -Features für Cloud SQL for PostgreSQL. Cloud SQL for PostgreSQL-Features.