Übersicht
Der Database Migration Service verwendet Migrationsjobs, um Daten aus der Quelldatenbankinstanz in die Zieldatenbankinstanz zu migrieren. Das Erstellen eines Migrationsjobs für eine vorhandene Zielinstanz umfasst:
- Einstellungen für den Migrationsjob festlegen
- Verbindungsprofil der Quelldatenbank auswählen
- Vorhandene Zieldatenbankinstanz auswählen
- Vorhandene Instanz herabstufen, um sie in ein Lesereplikat umzuwandeln
- Verbindung zwischen den Quell- und Zieldatenbankinstanzen einrichten
- Den Migrationsjob testen, um zu überprüfen, ob die für den Job angegebenen Verbindungsinformationen gültig sind
Es gibt bestimmte Einschränkungen, die Sie beachten sollten, wenn Sie zu einer Zielinstanz migrieren möchten, die außerhalb von Database Migration Service erstellt wurde. Weitere Informationen finden Sie unter Bekannte Einschränkungen.
Migrationsauftrag mit der Google Cloud Console erstellen
Einstellungen für den Migrationsjob festlegen
Rufen Sie in der Google Cloud Console die Migrationsjobs auf.
Klicken Sie oben auf der Seite auf Migrationsjob erstellen.
Geben Sie einen Namen für den Migrationsjob ein. Wählen Sie einen aussagekräftigen Namen aus, mit dem Sie den Migrationsjob identifizieren können. Der Jobname darf keine vertraulichen Informationen oder personenidentifizierbaren Informationen enthalten.
Behalten Sie die automatisch generierte Migrationsjob-ID bei.
Wählen Sie das Quelldatenbankmodul aus.
Wählen Sie AlloyDB for PostgreSQL als Zielmodul aus.
Wählen Sie die Zielregion für die Migration aus. Diese Region muss mit der Region übereinstimmen, in der sich Ihre Zieldatenbank befindet. Nachdem Sie die Zielregion ausgewählt haben, kann diese Auswahl nicht mehr geändert werden.
Wählen Sie als Migrationsjobtyp Kontinuierlich (Snapshot + laufende Änderungen) aus.
Klicken Sie im Abschnitt Voraussetzungen prüfen auf Öffnen, um eine automatisch generierte Anleitung zur Vorbereitung Ihrer Quelldatenbank für die Migration aufzurufen. Es ist am besten, diese Voraussetzungen in diesem Schritt abzuschließen. Sie können sie aber auch jederzeit abschließen, bevor Sie den Migrationsjob testen oder starten. Weitere Informationen finden Sie unter Quelle konfigurieren.
Klicken Sie auf Speichern und fortfahren.
Informationen zum Quellverbindungsprofil angeben
-
Wenn Sie ein Verbindungsprofil erstellt haben, wählen Sie es aus der Liste der vorhandenen Verbindungsprofile aus.
Wenn Sie noch kein Verbindungsprofil erstellt haben, klicken Sie unten in der Drop-down-Liste auf Verbindungsprofil erstellen und führen Sie dann die gleichen Schritte wie unter Quellverbindungsprofil erstellen aus.
Es wird empfohlen, ein spezielles Verbindungsprofil für die AlloyDB-Migration zu erstellen.
- Klicken Sie im Abschnitt Datendump-Konfigurationen anpassen auf Datendump-Konfigurationen anzeigen.
Die Geschwindigkeit des Parallelismus des Datendumps hängt von der Auslastung Ihrer Quelldatenbank ab. Sie haben die folgenden Möglichkeiten:
- Optimal (empfohlen): Ausgewogene Leistung bei optimaler Auslastung der Quelldatenbank.
- Maximal: Bietet die höchste Dumpgeschwindigkeit, kann aber zu einer erhöhten Belastung der Quelldatenbank führen.
- Minimum: Beansprucht die geringste Menge an Rechenressourcen in der Quelldatenbank, hat aber möglicherweise einen langsameren Dump-Durchsatz.
Wenn Sie angepasste Einstellungen für die Parallelität des Datendumps verwenden möchten, müssen Sie die Parameter
max_replication_slots
,max_wal_senders
undmax_worker_processes
in Ihrer Quelldatenbank erhöhen. Sie können die Konfiguration prüfen, indem Sie am Ende der Erstellung des Migrationsjobs den Test des Migrationsjobs ausführen. - Klicken Sie auf Speichern und fortfahren.
Zielinstanz auswählen
1. Wählen Sie im Menü Typ des Zielclusters die Option Vorhandener Cluster aus.Wählen Sie im Bereich Zielcluster auswählen den Zielcluster aus.
Prüfen Sie die Informationen zu Ihrem Cluster und klicken Sie auf Auswählen und fortfahren.
Wenn Sie zu einer vorhandenen Zieldatenbank migrieren, stuft der Database Migration Service die Zielinstanz herab und konvertiert sie in ein Replikat. Geben Sie im Bestätigungsfenster die Zielinstanz-ID ein, um zu bestätigen, dass die Deaktivierung sicher durchgeführt werden kann.
Klicken Sie auf Bestätigen und fortfahren.
Verbindung zwischen den Quell- und Zieldatenbankinstanzen einrichten
Wählen Sie im Drop-down-Menü Verbindungsmethode eine Netzwerkverbindungsmethode aus. Diese Methode definiert, wie der neu erstellte AlloyDB-Cluster mit der Quelldatenbank verbunden wird. Zu den aktuellen Netzwerkverbindungsmethoden gehören IP-Zulassungsliste, VPC-Peering, umgekehrter SSH-Tunnel und TCP-Proxy über eine in der Cloud gehostete VM.
- Wenn Sie die Netzwerkverbindungsmethode „IP-Zulassungsliste“ auswählen, müssen Sie die ausgehende IP-Adresse Ihrer Zielinstanz angeben. Kopieren Sie die ausgehenden IP-Adressen sowohl für die primäre als auch für die sekundäre Instanz und konfigurieren Sie damit die Netzwerk-Firewall Ihres Quelldatenbankservers und die Datei
pg_hba.conf
, damit die Quelle Verbindungen von diesen Adressen akzeptieren kann. Wenn Sie die Netzwerkverbindungsmethode „Umgekehrter SSH-Tunnel“ auswählen, wählen Sie die Compute Engine-VM-Instanz aus, die den Tunnel hostet.
Nachdem Sie die Instanz angegeben haben, stellt Google ein Script zur Verfügung, das die Schritte zum Einrichten des Tunnels zwischen der Quell- und der Zieldatenbank ausführt. Sie müssen das Script in der Google Cloud CLI ausführen.
Führen Sie die Befehle auf einem Computer aus, der sowohl eine Verbindung zur Quelldatenbank als auch zu Google Cloud hat.
- Wenn Sie die Netzwerkverbindungsmethode „VPC-Peering“ auswählen, wählen Sie das VPC-Netzwerk aus, in dem sich die Quelldatenbank befindet. Die Cloud SQL-Instanz wird aktualisiert, damit eine Verbindung mit diesem Netzwerk hergestellt wird.
Wenn Sie die TCP-Proxy-Verbindungsmethode über eine in der Cloud gehostete VM auswählen, geben Sie die erforderlichen Details für die neue Compute Engine-VM-Instanz ein, auf der der TCP-Proxy gehostet wird.
Nachdem Sie die Details angegeben haben, wird in der Google Cloud Console ein Script bereitgestellt, das die Schritte zum Einrichten des Proxys zwischen der Quell- und der Zieldatenbank ausführt. Sie müssen das Script auf einem Computer mit einer aktualisierten Google Cloud CLI ausführen.
Nach dem Ausführen des Scripts wird die private IP-Adresse der neu erstellten VM ausgegeben. Geben Sie die IP-Adresse ein und klicken Sie auf Konfigurieren und fortfahren.
- Weitere Informationen zum Konfigurieren der Konnektivität
Nachdem Sie die Netzwerkverbindungsmethode ausgewählt und gegebenenfalls zusätzliche Informationen dazu angegeben haben, klicken Sie auf KONFIGURIMEREN UND WEITER.
Migrationsjob testen und erstellen
In diesem letzten Schritt sehen Sie sich die Zusammenfassung der Einstellungen, der Quelle, des Ziels und der Verbindungsmethode des Migrationsjobs an und testen dann die Gültigkeit der Konfiguration des Migrationsjobs. Falls Probleme auftreten, können Sie die Einstellungen des Migrationsjobs ändern. Nicht alle Einstellungen können bearbeitet werden.
Klicken Sie auf JOB TESTEN, um Folgendes zu prüfen:
- Die Quelldatenbank wurde gemäß den Voraussetzungen korrekt konfiguriert.
- Die Quell- und Zielinstanzen können miteinander kommunizieren.
- Alle erforderlichen Aktualisierungen an privaten IP-Adressen am Ziel wurden vorgenommen.
- Der Migrationsjob ist gültig und die Quell- und Zielversionen sind kompatibel.
Wenn der Test fehlschlägt, können Sie das Problem an der entsprechenden Stelle des Ablaufs beheben und zum erneuten Test zurückkehren.
Der Migrationsjob kann auch erstellt werden, wenn der Test fehlschlägt. Nach dem Start des Jobs kann er jedoch während der Ausführung fehlschlagen.
Klicken Sie auf JOB ERSTELLEN UND STARTEN, um den Migrationsjob zu erstellen und sofort zu starten, oder auf JOB ERSTELLEN, um den Migrationsjob zu erstellen, ohne ihn sofort zu starten.
Wenn der Job nicht zum Zeitpunkt der Erstellung gestartet wird, können Sie ihn auf der Seite Migrationsjobs starten, indem Sie auf STARTEN klicken.
Unabhängig davon, wann der Migrationsjob gestartet wird, wird Ihrer Organisation die Existenz der Zielinstanz in Rechnung gestellt.
Wenn Sie den Migrationsjob starten, beginnt der Database Migration Service mit dem vollständigen Dump und sperrt die Quelldatenbank kurz. Wenn sich Ihre Quelle in Amazon RDS oder Amazon Aurora befindet, ist zu Beginn der Migration zusätzlich eine kurze Unterbrechung der Schreibvorgänge (ungefähr unter einer Minute) durch den Database Migration Service erforderlich. Weitere Informationen finden Sie unter Überlegungen zur Parallelisierung von Datendumps.
Der Migrationsjob wird der Liste der Migrationsjobs hinzugefügt und kann direkt aufgerufen werden.
Fahren Sie mit Migrationsjob prüfen fort.
Migrationsjob mit der Google Cloud CLI erstellen
Wenn Sie mit der Google Cloud CLI zu einer vorhandenen Instanz migrieren, müssen Sie das Verbindungsprofil für die Zielinstanz manuell erstellen. Wenn Sie die Google Cloud Console verwenden, ist das nicht erforderlich, da der Database Migration Service das Zielverbindungsprofil für Sie erstellt und entfernt.
Hinweise
Bevor Sie mit der gcloud CLI einen Migrationsjob zu einer vorhandenen Zieldatenbankinstanz erstellen, müssen Sie Folgendes tun:
- Erstellen Sie die Zieldatenbankinstanz.
- Quelldatenbankinstanz vorbereiten Siehe:
- Quelle konfigurieren
- Erstellen Sie das Quellverbindungsprofil. Die ID des Quellverbindungsprofils ist erforderlich, um einen Migrationsjob zu erstellen.
- Konnektivität konfigurieren
Zielverbindungsprofil erstellen
Erstellen Sie das Zielverbindungsprofil für Ihre vorhandene Zielinstanz. Führen Sie dazu den Befehl gcloud database-migration connection-profiles create
aus:
In diesem Beispiel wird das optionale Flag --no-async
verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass einige Befehle einige Zeit in Anspruch nehmen können. Sie können das Flag --no-async
überspringen, um Befehle asynchron auszuführen.
In diesem Fall müssen Sie mit dem Befehl gcloud database-migration operations describe
prüfen, ob der Vorgang erfolgreich war.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- CONNECTION_PROFILE_ID mit einer maschinenlesbaren Kennung für Ihr Verbindungsprofil.
- REGION durch die Kennung der Region ersetzen, in der Sie das Verbindungsprofil speichern möchten.
- DESTINATION_INSTANCE_ID durch die Instanz-ID der Zielinstanz.
- Optional: CONNECTION_PROFILE_NAME mit einem von Menschen lesbaren Namen für Ihr Verbindungsprofil. Dieser Wert wird in der Google Cloud Console angezeigt.
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud database-migration connection-profiles \ create postgresql CONNECTION_PROFILE_ID \ --no-async \ --alloydb-cluster=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create postgresql CONNECTION_PROFILE_ID ` --no-async ` --alloydb-cluster=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create postgresql CONNECTION_PROFILE_ID ^ --no-async ^ --alloydb-cluster=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
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]
Migrationsjob erstellen
In diesem Beispiel wird das optionale Flag --no-async
verwendet, damit alle Vorgänge synchron ausgeführt werden. Das bedeutet, dass einige Befehle einige Zeit in Anspruch nehmen können. Sie können das Flag --no-async
überspringen, um Befehle asynchron auszuführen.
In diesem Fall müssen Sie mit dem Befehl gcloud database-migration operations describe
prüfen, ob der Vorgang erfolgreich war.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- MIGRATION_JOB_ID durch eine maschinenlesbare Kennung für Ihren Migrationsjob. Sie verwenden diesen Wert, um mit Migrationsjobs zu arbeiten, indem Sie die Google Cloud CLI-Befehle oder die API des Database Migration Service verwenden.
- REGION durch die Regionskennung ersetzen, in der Sie den Migrationsjob speichern möchten.
- MIGRATION_JOB_NAME durch einen für Menschen lesbaren Namen für den Migrationsjob. Dieser Wert wird in Database Migration Service in der Google Cloud Console angezeigt.
- SOURCE_CONNECTION_PROFILE_ID mit einer maschinenlesbaren Kennung des Quellverbindungsprofils.
- DESTINATION_CONNECTION_PROFILE_ID mit einer maschinenlesbaren Kennung des Zielverbindungsprofils.
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=CONTINUOUS \
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=CONTINUOUS `
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=CONTINUOUS ^
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]
Zieldatenbank degradieren
Für den Database Migration Service muss die Zieldatenbankinstanz während der Migration als Lesereplika funktionieren. Führen Sie vor dem Starten des Migrationsjobs den Befehl gcloud database-migration migration-jobs demote-destination
aus, um die Zieldatenbankinstanz herabzustufen.
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 list
alle Migrationsjobs in einer bestimmten Region auflisten und ihre IDs aufrufen. - REGION mit der 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 \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Ergebnis
Die Aktion wird asynchron ausgeführt. Daher gibt dieser Befehl eine Vorgangsentität zurück, die einen lang andauernden Vorgang 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: demote-destination name: OPERATION_ID
Sie können das zurückgegebene Vorgangsobjekt abfragen oder den Status des Migrationsjobs prüfen, um festzustellen, ob der Vorgang erfolgreich war:
- Verwenden Sie den Befehl
gcloud database-migration migration-jobs describe
, um den Status des Migrationsjobs aufzurufen. - Verwenden Sie
gcloud database-migration operations describe
mit OPERATION_ID, um den Status des Vorgangs selbst aufzurufen.
Migrationsjobs verwalten
Ihr Migrationsjob ist jetzt konfiguriert und mit der Zieldatenbankinstanz verbunden. Sie können sie mit den Vorgängen verify
,start
, stop
, restart
und resume
verwalten.
Migrationsjob prüfen
Wir empfehlen, den Migrationsjob zuerst mit dem Befehl gcloud database-migration migration-jobs verify
zu prüfen.
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 list
alle Migrationsjobs in einer bestimmten Region auflisten und ihre IDs aufrufen. - REGION mit der 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 \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Ergebnis
Die Aktion wird asynchron ausgeführt. Daher gibt dieser Befehl eine Vorgangsentität zurück, die einen lang andauernden Vorgang 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: verify name: OPERATION_ID
Sie können das zurückgegebene Vorgangsobjekt abfragen oder den Status des Migrationsjobs prüfen, um festzustellen, ob der Vorgang erfolgreich war:
- Verwenden Sie den Befehl
gcloud database-migration migration-jobs describe
mit MIGRATION_JOB_ID, um den Status des Migrationsjobs aufzurufen. - Verwenden Sie den Befehl
gcloud database-migration operations describe
mit OPERATION_ID, um den Status des Vorgangs selbst aufzurufen.
Migrationsjob starten
Starten Sie den Migrationsjob mit dem Befehl gcloud database-migration migration-jobs start
.
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 list
alle Migrationsjobs in einer bestimmten Region auflisten und ihre IDs aufrufen. - REGION mit der 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 Vorgangsentität zurück, die einen lang andauernden Vorgang 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
Sie können das zurückgegebene Vorgangsobjekt abfragen oder den Status des Migrationsjobs prüfen, um festzustellen, ob der Vorgang erfolgreich war:
- Verwenden Sie den Befehl
gcloud database-migration migration-jobs describe
mit MIGRATION_JOB_ID, um den Status des Migrationsjobs aufzurufen. - Verwenden Sie den Befehl
gcloud database-migration operations describe
mit OPERATION_ID, um den Status des Vorgangs selbst aufzurufen.
Migrationsjob hochstufen
Sobald die Migration die CDC-Phase (Change Data Capture) erreicht hat, können Sie die Zieldatenbankinstanz von einem Lesereplikat zu einer eigenständigen Instanz hochstufen.
Zum Abrufen der aktuellen Richtlinie führen Sie den Befehl gcloud database-migration migration-jobs promote
aus:
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 list
alle Migrationsjobs in einer bestimmten Region auflisten und ihre IDs aufrufen. - REGION mit der 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 \ promote MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` promote MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ promote MIGRATION_JOB_ID ^ --region=REGION
Ergebnis
Die Aktion wird asynchron ausgeführt. Daher gibt dieser Befehl eine Vorgangsentität zurück, die einen lang andauernden Vorgang 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
- Verwenden Sie den Befehl
gcloud database-migration migration-jobs describe
mit MIGRATION_JOB_ID, um den Status des Migrationsjobs aufzurufen. - Verwenden Sie den Befehl
gcloud database-migration operations describe
mit OPERATION_ID, um den Status des Vorgangs selbst aufzurufen.