Auf dieser Seite wird beschrieben, wie Sie Schnellstart-Migrationen für homogene PostgreSQL-Migrationen zu Cloud SQL for PostgreSQL ausführen.
Übersicht
Schnellstartmigrationen sind ein einfacher kontinuierlicher Migrationsablauf für homogene PostgreSQL-Szenarien. Bei Schnellstartmigrationen kann Database Migration Service automatisch alles einrichten, was Sie zum Migrieren Ihrer Datenbanken benötigen: Netzwerkkomponenten (Netzwerk-Attachments, Subnetze, Konfigurationen für private Verbindungen), Verbindungsprofile und Migrationsjobs.
Bei Schnellstart-Migrationen können Sie Ihre Daten zu einer vorhandenen Cloud SQL-Instanz migrieren oder eine neue Instanz erstellen, während Sie die Migration konfigurieren. Schnellstart-Migrationen eignen sich am besten für:
- Einfache Migrationen, bei denen Sie die Parallelitätseinstellungen für Datendumps nicht genau steuern müssen.
- Sie migrieren Ihre Datenbank von einem Google Cloud Projekt in ein anderes. Wenn Sie eine Schnellstartmigration konfigurieren, können Sie die Zielinstanz 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 Cloud VPC-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 erreicht werden können.
- Die einzige unterstützte Methode für die Datenbankverbindung sind Private Service Connect-Schnittstellen mit Konfigurationen für private Verbindungen von Database Migration Service. Ihrer Quelldatenbank muss im VPC-Netzwerk eine private IP-Adresse zugewiesen sein. Andere homogene Quellverbindungsmethoden wie Zulassungslisten für öffentliche IP-Adressen, umgekehrte SSH-Tunnel oder VPC-Peering werden für Schnellstartmigrationen nicht unterstützt.
Weitere Informationen zu Schnellstart-Migrationen finden Sie in der Hauptdokumentation zu Database Migration Service unter Übersicht über Schnellstart-Migrationen.
Hinweis
- Prüfen Sie, ob Schnellstart-Migrationen Ihr Szenario vollständig unterstützen können. Weitere Informationen finden Sie unter Einschränkungen der Schnellstart-Migration.
-
Melden Sie sich bei Ihrem Google-Konto an.
Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Aktivieren Sie die Database Migration Service API, die Compute Engine API, die Network Connectivity Center API und die Cloud SQL Admin API.
Erforderliche Rollen
Wenn Sie die Berechtigungen benötigen, um mit Database Migration Service Schnellstartmigrationen zu Cloud SQL auszuführen, bitten Sie Ihren Administrator, die erforderlichen IAM-Rollen (Identity and Access Management) für die an der Migration beteiligten Konten in den entsprechenden Projekten zu gewähren. Weitere Informationen zum Zuweisen von Rollen finden Sie in der IAM-Dokumentation unter Zugriff verwalten.
Rollen und Berechtigungen im Quellprojekt
Weisen Sie bestimmten Konten im Projekt Google Cloud , in dem sich Ihre Quelldatenbank befindet, die folgenden Rollen zu:
- Für das Nutzerkonto, mit dem die Migration durchgeführt wird:
Rolle „Compute Network Admin“ (
roles/compute.networkAdmin) - Für das Database Migration Service-Dienstkonto des Zielprojekts:
Compute-Netzwerkbetrachter (
roles/compute.networkViewer)Das Dienstkonto für Database Migration Service 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.iam.gserviceaccount.com
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Einrichten der Konnektivität für Ihr Quelldatenbankprojekt im Rahmen einer Schnellstartmigration mit Database Migration Service erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen (Quelle), um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen (Quelle)
Die folgenden Berechtigungen sind erforderlich, um homogene Schnellstartmigrationen mit Database Migration Service durchzuführen:
Für das Nutzerkonto, mit dem die Migration durchgeführt wird:
compute.networks.*compute.subnetworks.*compute.networkAttachments.*
Für das Database Migration Service-Dienstkonto des Zielprojekts:
compute.networkAttachments.get.
Rollen und Berechtigungen im Zielprojekt
Weisen Sie dem Nutzerkonto, das die Migration durchführt, die folgenden Rollen für das Google Cloud -Projekt zu, in dem sich Ihre Zieldatenbank befindet:
-
Administrator für die Datenbankmigration (
roles/datamigration.admin) -
Cloud SQL-Administrator (
roles/cloudsql.admin)
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Einrichten der erforderlichen Migrationskomponenten in Ihrem Ziel-Datenbankprojekt 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 Database Migration Service durchzuführen:
datamigration.*cloudsql.instances.createcloudsql.instances.deletecloudsql.instances.getcloudsql.instances.listcloudsql.instances.updatecloudsql.instances.connectcloudsql.instances.executeSqlcloudsql.instances.exportcloudsql.instances.importcloudsql.instances.logincloudsql.operations.getcloudsql.users.getcloudsql.users.listcloudsql.users.createcloudsql.users.updatecloudsql.users.delete
Quelldatenbank konfigurieren
So konfigurieren Sie die PostgreSQL-Quelldatenbank:
- 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.
- 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.
- Ersetzen Sie DATABASE_NAME durch den Namen der Datenbank, die Sie migrieren möchten.
- Ersetzen Sie SCHEMA_NAME durch den Namen des Schemas in der Datenbank, die Sie migrieren möchten.
- 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
SUPERUSER-PostgreSQL-Rolle zu. - Für alle Quellen: Fügen Sie das Migrationsnutzerkonto der Nutzergruppe hinzu, zu der die Tabellen gehören.
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, zu der jede Tabelle gehört, die Sie migrieren möchten.
- MIGRATION_USER durch den Namen des Migrationsnutzerkontos.
- Nur für andere Quellen als Cloud SQL for PostgreSQL: Weisen Sie dem Migrationskonto die
- Bei Tabellen ohne Primärschlüssel: Database Migration Service repliziert während der CDC-Phase (Change Data Capture) keine
UPDATE- oderDELETE-Vorgänge für Tabellen ohne Primärschlüssel. Wenn Sie solche Vorgänge in Ihre Replikation aufnehmen möchten, ändern Sie Tabellen ohne Primärschlüssel mitREPLICA 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 ohne Primärschlüssel.
- INDEX_NAME ist der eindeutige Index, mit dem Zeilen aus Tabellen ohne Primärschlüssel verfolgt werden können.
- Konfigurieren Sie die Replikationseinstellungen mit Datenbank-Flags.
Selbstverwaltete Quellen
Wenn Sie Änderungen an Datenbank-Flags speichern, ist ein vollständiger Neustart der Datenbank erforderlich. In den folgenden Beispielen werden SQL-Abfragen zum Ändern von Flag-Werten verwendet. Wenn Sie SQL-Abfragen nicht direkt ausführen können, finden Sie in der Dokumentation Ihres Anbieters eine Anleitung zum Ändern dieser Flags.
- Setzen Sie den Parameter
wal_levelauflogical. Führen Sie dazu diesen Befehl aus:ALTER SYSTEM SET wal_level = 'logical';
- Setzen Sie den Parameter
wal_sender_timeoutauf0. 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;
- Konfigurieren Sie die maximale Anzahl von Replikations-Slots 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 werden, muss die Anzahl der Replikations-Slots mindestens
5 * 2 = 10betragen, zuzüglich der Anzahl der Replikations-Slots, die Sie bereits verwenden.Führen Sie den folgenden Befehl aus, um diesen Parameter festzulegen:
Dabei steht NUMBER_OF_SLOTS für die maximale Anzahl von Replikations-Slots.ALTER SYSTEM SET max_replication_slots = NUMBER_OF_SLOTS;
- Konfigurieren Sie den Parameter
max_wal_sendersauf mindestens denselben Wert wiemax_replication_slots, plus die Anzahl der Absender, die bereits auf Ihrer Instanz verwendet werden.Wenn für den Parameter
max_replication_slotsbeispielsweise der Wert10festgelegt ist und Sie bereits zwei Absender verwenden, beträgt die Anzahl der gleichzeitig ausgeführten WAL-Senderprozesse10 + 2 = 12.Führen Sie den folgenden Befehl aus, um diesen Parameter festzulegen:
Dabei steht NUMBER_OF_SENDERS für die Anzahl der gleichzeitig ausgeführten WAL-Senderprozesse.ALTER SYSTEM SET max_wal_senders = NUMBER_OF_SENDERS;
- Legen Sie
max_worker_processesauf mindestens die Anzahl der Datenbanken fest, die Sie migrieren möchten, plus die Anzahl dermax_worker_processes, die bereits auf Ihrer Instanz verwendet werden. Führen Sie den folgenden Befehl aus, um diesen Parameter festzulegen: Dabei steht NUMBER_OF_PROCESSES für die Anzahl der Datenbanken, die migriert werden.ALTER SYSTEM SET max_worker_processes = NUMBER_OF_PROCESSES;
Cloud SQL for PostgreSQL-Quellen
Bei Cloud SQL-Quellen konfigurieren Sie Datenbank-Flags in der Google Cloud -Konsole. Sie müssen die Instanz neu starten, damit die Änderungen an den Datenbankflags wirksam werden. Weitere Informationen zum Festlegen von Datenbank-Flags in Cloud SQL finden Sie in der Cloud SQL-Dokumentation unter Datenbank-Flags konfigurieren.
- Legen Sie das Flag
cloudsql.logical_decodingaufonfest. - Setzen Sie den Parameter
wal_sender_timeoutauf0. Dieser Wert deaktiviert das Zeitlimit, das zum Beenden inaktiver Replikationsverbindungen verwendet wird. - Konfigurieren Sie die maximale Anzahl von Replikations-Slots 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 werden, muss die Anzahl der Replikations-Slots mindestens
5 * 2 = 10betragen, zuzüglich der Anzahl der Replikations-Slots, die Sie bereits verwenden. - Konfigurieren Sie den Parameter
max_wal_sendersauf mindestens denselben Wert wiemax_replication_slotsplus die Anzahl der Absender, die bereits auf Ihrer Instanz verwendet werden.Wenn für den Parameter
max_replication_slotsbeispielsweise der Wert10festgelegt ist und Sie bereits zwei Absender verwenden, beträgt die Anzahl der gleichzeitig ausgeführten WAL-Senderprozesse10 + 2 = 12. - Setzen Sie
max_worker_processesauf mindestens die Anzahl der Datenbanken, die Sie migrieren möchten, plus die Anzahl dermax_worker_processes, die bereits auf Ihrer Instanz verwendet werden.
- Setzen Sie den Parameter
Schnellstart-Migration erstellen und ausführen
Console
So erstellen und führen Sie eine Schnellstartmigration mit der Google Cloud Console aus:
- Rufen Sie in der Google Cloud Console die Seite Erste Schritte auf.
- Wählen Sie im Menü Quellmodul die Option PostgreSQL aus.
- Wählen Sie im Menü Ziel-Engine die Option Cloud SQL for PostgreSQL aus.
Der Abschnitt Neu: Schnellstart-Migration für PostgreSQL wird angezeigt.
- Klicken Sie im Abschnitt Neu: Schnellstart-Migration für PostgreSQL auf Migration starten.
Die Seite Zu Cloud SQL for PostgreSQL migrieren wird geöffnet.
- Führen Sie im Abschnitt Migration konfigurieren die folgenden Schritte aus:
- Wählen Sie im Menü Zielregion die Region Ihrer Cloud SQL-Zielinstanz aus.
- Geben Sie im Feld Migrationspräfix einen lesbaren String ein, der den Namen aller Migrationseinheiten hinzugefügt wird, die für die Schnellstartmigration erstellt werden: Verbindungsprofile, Konfiguration für private Verbindungen, Netzwerkanhang und zugehöriges Subnetz sowie Migrationsjob.
- Wählen Sie im Menü Konfigurationstyp eine der folgenden Optionen aus:
- Bestehende Konfiguration für Verbindungen: Wählen Sie diese Option aus, wenn Sie bereits einen Netzwerk-Anhang und eine Konfiguration für private Verbindungen haben, die die Methode „Private Service Connect-Schnittstellen“ verwendet. Diese Option eignet sich am besten, wenn Sie zuvor Quickstart-Migrationen verwendet haben und dieselben Netzwerkressourcen wiederverwenden möchten.
- Neue Konfiguration für die Verbindung: Wählen Sie diese Option aus, um einen neuen Netzwerkanhang und das Subnetz des Netzwerkanhangs im VPC-Netzwerk der Quelldatenbank zu erstellen. Die Konfiguration für private Verbindungen wird im selben Projekt wie Ihre Zielinstanz erstellt.
- Klicken Sie auf Weiter.
- Führen Sie im Abschnitt Quelle verbinden folgende Schritte aus:
- Geben Sie einen Hostnamen oder die private IP-Adresse Ihrer Quelldatenbank ein. Die Adresse der Quelldatenbank muss über Ihr Quell-VPC-Netzwerk erreichbar sein.
- Geben Sie den Port ein, der für den Zugriff auf den Host verwendet wird. Der PostgreSQL-Standardport ist
5432. - Geben Sie den Nutzernamen und das Passwort für das dedizierte Migrationskonto in Ihrer Quelldatenbank ein.
- Wählen Sie im Menü Verschlüsselungstyp eine der folgenden Optionen aus:
- Keine: Wenn für Ihre Quelldatenbank keine SSL/TLS-verschlüsselten Verbindungen erforderlich sind.
- Erforderlich: Wenn für Ihre Quelldatenbank SSL/TLS-verschlüsselte Verbindungen erforderlich sind. Bei dieser Option ist keine Zertifikatsüberprüfung erforderlich.
- Klicken Sie im Menü Zu migrierende Datenbanken auf Anpassen. Wählen Sie in der Seitenleiste nur die Datenbanken aus, die Sie zu Cloud SQL migrieren möchten.
- Klicken Sie auf Weiter.
- Im Abschnitt Ziel konfigurieren können Sie eine neue Zielinstanz erstellen oder eine vorhandene auswählen.
Neue Instanzen
So erstellen Sie eine neue Zielinstanz:
- Wählen Sie im Menü Zielinstanztyp die Option Neue Instanz aus.
Database Migration Service verwendet die Cloud SQL-Standardkonfiguration für eine neue Instanz. Klicken Sie auf Anpassen, um Instanzfunktionen wie den Maschinentyp, die zonale Verfügbarkeit oder die Datenschutzeinstellungen anzupassen. Weitere Informationen zur Instanzkonfiguration finden Sie in der Cloud SQL-Dokumentation unter Instanzen erstellen.
- Geben Sie im Feld Passwort ein Passwort für den Standardadministratornutzer
postgresqlein. Database Migration Service stellt als dieser Nutzer eine Verbindung her, um Ihre Daten zu migrieren.
Vorhandene Instanzen
Sie können Datenbanken zu einer vorhandenen Instanz migrieren. Achten Sie darauf, dass die Zielinstanz für Private Service Connect aktiviert ist und keine mTLS-Verbindungen erfordert. Gehen Sie dazu so vor:
- Wählen Sie im Menü Zielinstanztyp die Option Vorhandene Instanz aus.
- Wählen Sie im Menü Vorhandene Instanz-ID die Instanz-ID aus.
- Wählen Sie im Menü Zielinstanztyp die Option Neue Instanz aus.
- Klicken Sie auf Migration starten.
Database Migration Service erstellt jetzt den Migrationsjob und beginnt mit der Migration. Sie können den Migrationsfortschritt in den Details des Migrationsjobs im Database Migration Service überwachen. Weitere Informationen finden Sie unter Migrationsjobs verwalten.
gcloud
So erstellen und führen Sie eine Schnellstartmigration mit der gcloud CLI aus:
-
Netzwerkanhang konfigurieren
Entscheiden Sie, ob Sie eine neue Netzwerkverbindung erstellen oder eine vorhandene wiederverwenden möchten. Sie benötigen einen Netzwerkanhang in dem Netzwerk, in dem die private IP-Adresse Ihrer Quelldatenbank erreichbar ist.- Wenn Sie eine neue Netzwerkverbindung erstellen möchten, führen Sie den folgenden Befehl aus (klicken Sie, um alle Details zu maximieren).
gcloud compute network-attachments createErsetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- NETWORK_ATTACHMENT durch den Namen der zu erstellenden Netzwerkverbindung.
- REGION durch die Region für den Netzwerk-Anhang.
- 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 eine vorhandene Netzwerkverbindung wiederverwenden möchten, fahren Sie mit dem nächsten Schritt fort.
- Wenn Sie eine neue Netzwerkverbindung erstellen möchten, führen Sie den folgenden Befehl aus (klicken Sie, um alle Details zu maximieren).
-
Dem Mandantenprojekt des Database Migration Service Zugriff auf Ihre Netzwerkverbindung gewähren
Ihr Netzwerkanhang muss Verbindungen vom Mandantenprojekt des Database Migration Service zulassen. Führen Sie diese Schritte aus:- Rufen Sie die Mandantenprojekt-ID von Database Migration Service ab, indem Sie eine private Verbindung im Probebetrieb erstellen (zum Maximieren klicken):
gcloud database-migration private-connections create --validate-onlyErsetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- PRIVATE_CONN durch den Namen der Ressource für die private Verbindung.
- REGION durch die Region der privaten Verbindung.
- NETWORK_ATTACHMENT_URI durch den URI des Netzwerk-Anhangs.
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.
- Erlauben Sie dem Mandantenprojekt des Database Migration Service und dem Zielprojekt, eine Verbindung zum Netzwerk-Attachment herzustellen (zum Maximieren klicken):
gcloud compute network-attachments updateErsetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- NETWORK_ATTACHMENT durch den Namen des Netzwerk-Anhangs.
- REGION durch die Region.
- DEST_PROJECT_ID durch die Projekt-ID Ihres Zielprojekts.
- Ersetzen Sie DMS_TENANT_ID durch die abgerufene Mandantenprojekt-ID des Database Migration Service.
- 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
- Rufen Sie die Mandantenprojekt-ID von Database Migration Service ab, indem Sie eine private Verbindung im Probebetrieb erstellen (zum Maximieren klicken):
-
Private Verbindungsressource für Database Migration Service erstellen
Führen Sie den folgenden Befehl aus (zum Maximieren klicken):gcloud database-migration private-connections createErsetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- PRIVATE_CONN durch den Namen der Ressource für die private Verbindung.
- REGION durch die Region der privaten Verbindung.
- NETWORK_ATTACHMENT_URI durch den URI des Netzwerk-Anhangs.
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
-
Quellverbindungsprofil erstellen
Führen Sie den folgenden Befehl aus (zum Maximieren klicken):gcloud database-migration connection-profiles create postgresqlIn diesem Beispiel wird das optionale Flag
--no-asyncverwendet, 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 mit dem Befehlgcloud database-migration operations describeprüfen, ob der Vorgang erfolgreich war.Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- Ersetzen Sie SOURCE_CONN_ID durch die ID Ihres Quellverbindungsprofils.
- Ersetzen Sie 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 Ressource für die private Verbindung.
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
-
Zielverbindungsprofil erstellen
Wählen Sie den Tab entsprechend aus, je nachdem, ob Sie zu einer neuen oder einer vorhandenen Cloud SQL-Instanz migrieren möchten:Neue Instanzen
Wenn Sie eine neue Zielinstanz für die Schnellstartmigration verwenden möchten, erstellen Sie zuerst die Instanz mit der Cloud SQL Google Cloud CLI und dann das Zielverbindungsprofil. Gehen Sie so vor:
-
Instanz erstellen mit der Cloud SQL Google Cloud CLI.
Achten Sie darauf, dass Sie das Flag
--enable-private-service-connectverwenden, um Private Service Connect für Ihre Zielinstanz zu aktivieren. Schnellstartmigrationen unterstützen nur Instanzen, für die Private Service Connect aktiviert ist. - Erstellen Sie das Zielverbindungsprofil für Ihre neue Instanz.
Maximieren Sie den folgenden Abschnitt, um alle Befehlsdetails zu sehen.
gcloud database-migration connection-profiles create postgresqlIn diesem Beispiel wird das optionale Flag
--no-asyncverwendet, 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 mit dem Befehlgcloud database-migration operations describeprüfen, ob der Vorgang erfolgreich war.Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- DEST_CONN_ID mit der Kennung des Zielverbindungsprofils.
- Ersetzen Sie REGION durch die Region, in der Sie das Verbindungsprofil speichern möchten. Diese Region sollte mit der Region Ihrer Zielinstanz übereinstimmen.
- DEST_INSTANCE durch die ID der zuvor erstellten Cloud SQL-Zielinstanz.
- DEST_USER durch den Nutzernamen des Migrationsnutzers in Ihrer 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 \ --cloudsql-instance=DEST_INSTANCE \ --username=DEST_USER \ --password=DEST_PASSWORD \ --role=DESTINATION \ --no-async
Windows (PowerShell)
gcloud database-migration connection-profiles create postgresql DEST_CONN_ID ` --region=REGION ` --cloudsql-instance=DEST_INSTANCE ` --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 ^ --cloudsql-instance=DEST_INSTANCE ^ --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 Instanzen
Wenn Sie zu einer vorhandenen Zielinstanz migrieren möchten, erstellen Sie das Verbindungsprofil, das auf die vorab erstellte Instanz verweist. Führen Sie den folgenden Befehl aus (zum Maximieren klicken):
gcloud database-migration connection-profiles create postgresqlIn diesem Beispiel wird das optionale Flag
--no-asyncverwendet, 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 mit dem Befehlgcloud database-migration operations describeprüfen, ob der Vorgang erfolgreich war.Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- DEST_CONN_ID mit der Kennung des Zielverbindungsprofils.
- Ersetzen Sie REGION durch die Region, in der Sie das Verbindungsprofil speichern möchten. Diese Region sollte mit der Region Ihrer Zielinstanz übereinstimmen.
- DEST_INSTANCE durch die ID der zuvor erstellten Cloud SQL-Zielinstanz.
- DEST_USER durch den Nutzernamen des Migrationsnutzers in Ihrer 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 \ --cloudsql-instance=DEST_INSTANCE \ --username=DEST_USER \ --password=DEST_PASSWORD \ --role=DESTINATION \ --no-async
Windows (PowerShell)
gcloud database-migration connection-profiles create postgresql DEST_CONN_ID ` --region=REGION ` --cloudsql-instance=DEST_INSTANCE ` --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 ^ --cloudsql-instance=DEST_INSTANCE ^ --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]
-
Instanz erstellen mit der Cloud SQL Google Cloud CLI.
Achten Sie darauf, dass Sie das Flag
-
Migrationsjob erstellen
Führen Sie den folgenden Befehl aus (zum Maximieren klicken):gcloud database-migration migration-jobs createIn diesem Beispiel wird das optionale Flag
--no-asyncverwendet, 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 mit dem Befehlgcloud database-migration operations describeprüfen, ob der Vorgang erfolgreich war.Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- MIGRATION_JOB_ID durch die ID 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 mit der ID 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]
-
Migrationsjob ausführen
Migrationsjob starten (zum Maximieren klicken):gcloud database-migration migration-jobs startIn diesem Beispiel wird das optionale Flag
--no-asyncverwendet, 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 mit dem Befehlgcloud database-migration operations describeprüfen, ob der Vorgang erfolgreich war.Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- MIGRATION_JOB_ID durch die ID Ihres Migrationsjobs.
Wenn Sie die Kennung nicht kennen, können Sie mit dem Befehl
gcloud database-migration migration-jobs listalle Migrationsjobs in einer bestimmten Region auflisten und ihre Kennungen aufrufen. - REGION ist die Kennung der Region, in der Ihr Verbindungsprofil 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 Vorgangseinheit 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
Um zu prüfen, ob Ihr Vorgang erfolgreich war, können Sie das zurückgegebene Vorgangsobjekt abfragen oder den Status des Migrationsjobs prüfen:
- Verwenden Sie den Befehl
gcloud database-migration migration-jobs describemit MIGRATION_JOB_ID, um den Status des Migrationsjobs aufzurufen. - Verwenden Sie den Befehl
gcloud database-migration operations describemit OPERATION_ID, um den Status des Vorgangs selbst zu sehen.
- MIGRATION_JOB_ID durch die ID Ihres Migrationsjobs.
Migration abschließen
Wenn Sie sich entscheiden, Ihre Anwendung auf die neue Cloud SQL-Instanz umzustellen, schließen Sie die Migration mit den folgenden Schritten ab:
- Beenden Sie alle Schreibvorgänge in die Quelldatenbank. Sie können sie in den schreibgeschützten Modus versetzen, um die Betriebsfunktionen beizubehalten.
- Migrationsjob hochstufen Bei Schnellstart-Migrationen bleibt Ihre Zielinstanz während des Migrationsprozesses beschreibbar. Durch das Hochstufen des Migrationsjobs wird nur die Replikation beendet. Es hat keine Auswirkungen auf die Zielinstanz.
- Optional: Migrationsdaten auf Vollständigkeit prüfen