Schnellstartmigrationen für die Migration zu AlloyDB for PostgreSQL verwenden


Auf dieser Seite wird beschrieben, wie Sie kontinuierliche Schnellstart-Migrationen für homogene PostgreSQL-Migrationen zu AlloyDB for PostgreSQL ausführen.

Übersicht

Schnellstartmigrationen sind ein einfacher kontinuierlicher Migrationsablauf für homogene PostgreSQL-Szenarien. Mit Schnellstartmigrationen kann Database Migration Service die erforderlichen Kernnetzwerk- und Migrationsressourcen automatisch konfigurieren: Netzwerkanhänge, Subnetze, Konfigurationen für private Konnektivität mit Private Service Connect-Schnittstellen, Verbindungsprofile und kontinuierliche Migrationsjobs.

Mit Schnellstartmigrationen können Sie Ihre Daten in einen vorhandenen AlloyDB for PostgreSQL-Cluster verschieben oder einen neuen Cluster erstellen, während Sie die Migration konfigurieren. Schnellstart-Migrationen eignen sich am besten für:

  • Grundlegende Migrationen, bei denen Sie keine benutzerdefinierten Einstellungen für die Parallelität von Datendumps benötigen.
  • Migration Ihrer Datenbank von einem Google Cloud -Projekt zu einem anderen. Wenn Sie eine Schnellstartmigration konfigurieren, können Sie den Zielcluster in einem anderen Projekt als die Quelle erstellen und Database Migration Service so einrichten, dass der Netzwerkanhang und das Subnetz im VPC-Netzwerk (Virtual Private Cloud) eines anderen Projekts erstellt werden.
  • Migration von Quellen mit einer privaten IP-Adresse in Ihrem Google CloudVPC-Netzwerk (Virtual Private Cloud), z. B. selbstverwaltete Datenbanken in Compute Engine oder Cloud SQL for PostgreSQL-Instanzen, die für private Netzwerke aktiviert sind.

    Für Quellen, die außerhalb von Google Cloud gehostet werden, sind möglicherweise zusätzliche Netzwerkkomponenten (z. B. eine Cloud VPN-Verbindung) erforderlich, damit sie über eine private IP-Adresse in Ihrem VPC-Netzwerk erreichbar sind.

  • Schnellstartmigrationen unterstützen die Verbindung über öffentliche IP-Adressen und Private Service Connect-Schnittstellen. Reverse-SSH-Tunnel werden für Schnellstart-Migrationen nicht unterstützt.

Weitere Informationen zu Schnellstart-Migrationen finden Sie in der Hauptdokumentation zum Database Migration Service unter Übersicht über Schnellstart-Migrationen.

Hinweis

  1. Prüfen Sie, ob Schnellstart-Migrationen Ihr Szenario vollständig unterstützen können. Weitere Informationen finden Sie unter Einschränkungen bei der Schnellstart-Migration.
  2. 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

  3. Aktivieren Sie die APIs für Database Migration Service, Compute Engine, Network Connectivity Center und AlloyDB for PostgreSQL.

    APIs aktivieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, den an der Migration beteiligten Konten in den entsprechenden Projekten die erforderlichen IAM-Rollen (Identity and Access Management) zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen von Schnellstartmigrationen zu AlloyDB for PostgreSQL mit Database Migration Service benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie in der IAM-Dokumentation unter Zugriff verwalten.

Rollen und Berechtigungen im Quellprojekt

Wenn Sie eine private IP-Verbindung verwenden, um eine Verbindung zu einer Quelldatenbank in einemGoogle Cloud -Projekt herzustellen, weisen Sie bestimmten Konten im Projekt, in dem sich Ihre Quelldatenbank befindet, die folgenden Rollen zu:

  • Für das Nutzerkonto, das die Migration ausführt:
  • Für das Database Migration Service-Dienstkonto des Zielprojekts: Compute-Netzwerkbetrachter (roles/compute.networkViewer)

    Das Database Migration Service-Dienstkonto wird erstellt, wenn Sie die Database Migration Service API aktivieren. Die mit diesem Konto verknüpfte E‑Mail-Adresse wird automatisch generiert und kann nicht geändert werden. Diese E-Mail-Adresse hat das folgende Format:

    service-DESTINATION_PROJECT_NUMBER@gcp-sa-datamigration.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Einrichten der Verbindung für Ihr Quelldatenbankprojekt im Rahmen einer Schnellstartmigration mit Database Migration Service erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen (Quelle), um die erforderlichen Berechtigungen im Detail anzuzeigen:

Erforderliche Berechtigungen (Quelle)

Die folgenden Berechtigungen sind erforderlich, um homogene Schnellstartmigrationen mit dem Database Migration Service durchzuführen:

Für das Nutzerkonto, das die Migration ausführt:

  • compute.networks.get
  • compute.networks.list
  • compute.networks.updatePolicy
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.create
  • compute.subnetworks.use
  • compute.networkAttachments.create
  • compute.networkAttachments.get
  • compute.networkAttachments.list
  • compute.networkAttachments.update
  • compute.networkAttachments.use
  • compute.regionOperations.get
  • networkconnectivity.internalRanges.create
  • networkconnectivity.internalRanges.get
  • networkconnectivity.operations.get
  • resourcemanager.projects.getIamPolicy

Für das Database Migration Service-Dienstkonto des Zielprojekts:

  • compute.networkAttachments.get

Rollen und Berechtigungen im Zielprojekt

Weisen Sie dem Nutzerkonto, das die Migration im Projekt Google Cloud durchführt, in dem sich Ihre Zieldatenbank befindet, die folgenden Rollen zu:

Außerdem benötigt das Database Migration Service-Dienstkonto des Zielprojekts (service-DESTINATION_PROJECT_NUMBER@gcp-sa-datamigration.) die Rolle Database Migration Service Agent (roles/datamigration.serviceAgent) für das Zielprojekt. Google Cloud weist diese Rolle automatisch zu, wenn Sie die Database Migration Service API aktivieren.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Einrichten der erforderlichen Migrationskomponenten in Ihrem Zieldatenbankprojekt im Rahmen einer Schnellstartmigration mit Database Migration Service erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen (Ziel), um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen (Ziel)

Die folgenden Berechtigungen sind erforderlich, um homogene Schnellstartmigrationen mit dem Database Migration Service durchzuführen:

Für das Nutzerkonto, das die Migration ausführt:

  • datamigration.privateconnections.get
  • datamigration.privateconnections.list
  • datamigration.privateconnections.create
  • datamigration.migrationjobs.create
  • datamigration.migrationjobs.update
  • datamigration.migrationjobs.verify
  • datamigration.migrationjobs.start
  • datamigration.migrationjobs.get
  • datamigration.migrationjobs.fetchSourceObjects
  • datamigration.operations.get
  • datamigration.connectionprofiles.create
  • datamigration.connectionprofiles.get
  • datamigration.connectionprofiles.update
  • datamigration.locations.list
  • datamigration.locations.fetchStaticIps
  • alloydb.clusters.create
  • alloydb.clusters.get
  • alloydb.clusters.list
  • alloydb.clusters.update
  • alloydb.clusters.delete
  • alloydb.instances.create
  • alloydb.instances.get
  • alloydb.instances.list
  • alloydb.instances.update
  • alloydb.instances.delete
  • alloydb.operations.get
  • alloydb.users.list
  • alloydb.users.get
  • alloydb.users.create
  • alloydb.users.update
  • alloydb.users.delete
  • resourcemanager.projects.getIamPolicy

Für das Database Migration Service-Dienstkonto des Zielprojekts:

  • alloydb.clusters.import
  • alloydb.instances.connect
  • alloydb.instances.executeSql

Quelldatenbank konfigurieren

So konfigurieren Sie die PostgreSQL-Quelldatenbank:

  1. Erstellen Sie in Ihrer Instanz ein dediziertes Nutzerkonto für die Migration.
    • Informationen zu Cloud SQL for PostgreSQL-Quellen finden Sie in der Cloud SQL-Dokumentation unter Nutzer erstellen.
    • Informationen zu anderen Quellen finden Sie in der Dokumentation Ihres Datenbankanbieters oder unter Nutzer erstellen und verwalten in der PostgreSQL-Dokumentation.
  2. Weisen Sie dem dedizierten Migrationsnutzerkonto die erforderlichen Berechtigungen zu. Führen Sie die folgenden Befehle für jede Datenbank aus, die Sie migrieren möchten:
    -- Grant the REPLICATION attribute
    ALTER ROLE MIGRATION_USER REPLICATION;
    
    -- Grant database-level permissions.
    -- Repeat for each database you want to migrate.
    GRANT CONNECT, CREATE ON DATABASE DATABASE_NAME TO MIGRATION_USER;
    
    -- Grant schema-level usage.
    -- Repeat for each schema in each database you want to migrate.
    GRANT USAGE ON SCHEMA SCHEMA_NAME TO MIGRATION_USER;

    Ersetzen Sie Folgendes:

    • MIGRATION_USER durch den Namen des Migrationsnutzerkontos.
    • DATABASE_NAME durch den Namen der Datenbank, die Sie migrieren möchten.
    • SCHEMA_NAME durch den Namen des Schemas in der Datenbank, die Sie migrieren möchten.
  3. Das Migrationsnutzerkonto muss Inhaberzugriff auf die Tabellen haben, die Sie migrieren. Führen Sie einen der folgenden Schritte aus, um diese Zugriffsebene zu gewähren:
    • Nur für andere Quellen als Cloud SQL for PostgreSQL: Weisen Sie dem Migrationskonto die PostgreSQL-Rolle SUPERUSER zu.
    • Für alle Quellen: Fügen Sie das Migrationsnutzerkonto der Nutzergruppe hinzu, die die Tabellen besitzt. Führen Sie dazu diesen Befehl aus:
      -- Grant table ownership.
      GRANT TABLE_OWNER_GROUP_NAME TO MIGRATION_USER;

      Ersetzen Sie Folgendes:

      • TABLE_OWNER_GROUP_NAME durch den Namen der Nutzergruppe, die Inhaber der einzelnen Tabellen ist, die Sie migrieren möchten.
      • MIGRATION_USER durch den Namen des Migrationsnutzerkontos.
  4. Für Tabellen ohne Primärschlüssel: Database Migration Service repliziert während der CDC-Phase (Change Data Capture) keine UPDATE- oder DELETE-Vorgänge für Tabellen ohne Primärschlüssel. Wenn Sie solche Vorgänge in Ihre Replikation einbeziehen möchten, ändern Sie Tabellen ohne Primärschlüssel mit REPLICA IDENTITY:
    ALTER TABLE TABLE_NAME REPLICA IDENTITY FULL;
    ALTER TABLE TABLE_NAME REPLICA IDENTITY USING INDEX INDEX_NAME;

    Ersetzen Sie Folgendes:

    • TABLE_NAME ist der Name der Tabelle, die keine Primärschlüssel hat.
    • INDEX_NAME ist der eindeutige Index, mit dem Zeilen aus Tabellen ohne Primärschlüssel verfolgt werden können.
  5. Konfigurieren Sie die Replikationseinstellungen mithilfe von Datenbank-Flags.

    Selbstverwaltete Quellen

    Wenn Sie Änderungen an Datenbank-Flags speichern, muss die Datenbank vollständig neu gestartet werden. In den folgenden Beispielen werden SQL-Abfragen verwendet, um Flag-Werte zu ändern. Wenn Sie SQL-Abfragen nicht direkt ausführen können, finden Sie in der Dokumentation Ihres Anbieters Informationen zum Ändern dieser Flags.

    1. Legen Sie für den Parameter wal_level den Wert logical fest. Führen Sie dazu diesen Befehl aus:
      ALTER SYSTEM SET wal_level = 'logical';
    2. Setzen Sie den Parameter wal_sender_timeout auf 0. Dieser Wert deaktiviert das Zeitlimit, das zum Beenden inaktiver Replikationsverbindungen verwendet wird. Führen Sie dazu diesen Befehl aus:
      ALTER SYSTEM SET wal_sender_timeout = 0;
    3. Konfigurieren Sie die maximale Anzahl von Replikationsslots mit dem Parameter max_replication_slots. Dieser Parameter muss mindestens auf die Anzahl der Datenbanken festgelegt werden, die Sie pro Migrationsjob migrieren, zuzüglich einiger Reserven für die Tabellensynchronisierung.

      Wenn Sie beispielsweise 5 Datenbanken migrieren und 2 Migrationsjobs für die Quellinstanz erstellt wurden, muss die Anzahl der Replikationsslots mindestens 5 * 2 = 10 betragen, zuzüglich der Anzahl der Replikationsslots, die Sie bereits verwenden.

      Führen Sie den folgenden Befehl aus, um diesen Parameter festzulegen:

      ALTER SYSTEM SET max_replication_slots = NUMBER_OF_SLOTS;
      Dabei steht NUMBER_OF_SLOTS für die maximale Anzahl von Replikations-Slots.
    4. Konfigurieren Sie den Parameter max_wal_senders auf mindestens denselben Wert wie max_replication_slots, plus die Anzahl der Absender, die bereits auf Ihrer Instanz verwendet werden.

      Wenn für den Parameter max_replication_slots beispielsweise der Wert 10 festgelegt ist und Sie bereits zwei Absender verwenden, beträgt die Anzahl der gleichzeitig ausgeführten WAL-Senderprozesse 10 + 2 = 12.

      Führen Sie den folgenden Befehl aus, um diesen Parameter festzulegen:

      ALTER SYSTEM SET max_wal_senders = NUMBER_OF_SENDERS;
      Dabei steht NUMBER_OF_SENDERS für die Anzahl der gleichzeitig ausgeführten WAL-Senderprozesse.
    5. Legen Sie für max_worker_processes mindestens die Anzahl der Datenbanken fest, die Sie migrieren möchten, plus die Anzahl der max_worker_processes, die bereits auf Ihrer Instanz verwendet werden. Führen Sie den folgenden Befehl aus, um diesen Parameter festzulegen:
      ALTER SYSTEM SET max_worker_processes = NUMBER_OF_PROCESSES;
      Dabei steht NUMBER_OF_PROCESSES für die Anzahl der Datenbanken, die migriert werden.

    Cloud SQL for PostgreSQL-Quellen

    Für Cloud SQL-Quellen konfigurieren Sie Datenbank-Flags in der Google Cloud Console. Sie müssen die Instanz neu starten, nachdem Sie Datenbank-Flags geändert haben, damit die Einstellung wirksam wird. Weitere Informationen zum Festlegen von Datenbank-Flags in Cloud SQL finden Sie in der Cloud SQL-Dokumentation unter Datenbank-Flags konfigurieren.

    1. Legen Sie das Flag cloudsql.logical_decoding auf on fest. Wenn Sie dieses Flag aktivieren, muss die Instanz neu gestartet werden, damit die Einstellung wirksam wird.
    2. Legen Sie für den Parameter wal_sender_timeout den Wert 0 fest. Dieser Wert deaktiviert das Zeitlimit, das zum Beenden inaktiver Replikationsverbindungen verwendet wird.
    3. Konfigurieren Sie die maximale Anzahl von Replikationsslots mit dem Parameter max_replication_slots. Dieser Parameter muss mindestens auf die Anzahl der Datenbanken festgelegt werden, die Sie pro Migrationsjob migrieren, zuzüglich einiger Reserven für die Tabellensynchronisierung.

      Wenn Sie beispielsweise 5 Datenbanken migrieren und 2 Migrationsjobs für die Quellinstanz erstellt wurden, muss die Anzahl der Replikationsslots mindestens 5 * 2 = 10 betragen, zuzüglich der Anzahl der Replikationsslots, die Sie bereits verwenden.

    4. Konfigurieren Sie den Parameter max_wal_senders mindestens auf denselben Wert wie max_replication_slots, plus die Anzahl der Absender, die bereits auf Ihrer Instanz verwendet werden.

      Wenn für den Parameter max_replication_slots beispielsweise der Wert 10 festgelegt ist und Sie bereits zwei Absender verwenden, beträgt die Anzahl der gleichzeitig ausgeführten WAL-Senderprozesse 10 + 2 = 12.

    5. Legen Sie für den Parameter max_worker_processes mindestens die Anzahl der Datenbanken fest, die Sie migrieren möchten, plus die Anzahl der max_worker_processes, die bereits auf Ihrer Instanz verwendet werden.

Schnellstart-Migration erstellen und ausführen

Sie können die Google Cloud Console oder die gcloud CLI verwenden, um eine Schnellstartmigration zu erstellen und auszuführen.

Console

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

    Zu „Jetzt starten“

  2. Wählen Sie im Menü Quell-Engine die Option PostgreSQL aus.
  3. Wählen Sie im Menü Ziel-Engine die Option AlloyDB for PostgreSQL aus.

    Der Abschnitt Neu: Schnellstart-Migration für PostgreSQL wird angezeigt.

  4. Klicken Sie im Abschnitt Neu: Schnellstart-Migration für PostgreSQL auf Migration starten.

    Die Seite Zu AlloyDB for PostgreSQL migrieren wird geöffnet.

  5. Führen Sie im Abschnitt Migration konfigurieren die folgenden Schritte aus:
    1. Wählen Sie im Menü Zielregion die Region Ihres AlloyDB for PostgreSQL-Zielclusters aus.
    2. Geben Sie im Feld Migrationspräfix einen nutzerfreundlichen String ein, der den Namen aller Migrationsentitäten hinzugefügt wird, die für die Schnellstartmigration erstellt werden: Verbindungsprofile, Konfiguration für private Konnektivität, Netzwerkanhang und zugehöriges Subnetz sowie Migrationsjob.
    3. Wählen Sie im Menü Verbindungstyp aus, wie Database Migration Service eine Verbindung zu Ihrer Quelldatenbank herstellt:
      • Private IP-Adresse: Verbindung über ein privates Netzwerk mithilfe von Private Service Connect-Schnittstellen herstellen. Wählen Sie im Menü Konfigurationstyp eine der folgenden Optionen aus:
        • Vorhandene Konnektivitätskonfiguration: Wählen Sie diese Option aus, wenn Sie bereits einen Netzwerkanhang und eine Konfiguration für private Konnektivität haben, die die Methode mit Private Service Connect-Schnittstellen verwendet. Diese Option eignet sich am besten, wenn Sie zuvor Schnellstartmigrationen verwendet haben und dieselben Netzwerkressourcen wiederverwenden möchten.
        • Neue Verbindungskonfiguration: Wählen Sie diese Option aus, um einen neuen Netzwerkanhang und das Subnetz für den Netzwerkanhang im VPC-Netzwerk der Quelldatenbank zu erstellen. Die Konfiguration für private Konnektivität wird im selben Projekt wie Ihr Zielcluster erstellt.
      • Öffentliche IP-Adresse: Stellen Sie eine Verbindung über das öffentliche Internet her, indem Sie eine dedizierte ausgehende statische öffentliche IP-Adresse verwenden. Wenn in Ihrem Zielprojekt und Ihrer Zielregion bereits eine Konfiguration für öffentliche IP-Verbindungen vorhanden ist, wird sie von Database Migration Service wiederverwendet. Andernfalls erstellt Database Migration Service eine neue Konfiguration für öffentliche IP-Verbindungen und generiert eine ausgehende IP-Adresse, wenn Sie fortfahren.
    4. Klicken Sie auf Weiter. Wenn Sie aufgefordert werden, die Erstellung von Netzwerkressourcen zu bestätigen, klicken Sie auf Konfigurieren und fortfahren.
  6. Führen Sie im Abschnitt Quelle verbinden folgende Schritte aus:
    1. Wenn Sie im vorherigen Schritt Öffentliche IP-Adresse ausgewählt haben, kopieren Sie die in der Google Cloud Console angezeigte ausgehende IP-Adresse und fügen Sie sie als eingehende Firewallregel oder IP-Zulassungslisteneintrag in Ihrem Quellnetzwerk hinzu (z. B. pg_hba.conf oder Sicherheitsgruppen des Cloud-Anbieters), um Database Migration Service die Verbindung zu ermöglichen.
    2. Geben Sie einen Hostnamen oder die IP-Adresse Ihrer Quelldatenbank ein. Wenn Sie Private IP-Adresse ausgewählt haben, geben Sie die private IP-Adresse ein, die von Ihrem Quell-VPC-Netzwerk aus erreichbar ist. Wenn Sie Öffentliche IP-Adresse ausgewählt haben, geben Sie die öffentliche IP-Adresse Ihrer Quelldatenbank ein.
    3. Geben Sie den Port ein, der für den Zugriff auf den Host verwendet wird. Der PostgreSQL-Standardport ist 5432.
    4. Geben Sie den Nutzernamen und das Passwort für das dedizierte Migrationskonto in Ihrer Quelldatenbank ein.
    5. Wählen Sie im Menü Verschlüsselungstyp eine der folgenden Optionen aus:
      • Keine: Wenn Ihre Quelldatenbank keine SSL/TLS-verschlüsselten Verbindungen erfordert.
      • Erforderlich: Wenn Ihre Quelldatenbank SSL/TLS-verschlüsselte Verbindungen erfordert. Für diese Option ist keine Zertifikatsüberprüfung erforderlich.
    6. Klicken Sie im Menü Zu migrierende Datenbanken auf Anpassen. Verwenden Sie die Seitenleiste mit eingebetteter Datenbankerkennung, um nur die Datenbanken auszuwählen, die Sie zu AlloyDB for PostgreSQL migrieren möchten.
    7. Klicken Sie auf Weiter.
  7. Im Abschnitt Ziel konfigurieren können Sie einen neuen Zielcluster erstellen oder einen vorhandenen auswählen:

    Neue Cluster

    So erstellen Sie einen neuen Zielcluster:

    1. Wählen Sie im Menü Zielinstanztyp die Option Neuer Cluster aus.

      Database Migration Service verwendet die AlloyDB for PostgreSQL-Standardkonfiguration für einen neuen Cluster. Klicken Sie auf Anpassen, um Cluster-Features wie den Maschinentyp, die zonale Verfügbarkeit oder die Datenschutzeinstellungen anzupassen. Weitere Informationen zur Clusterkonfiguration finden Sie in der AlloyDB for PostgreSQL-Dokumentation unter Cluster und zugehörige primäre Instanz erstellen.

    2. Geben Sie im Feld Passwort ein Passwort für den Standardadministrator postgres ein. Database Migration Service stellt eine Verbindung als dieser Nutzer her, um Ihre Daten zu migrieren.

    Vorhandene Cluster

    Sie können Datenbanken zu einem bereits vorhandenen Cluster migrieren. Prüfen Sie, ob der Zielcluster für Private Service Connect aktiviert ist, den Status RUNNABLE hat und mTLS mit AlloyDB-Connectors nicht erzwingt. Gehen Sie dazu so vor:

    1. Wählen Sie im Menü Zielinstanztyp die Option Vorhandener Cluster aus.
    2. Wählen Sie im Menü Vorhandene Cluster-ID die Cluster-ID aus.
  8. Klicken Sie auf Migration starten.

    Database Migration Service erstellt den kontinuierlichen Migrationsjob und beginnt mit der Replikation der Daten. Sie können den Migrationsfortschritt und den Zustand des Zielclusters in AlloyDB for PostgreSQL überwachen. Weitere Informationen finden Sie in der AlloyDB for PostgreSQL-Dokumentation unter Cluster- und Instanzdetails ansehen.

gcloud

So erstellen Sie eine Schnellstart-Migration mit der gcloud CLI und führen sie aus:

  1. Verbindung zur Quelldatenbank konfigurieren
    Wählen Sie den Tab aus, je nachdem, ob Ihre Quelldatenbank eine private IP-Adresse (Private Service Connect) oder eine öffentliche IP-Adresse verwendet:

    Private IP-Adresse (Private Service Connect)

    Wenn Sie eine Verbindung über Private Service Connect herstellen möchten, konfigurieren Sie Ihren Netzwerkanhang und Ihre private Verbindung:

    1. Netzwerkanhang konfigurieren: Entscheiden Sie, ob Sie einen neuen Netzwerkanhang erstellen oder einen vorhandenen wiederverwenden möchten. Sie benötigen einen Netzwerkanhang in dem Netzwerk, in dem die private IP-Adresse Ihrer Quelldatenbank erreichbar ist.

      • Wenn Sie einen neuen Netzwerkanhang erstellen möchten, führen Sie den folgenden Befehl aus (klicken Sie, um alle Details einzublenden).

        gcloud compute network-attachments create

        Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

        • NETWORK_ATTACHMENT durch den Namen des zu erstellenden Netzwerkanhangs.
        • REGION durch die Region für den Netzwerkanhang.
        • DEST_PROJECT_ID durch die Projekt-ID Ihres Zielprojekts.
        • SOURCE_PROJECT_ID durch die Projekt-ID, in der sich das Quellnetzwerk befindet.

        Führen Sie folgenden Befehl aus:

        Linux, macOS oder Cloud Shell

        gcloud compute network-attachments create NETWORK_ATTACHMENT \
          --region=REGION \
          --connection-preference=ACCEPT_MANUAL \
          --producer-accept-list=DEST_PROJECT_ID \
          --subnets=default \
          --project=SOURCE_PROJECT_ID

        Windows (PowerShell)

        gcloud compute network-attachments create NETWORK_ATTACHMENT `
          --region=REGION `
          --connection-preference=ACCEPT_MANUAL `
          --producer-accept-list=DEST_PROJECT_ID `
          --subnets=default `
          --project=SOURCE_PROJECT_ID

        Windows (cmd.exe)

        gcloud compute network-attachments create NETWORK_ATTACHMENT ^
          --region=REGION ^
          --connection-preference=ACCEPT_MANUAL ^
          --producer-accept-list=DEST_PROJECT_ID ^
          --subnets=default ^
          --project=SOURCE_PROJECT_ID
      • Wenn Sie einen vorhandenen Netzwerkanhang wiederverwenden möchten, fahren Sie mit dem nächsten Schritt fort.
    2. Dem Mandantenprojekt von Database Migration Service Zugriff auf Ihren Netzwerkanhang gewähren: Ihr Netzwerkanhang muss Verbindungen vom Mandantenprojekt von Database Migration Service zulassen. Führen Sie diese Schritte aus:

      1. Rufen Sie die Mandantenprojekt-ID von Database Migration Service ab, indem Sie einen Probelauf für die Erstellung einer privaten Verbindung ausführen (zum Maximieren klicken):

        gcloud database-migration private-connections create --validate-only

        Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

        • PRIVATE_CONN durch den Namen der privaten Verbindungsressource.
        • REGION durch die Region für die private Verbindung.
        • NETWORK_ATTACHMENT_URI durch den URI des Netzwerkanhangs.

        Führen Sie folgenden Befehl aus:

        Linux, macOS oder Cloud Shell

        gcloud database-migration private-connections create PRIVATE_CONN \
          --region=REGION \
          --network-attachment=NETWORK_ATTACHMENT_URI \
          --display-name=PRIVATE_CONN \
          --format="value(metadata.metadata.tenant_project_id)" \
          --validate-only

        Windows (PowerShell)

        gcloud database-migration private-connections create PRIVATE_CONN `
          --region=REGION `
          --network-attachment=NETWORK_ATTACHMENT_URI `
          --display-name=PRIVATE_CONN `
          --format="value(metadata.metadata.tenant_project_id)" `
          --validate-only

        Windows (cmd.exe)

        gcloud database-migration private-connections create PRIVATE_CONN ^
          --region=REGION ^
          --network-attachment=NETWORK_ATTACHMENT_URI ^
          --display-name=PRIVATE_CONN ^
          --format="value(metadata.metadata.tenant_project_id)" ^
          --validate-only

        Speichern Sie die zurückgegebene Mandantenprojekt-ID, um sie mit den nächsten Befehlen zu verwenden.

      2. Lassen Sie zu, dass das Mandantenprojekt von Database Migration Service und das Zielprojekt eine Verbindung zum Netzwerkanhang herstellen (zum Maximieren klicken):

        gcloud compute network-attachments update

        Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

        • NETWORK_ATTACHMENT durch den Namen des Netzwerkanhangs.
        • REGION durch die Region.
        • DEST_PROJECT_ID durch die Projekt-ID Ihres Zielprojekts.
        • DMS_TENANT_ID durch die abgerufene Projekt-ID des Database Migration Service-Mandanten.
        • SOURCE_PROJECT_ID durch die Projekt-ID, in der sich das Quellnetzwerk befindet.

        Führen Sie folgenden Befehl aus:

        Linux, macOS oder Cloud Shell

        gcloud compute network-attachments update NETWORK_ATTACHMENT \
          --region=REGION \
          --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \
          --project=SOURCE_PROJECT_ID

        Windows (PowerShell)

        gcloud compute network-attachments update NETWORK_ATTACHMENT `
          --region=REGION `
          --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID `
          --project=SOURCE_PROJECT_ID

        Windows (cmd.exe)

        gcloud compute network-attachments update NETWORK_ATTACHMENT ^
          --region=REGION ^
          --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID ^
          --project=SOURCE_PROJECT_ID
    3. Erstellen Sie die Ressource für die private Konnektivität von Database Migration Service: Führen Sie den folgenden Befehl aus (zum Maximieren klicken):

      gcloud database-migration private-connections create

      Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

      • PRIVATE_CONN durch den Namen der privaten Verbindungsressource.
      • REGION durch die Region für die private Verbindung.
      • NETWORK_ATTACHMENT_URI durch den URI des Netzwerkanhangs.

      Führen Sie folgenden Befehl aus:

      Linux, macOS oder Cloud Shell

      gcloud database-migration private-connections create PRIVATE_CONN \
        --region=REGION \
        --network-attachment=NETWORK_ATTACHMENT_URI \
        --display-name=PRIVATE_CONN

      Windows (PowerShell)

      gcloud database-migration private-connections create PRIVATE_CONN `
        --region=REGION `
        --network-attachment=NETWORK_ATTACHMENT_URI `
        --display-name=PRIVATE_CONN

      Windows (cmd.exe)

      gcloud database-migration private-connections create PRIVATE_CONN ^
        --region=REGION ^
        --network-attachment=NETWORK_ATTACHMENT_URI ^
        --display-name=PRIVATE_CONN

    Öffentliche IP-Adresse

    So stellen Sie eine Verbindung zu einer Quelldatenbank mit einer öffentlichen IP-Adresse her:

    1. Erstellen Sie eine private Verbindung mit einer reservierten öffentlichen IP-Adresse.
      Führen Sie den folgenden Befehl aus (zum Maximieren klicken):

      gcloud database-migration private-connections create

      In diesem Beispiel wird das optionale Flag --no-async verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass die Ausführung einiger Befehle eine Weile dauern kann. Sie können das Flag --no-async überspringen, um Befehle asynchron auszuführen. In diesem Fall müssen Sie den Befehl gcloud database-migration operations describe verwenden, um zu prüfen, ob der Vorgang erfolgreich war.

      Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

      • CONNECTION_ID durch die Kennung für die private Verbindung.
      • REGION durch die Google Cloud -Region, in der Sie die private Verbindung erstellen möchten.
      • DISPLAY durch einen Anzeigenamen für die private Verbindung.
      • Optional: Sie können das Flag --reserved-public-ip durch --reserved-public-ip-nat-ips-count ersetzen, um mehrere dedizierte öffentliche IP-Adressen zu reservieren, die Database Migration Service für die Verbindung verwendet. Sie können bis zu 10 IP-Adressen reservieren.

      Führen Sie folgenden Befehl aus:

      Linux, macOS oder Cloud Shell

      gcloud database-migration private-connections create \
        CONNECTION_ID \
        --region=REGION \
        --display-name="DISPLAY" \
        --reserved-public-ip \
        --no-async

      Windows (PowerShell)

      gcloud database-migration private-connections create `
        CONNECTION_ID `
        --region=REGION `
        --display-name="DISPLAY" `
        --reserved-public-ip `
        --no-async

      Windows (cmd.exe)

      gcloud database-migration private-connections create ^
        CONNECTION_ID ^
        --region=REGION ^
        --display-name="DISPLAY" ^
        --reserved-public-ip ^
        --no-async
    2. Rufen Sie die reservierten öffentlichen IP-Adressen ab.
      Führen Sie den folgenden Befehl aus (zum Maximieren klicken):

      gcloud database-migration connection-profiles fetch-static-ips

      Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

      • REGION durch die Google Cloud Region der privaten Verbindung.

      Führen Sie folgenden Befehl aus:

      Linux, macOS oder Cloud Shell

      gcloud database-migration connection-profiles fetch-static-ips \
        REGION \
        --fetch-reserved-public-ips

      Windows (PowerShell)

      gcloud database-migration connection-profiles fetch-static-ips `
        REGION `
        --fetch-reserved-public-ips

      Windows (cmd.exe)

      gcloud database-migration connection-profiles fetch-static-ips ^
        REGION ^
        --fetch-reserved-public-ips
    3. Setzen Sie die reservierten IP-Adressen in der Quelldatenbank auf die Zulassungsliste.
      Fügen Sie die im vorherigen Schritt abgerufenen IP-Adressen der Zulassungsliste für eingehende Verbindungen für Ihre Quelldatenbank hinzu (z. B. in Ihrer pg_hba.conf-Konfiguration, in Sicherheitsgruppen des Cloud-Anbieters oder in Netzwerk-Firewallregeln), damit Database Migration Service eine Verbindung herstellen kann.

  2. Quellverbindungsprofil erstellen
    Führen Sie den folgenden Befehl aus (zum Maximieren klicken):

    gcloud database-migration connection-profiles create postgresql

    In diesem Beispiel wird das optionale Flag --no-async verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass die Ausführung einiger Befehle eine Weile dauern kann. Sie können das Flag --no-async überspringen, um Befehle asynchron auszuführen. In diesem Fall müssen Sie den Befehl gcloud database-migration operations describe verwenden, um zu prüfen, ob der Vorgang erfolgreich war.

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • SOURCE_CONN_ID durch die Kennung Ihres Quellverbindungsprofils.
    • REGION durch die Region, in der Sie das Verbindungsprofil speichern möchten.
    • SOURCE_PRIVATE_IP durch die private IP-Adresse Ihrer Quelldatenbank.
    • SOURCE_PORT durch den Port Ihrer Quelldatenbank (Standard ist 5432).
    • SOURCE_USER durch den Nutzernamen des Migrationsnutzers in Ihrer Quelldatenbank.
    • SOURCE_PASSWORD durch das Passwort des Migrationsnutzers in Ihrer Quelldatenbank.
    • PRIVATE_CONN durch den Namen der privaten Verbindungsressource.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud database-migration connection-profiles create postgresql \
      SOURCE_CONN_ID \
      --region=REGION \
      --role=SOURCE \
      --host=SOURCE_PRIVATE_IP \
      --port=SOURCE_PORT \
      --username=SOURCE_USER \
      --password=SOURCE_PASSWORD \
      --private-connection=PRIVATE_CONN \
      --no-async

    Windows (PowerShell)

    gcloud database-migration connection-profiles create postgresql `
      SOURCE_CONN_ID `
      --region=REGION `
      --role=SOURCE `
      --host=SOURCE_PRIVATE_IP `
      --port=SOURCE_PORT `
      --username=SOURCE_USER `
      --password=SOURCE_PASSWORD `
      --private-connection=PRIVATE_CONN `
      --no-async

    Windows (cmd.exe)

    gcloud database-migration connection-profiles create postgresql ^
      SOURCE_CONN_ID ^
      --region=REGION ^
      --role=SOURCE ^
      --host=SOURCE_PRIVATE_IP ^
      --port=SOURCE_PORT ^
      --username=SOURCE_USER ^
      --password=SOURCE_PASSWORD ^
      --private-connection=PRIVATE_CONN ^
      --no-async
  3. Erstellen Sie das Zielverbindungsprofil.
    Wählen Sie den Tab aus, je nachdem, ob Sie zu einem neuen oder einem vorhandenen AlloyDB for PostgreSQL-Cluster migrieren möchten:

    Neue Cluster

    Wenn Sie einen neuen Zielcluster für die Schnellstartmigration verwenden möchten, erstellen Sie zuerst den Cluster und seine primäre Instanz mit der AlloyDB for PostgreSQL Google Cloud CLI und dann das Zielverbindungsprofil. Gehen Sie so vor:

    1. Cluster und zugehörige primäre Instanz mit der Google Cloud CLI für AlloyDB for PostgreSQL erstellen. Achten Sie darauf, dass Sie das Flag --enable-private-service-connect verwenden, um Private Service Connect für Ihren Zielcluster zu aktivieren. Schnellstartmigrationen unterstützen nur Private Service Connect-fähige Ziele.
    2. Erstellen Sie das Zielverbindungsprofil für den neuen Cluster. Maximieren Sie den folgenden Abschnitt, um alle Befehlsdetails zu sehen.

      gcloud database-migration connection-profiles create postgresql

      In diesem Beispiel wird das optionale Flag --no-async verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass die Ausführung einiger Befehle eine Weile dauern kann. Sie können das Flag --no-async überspringen, um Befehle asynchron auszuführen. In diesem Fall müssen Sie den Befehl gcloud database-migration operations describe verwenden, um zu prüfen, ob der Vorgang erfolgreich war.

      Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

      • DEST_CONN_ID durch die Kennung des Zielverbindungsprofils.
      • REGION durch die Region, in der Sie das Verbindungsprofil speichern möchten. Diese Region sollte mit der Region des Zielclusters übereinstimmen.
      • DEST_CLUSTER durch die ID oder den vollständigen Ressourcenpfad Ihres AlloyDB for PostgreSQL-Zielclusters.
      • DEST_USER durch den Nutzernamen des Migrationsnutzers in der Zieldatenbank.
      • DEST_PASSWORD durch das Passwort für den Migrationsnutzer in der Zieldatenbank.

      Führen Sie folgenden Befehl aus:

      Linux, macOS oder Cloud Shell

      gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \
        --region=REGION \
        --alloydb-cluster=DEST_CLUSTER \
        --username=DEST_USER \
        --password=DEST_PASSWORD \
        --role=DESTINATION \
        --no-async

      Windows (PowerShell)

      gcloud database-migration connection-profiles create postgresql DEST_CONN_ID `
        --region=REGION `
        --alloydb-cluster=DEST_CLUSTER `
        --username=DEST_USER `
        --password=DEST_PASSWORD `
        --role=DESTINATION `
        --no-async

      Windows (cmd.exe)

      gcloud database-migration connection-profiles create postgresql DEST_CONN_ID ^
        --region=REGION ^
        --alloydb-cluster=DEST_CLUSTER ^
        --username=DEST_USER ^
        --password=DEST_PASSWORD ^
        --role=DESTINATION ^
        --no-async

      Sie sollten eine Antwort ähnlich der folgenden erhalten:

      Waiting for connection profile [CONNECTION_PROFILE_ID]
      to be created with [OPERATION_ID]
      
      Waiting for operation [OPERATION_ID] to complete...done.
      
      Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
      

    Vorhandene Cluster

    Wenn Sie zu einem vorhandenen Zielcluster migrieren möchten, erstellen Sie das Verbindungsprofil, das auf den zuvor erstellten Cluster verweist. Führen Sie den folgenden Befehl aus (zum Maximieren klicken):

    gcloud database-migration connection-profiles create postgresql

    In diesem Beispiel wird das optionale Flag --no-async verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass die Ausführung einiger Befehle eine Weile dauern kann. Sie können das Flag --no-async überspringen, um Befehle asynchron auszuführen. In diesem Fall müssen Sie den Befehl gcloud database-migration operations describe verwenden, um zu prüfen, ob der Vorgang erfolgreich war.

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • DEST_CONN_ID durch die Kennung des Zielverbindungsprofils.
    • REGION durch die Region, in der Sie das Verbindungsprofil speichern möchten. Diese Region sollte mit der Region des Zielclusters übereinstimmen.
    • DEST_CLUSTER durch die ID oder den vollständigen Ressourcenpfad Ihres AlloyDB for PostgreSQL-Zielclusters.
    • DEST_USER durch den Nutzernamen des Migrationsnutzers in der Zieldatenbank.
    • DEST_PASSWORD durch das Passwort für den Migrationsnutzer in der Zieldatenbank.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \
      --region=REGION \
      --alloydb-cluster=DEST_CLUSTER \
      --username=DEST_USER \
      --password=DEST_PASSWORD \
      --role=DESTINATION \
      --no-async

    Windows (PowerShell)

    gcloud database-migration connection-profiles create postgresql DEST_CONN_ID `
      --region=REGION `
      --alloydb-cluster=DEST_CLUSTER `
      --username=DEST_USER `
      --password=DEST_PASSWORD `
      --role=DESTINATION `
      --no-async

    Windows (cmd.exe)

    gcloud database-migration connection-profiles create postgresql DEST_CONN_ID ^
      --region=REGION ^
      --alloydb-cluster=DEST_CLUSTER ^
      --username=DEST_USER ^
      --password=DEST_PASSWORD ^
      --role=DESTINATION ^
      --no-async

    Sie sollten eine Antwort ähnlich der folgenden erhalten:

    Waiting for connection profile [CONNECTION_PROFILE_ID]
    to be created with [OPERATION_ID]
    
    Waiting for operation [OPERATION_ID] to complete...done.
    
    Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
    
  4. Kontinuierlichen Migrationsjob erstellen
    Führen Sie den folgenden Befehl aus, um einen kontinuierlichen Migrationsjob zu erstellen (zum Maximieren klicken):

    gcloud database-migration migration-jobs create

    In diesem Beispiel wird das optionale Flag --no-async verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass die Ausführung einiger Befehle eine Weile dauern kann. Sie können das Flag --no-async überspringen, um Befehle asynchron auszuführen. In diesem Fall müssen Sie den Befehl gcloud database-migration operations describe verwenden, um zu prüfen, ob der Vorgang erfolgreich war.

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • MIGRATION_JOB_ID durch die Kennung Ihres Migrationsjobs.
    • REGION durch die Region, in der Sie den Migrationsjob speichern möchten.
    • SOURCE_CONN_ID durch die Kennung des Quellverbindungsprofils.
    • DEST_CONN_ID durch die Kennung des Zielverbindungsprofils.
    • DATABASES_LIST durch eine durch Kommas getrennte Liste der Datenbanken, die Sie migrieren möchten.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud database-migration migration-jobs create \
      MIGRATION_JOB_ID \
      --region=REGION \
      --type=CONTINUOUS \
      --source=SOURCE_CONN_ID \
      --destination=DEST_CONN_ID \
      --use-postgres-native \
      --postgres-max-additional-subscriptions=10 \
      --databases-filter=DATABASES_LIST \
      --no-async

    Windows (PowerShell)

    gcloud database-migration migration-jobs create `
      MIGRATION_JOB_ID `
      --region=REGION `
      --type=CONTINUOUS `
      --source=SOURCE_CONN_ID `
      --destination=DEST_CONN_ID `
      --use-postgres-native `
      --postgres-max-additional-subscriptions=10 `
      --databases-filter=DATABASES_LIST `
      --no-async

    Windows (cmd.exe)

    gcloud database-migration migration-jobs create ^
      MIGRATION_JOB_ID ^
      --region=REGION ^
      --type=CONTINUOUS ^
      --source=SOURCE_CONN_ID ^
      --destination=DEST_CONN_ID ^
      --use-postgres-native ^
      --postgres-max-additional-subscriptions=10 ^
      --databases-filter=DATABASES_LIST ^
      --no-async

    Sie sollten eine Antwort ähnlich der folgenden erhalten:

    Waiting for migration job [MIGRATION_JOB_ID]
    to be created with [OPERATION_ID]
    
    Waiting for operation [OPERATION_ID] to complete...done.
    
    Created migration job MIGRATION_JOB_ID [OPERATION_ID]
    
  5. Migrationsjob starten
    Führen Sie den folgenden Befehl aus, um den kontinuierlichen Migrationsjob zu starten (zum Maximieren klicken):

    gcloud database-migration migration-jobs start

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • MIGRATION_JOB_ID durch die Kennung Ihres Migrationsjobs.

      Wenn Sie die Kennung nicht kennen, können Sie mit dem Befehl gcloud database-migration migration-jobs list alle Migrationsjobs in einer bestimmten Region auflisten und ihre Kennungen aufrufen.

    • REGION durch die Kennung der Region, in der Ihr Migrationsjob gespeichert ist.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud database-migration migration-jobs \
    start MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    start MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    start MIGRATION_JOB_ID ^
      --region=REGION

    Ergebnis

    Die Aktion wird asynchron ausgeführt. Daher gibt dieser Befehl eine Vorgangsentität zurück, die einen Vorgang mit langer Ausführungszeit darstellt:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    Wenn Sie prüfen möchten, ob der Vorgang erfolgreich war, können Sie das zurückgegebene Vorgangsobjekt abfragen oder den Status des Migrationsjobs prüfen:

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, um die Abfragefunktion während der Umstellung beizubehalten.
  2. Migrationsjob hochstufen. Bei Schnellstart-Migrationen bleibt der Zielcluster während des Migrationsprozesses beschreibbar. Durch das Hochstufen des Migrationsjobs wird nur die Replikation beendet und es hat keine Auswirkungen auf Ihren Zielcluster.
  3. Optional: Migrationsdaten auf Vollständigkeit und Konsistenz prüfen

Nächste Schritte