Um homogene PostgreSQL-Migrationen zu AlloyDB for PostgreSQL zu vereinfachen, können Sie Schnellstartmigrationen in Database Migration Service verwenden, um Netzwerkverbindungen, Verbindungsprofile und kontinuierliche Replikationsjobs automatisch bereitzustellen.
Übersicht
Schnellstartmigrationen sind ein einfacher kontinuierlicher Migrationsablauf für homogene PostgreSQL-Szenarien. Mit Schnellstartmigrationen kann Database Migration Service automatisch alles einrichten, was Sie für die Migration Ihrer Datenbanken benötigen: Netzwerkkomponenten (Netzwerkanhänge, Subnetze, Konfigurationen für private Konnektivität), Verbindungsprofile und Migrationsjobs.
Mit Schnellstart-Migrationen können Sie Ihre Daten in einen vorhandenen AlloyDB for PostgreSQL-Cluster verschieben oder während der Konfiguration der Migration einen neuen Cluster erstellen. Schnellstart-Migrationen eignen sich am besten für:
- Grundlegende Migrationen, bei denen Sie keine genaue Kontrolle über die Parallelitätseinstellungen für Datendumps benötigen.
- Datenbank von einem Google Cloud Projekt zu einem anderen migrieren. 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.
- Der Quelldatenbank muss eine private IP-Adresse in Ihrem VPC-Netzwerk zugewiesen sein. Database Migration Service stellt über Private Service Connect-Schnittstellen (Netzwerkanhänge) eine Verbindung zur Quelldatenbank her. Verbindungen über öffentliche IP-Adressen werden für Schnellstartmigrationen nicht unterstützt.
Weitere Informationen zu Schnellstart-Migrationen finden Sie in der Dokumentation zum Database Migration Service unter Schnellstart-Migrationen.
Hinweis
- Prüfen Sie, ob Schnellstart-Migrationen Ihr Szenario vollständig unterstützen können. Weitere Informationen finden Sie in der Dokumentation zu Database Migration Service unter Einschränkungen bei der Schnellstart-Migration.
-
Melden Sie sich in 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 APIs für Database Migration Service, Compute Engine, Network Connectivity Center und AlloyDB for PostgreSQL Admin.
Erforderliche Rollen
Bitten Sie Ihren Administrator, die erforderlichen IAM-Rollen (Identity and Access Management) für die an der Migration beteiligten Konten in den entsprechenden Projekten zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen von Schnellstart-Migrationen 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
Weisen Sie bestimmten Konten im Projekt Google Cloud , in dem sich Ihre Quelldatenbank befindet, die folgenden Rollen zu:
- Für das Nutzerkonto, das die Migration ausführt:
Compute-Netzwerkadministrator
(
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 für Sie 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 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.*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 im Projekt Google Cloud durchführt, in dem sich Ihre Zieldatenbank befindet, die folgenden Rollen zu:
-
Database Migration Admin
(
roles/datamigration.admin) -
AlloyDB Admin
(
roles/alloydb.admin)
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. Maximieren Sie den Abschnitt Erforderliche Berechtigungen (Ziel), um die erforderlichen Berechtigungen im Detail anzuzeigen:
Erforderliche Berechtigungen (Ziel)
Die folgenden Berechtigungen sind erforderlich, um homogene Schnellstartmigrationen mit dem Database Migration Service durchzuführen:
datamigration.*alloydb.clusters.createalloydb.clusters.getalloydb.clusters.listalloydb.clusters.updatealloydb.clusters.deletealloydb.instances.createalloydb.instances.getalloydb.instances.listalloydb.instances.updatealloydb.instances.deletealloydb.instances.executeSqlalloydb.operations.getalloydb.users.listalloydb.users.getalloydb.users.createalloydb.users.updatealloydb.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.
- 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.
- 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
SUPERUSERzu. - 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 die einzelnen Tabellen besitzt, 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
PostgreSQL-Rolle
- Für Tabellen ohne Primärschlüssel: Standardmäßig werden während der Change Data Capture-Phase (CDC) nur
INSERT-Vorgänge für Tabellen ohne Primärschlüssel repliziert. Wenn SieUPDATE- undDELETE-Vorgänge replizieren möchten, müssen Sie dieREPLICA IDENTITYder Tabelle aufFULLoderUSING INDEXfestlegen: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.
- 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.
- 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 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 = 10betragen, zuzüglich der Anzahl der Replikationsslots, 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 Replikationsslots.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 für
max_worker_processesmindestens 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
Für Cloud SQL-Quellen konfigurieren Sie Datenbank-Flags in der Google Cloud Console. Sie müssen die Instanz neu starten, nachdem Sie die 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.
- Legen Sie das Flag
cloudsql.logical_decodingaufonfest. - Legen Sie für den Parameter
wal_sender_timeoutden Wert0fest. Dieser Wert deaktiviert das Zeitlimit, das zum Beenden inaktiver Replikationsverbindungen verwendet wird. - 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 = 10betragen, zuzüglich der Anzahl der Replikationsslots, die Sie bereits verwenden. - Konfigurieren Sie den Parameter
max_wal_sendersmindestens auf 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. - Legen Sie für den Parameter
max_worker_processesmindestens die Anzahl der Datenbanken fest, 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
Wenn Sie Schnellstartmigrationen verwenden, können Sie einen neuen AlloyDB for PostgreSQL-Cluster erstellen und Ihre Datenbanken dorthin migrieren oder Datenbanken zu einem bereits vorhandenen Cluster migrieren.
Schnellstart-Migrationen für neue Cluster
So erstellen Sie einen neuen AlloyDB for PostgreSQL-Cluster und migrieren Ihre Datenbanken sofort dorthin:
Console
- Zur Clusterseite.
- Klicken Sie auf Cluster erstellen > Aus einer vorhandenen Datenbank.
Das Schnellstart-Migrationsformular für Database Migration Service wird geöffnet.
- Führen Sie im Abschnitt Migration konfigurieren die folgenden Schritte aus:
- Wählen Sie im Menü Zielregion die Region des AlloyDB for PostgreSQL-Zielclusters aus.
- Geben Sie im Feld Migrationspräfix einen String ein, der den Namen aller Migrationsentitäten hinzugefügt wird, die für die Schnellstartmigration erstellt werden: Verbindungsprofile, private Konnektivität, Netzwerkanhang und zugehöriges Subnetz sowie Migrationsjob.
- 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 für Private Service Connect-Schnittstellen verwendet. Diese Option eignet sich am besten, wenn Sie zuvor Schnellstart-Migrationen 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.
- 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. Die Standard-PostgreSQL-Portnummer 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 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.
- Klicken Sie im Menü Zu migrierende Datenbanken auf Anpassen. Wählen Sie in der Seitenleiste nur die Datenbanken aus, die Sie zu AlloyDB for PostgreSQL migrieren möchten.
- Klicken Sie auf Weiter.
- Führen Sie im Abschnitt Ziel konfigurieren folgende Schritte aus:
- 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 unter Cluster und primäre Instanz erstellen.
- Geben Sie im Feld Passwort ein Passwort für den Standardadministrator
postgresqlein. Database Migration Service stellt eine Verbindung als dieser Nutzer her, um Ihre Daten zu migrieren.
- Wählen Sie im Menü Zielinstanztyp die Option Neuer Cluster aus.
- Klicken Sie auf Migration starten.
Database Migration Service erstellt den Migrationsjob und startet die Migration. Sie können den Migrationsfortschritt sowie den Zustand des Zielclusters in AlloyDB for PostgreSQL überwachen. Weitere Informationen finden Sie unter Clusterinformationen ansehen.
gcloud
So migrieren Sie mit der gcloud CLI zu einem neuen AlloyDB for PostgreSQL-Cluster:
-
Erstellen Sie die Netzwerkanhangsressource.
Erstellen Sie den Netzwerkanhang in dem Projekt und dem Virtual Private Cloud-Netzwerk, in dem sich Ihre Quelldatenbank befindet: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
Ersetzen Sie Folgendes:
NETWORK_ATTACHMENT: Der Name des zu erstellenden Netzwerkanhangs.REGION: Die Region für den Netzwerkanhang.DEST_PROJECT_ID: Die Projekt-ID Ihres Zielprojekts.SOURCE_PROJECT_ID: Die Projekt-ID, in der sich das Quellnetzwerk befindet.
-
Gewähren Sie dem Mandantenprojekt von Database Migration Service Zugriff auf den Netzwerkanhang.
Rufen Sie die Mandantenprojekt-ID ab, indem Sie eine Validierungsprüfung ausführen, und aktualisieren Sie dann die Annahmeliste des Netzwerkanhangs, um sie einzuschließen:-
Führen Sie eine Validierungsprüfung durch, um die Mandantenprojekt-ID abzurufen:
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
Ersetzen Sie Folgendes:
PRIVATE_CONN: Der Name der privaten Verbindungsressource.REGION: Die Region für die private Verbindung.NETWORK_ATTACHMENT_URI: Der URI des Netzwerkanhangs, der im vorherigen Schritt erstellt wurde. Beispiel:projects/SOURCE_PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT.
-
Aktualisieren Sie den Netzwerkanhang mit dem abgerufenen
DMS_TENANT_ID:gcloud compute network-attachments update NETWORK_ATTACHMENT \ --region=REGION \ --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \ --project=SOURCE_PROJECT_ID
Ersetzen Sie Folgendes:
NETWORK_ATTACHMENT: Der Name des Netzwerkanhangs.REGION: Die Region.DEST_PROJECT_ID: Die Projekt-ID Ihres Zielprojekts.DMS_TENANT_ID: Die abgerufene Projekt-ID des Mandantenprojekts des Database Migration Service.SOURCE_PROJECT_ID: Die Projekt-ID, in der sich das Quellnetzwerk befindet.
-
-
Konfiguration für private Konnektivität erstellen
Erstellen Sie die private Verbindung im Zielprojekt:gcloud database-migration private-connections create PRIVATE_CONN \ --region=REGION \ --network-attachment=NETWORK_ATTACHMENT_URI \ --display-name=PRIVATE_CONN
Ersetzen Sie Folgendes:
PRIVATE_CONN: Der Name der privaten Verbindungsressource.REGION: Die Region für die private Verbindung.NETWORK_ATTACHMENT_URI: Der URI des Netzwerkanhangs.
-
Quellverbindungsprofil erstellen
Erstellen Sie das Verbindungsprofil für die PostgreSQL-Quelldatenbank: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
Ersetzen Sie Folgendes:
SOURCE_CONN_ID: Die Kennung des Quellverbindungsprofils.REGION: Die Region, in der Sie das Verbindungsprofil speichern möchten.SOURCE_PRIVATE_IP: Die private IP-Adresse Ihrer Quelldatenbank.SOURCE_PORT: Der Port Ihrer Quelldatenbank (Standard ist 5432).SOURCE_USER: Der Nutzername des Migrationsnutzers in Ihrer Quelldatenbank.SOURCE_PASSWORD: Das Passwort des Migrationsnutzers in Ihrer Quelldatenbank.PRIVATE_CONN: Der Name der privaten Verbindungsressource.
-
Erstellen Sie den AlloyDB for PostgreSQL-Zielcluster.
Erstellen Sie den Zielcluster und die zugehörige primäre Instanz. Eine ausführliche Anleitung finden Sie auf der Seite Cluster und primäre Instanz erstellen. -
Erstellen Sie das Zielverbindungsprofil.
Erstellen Sie das Zielverbindungsprofil, das auf den neu erstellten AlloyDB for PostgreSQL-Cluster verweist: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
Ersetzen Sie Folgendes:
DEST_CONN_ID: Die Kennung des Zielverbindungsprofils.REGION: Die Region, in der Sie das Verbindungsprofil speichern möchten. Diese Region muss mit der Region des Zielclusters übereinstimmen.DEST_CLUSTER: Die ID oder der vollständige Ressourcenpfad Ihres AlloyDB for PostgreSQL-Zielclusters.DEST_USER: Der Nutzername des Migrationsnutzers in Ihrer Zieldatenbank.DEST_PASSWORD: Das Passwort für den Migrationsnutzer in der Zieldatenbank.
-
Migrationsjob erstellen
Erstellen Sie den kontinuierlichen Migrationsjob mit aktivierter nativer Replikation: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
Ersetzen Sie Folgendes:
MIGRATION_JOB_ID: Die Kennung Ihres Migrationsjobs.REGION: Die Region, in der Sie den Migrationsjob speichern möchten.SOURCE_CONN_ID: Die Kennung des Quellverbindungsprofils.DEST_CONN_ID: Die Kennung des Zielverbindungsprofils.DATABASES_LIST: Eine durch Kommas getrennte Liste der Datenbanken, die Sie migrieren möchten.
-
Starten Sie den Migrationsjob.
Starten Sie den Migrationsjob, um den Replikationsablauf zu beginnen:gcloud database-migration migration-jobs start MIGRATION_JOB_ID \ --region=REGION
Ersetzen Sie Folgendes:
MIGRATION_JOB_ID: Die Kennung des Migrationsjobs.REGION: Die Region, in der sich der Migrationsjob befindet.
Schnellstart-Migrationen für vorhandene Cluster
So migrieren Sie Datenbanken zu einem vorhandenen AlloyDB for PostgreSQL-Cluster:
Console
- Zur Clusterseite.
- Wählen Sie den AlloyDB for PostgreSQL-Cluster aus, zu dem Sie Ihre Datenbanken migrieren möchten.
- Klicken Sie auf der Cluster-Detailseite auf Daten migrieren.
- Klicken Sie im Bereich Daten migrieren auf Datenbank migrieren.
Das Schnellstart-Migrationsformular für Database Migration Service wird geöffnet.
- Führen Sie im Abschnitt Migration konfigurieren die folgenden Schritte aus:
- Wählen Sie im Menü Zielregion die Region des AlloyDB for PostgreSQL-Zielclusters aus.
- Geben Sie im Feld Migrationspräfix einen String ein, der den Namen aller Migrationsentitäten hinzugefügt wird, die für die Schnellstartmigration erstellt werden: Verbindungsprofile, private Konnektivität, Netzwerkanhang und zugehöriges Subnetz sowie Migrationsjob.
- 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 private Konnektivitätskonfiguration haben, die Private Service Connect-Schnittstellen im VPC-Netzwerk der Quelldatenbank verwendet. Diese Option eignet sich am besten, wenn Sie zuvor Schnellstart-Migrationen verwendet haben und dieselben Netzwerkressourcen wiederverwenden möchten.
- Neue Konnektivitätskonfiguration: Wählen Sie diese Option aus, um einen neuen Netzwerkanhang, ein neues Netzwerkanhang-Subnetz und eine neue Konfiguration für private Konnektivität im VPC-Netzwerk der Quelldatenbank zu erstellen.
- 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 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.
- Klicken Sie im Menü Zu migrierende Datenbanken auf Anpassen. Wählen Sie in der Seitenleiste nur die Datenbanken aus, die Sie zu AlloyDB for PostgreSQL migrieren möchten.
- Klicken Sie auf Migration starten.
Database Migration Service erstellt den Migrationsjob und startet die Migration. Sie können den Migrationsfortschritt sowie den Zustand des Zielclusters in AlloyDB for PostgreSQL überwachen. Weitere Informationen finden Sie unter Clusterinformationen ansehen.
gcloud
So migrieren Sie mit der gcloud CLI zu einem vorhandenen AlloyDB for PostgreSQL-Cluster:
-
Erstellen Sie die Netzwerkanhangsressource.
Erstellen Sie den Netzwerkanhang in dem Projekt und VPC-Netzwerk, in dem sich Ihre Quelldatenbank befindet: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
Ersetzen Sie Folgendes:
NETWORK_ATTACHMENT: Der Name des zu erstellenden Netzwerkanhangs.REGION: Die Region für den Netzwerkanhang.DEST_PROJECT_ID: Die Projekt-ID Ihres Zielprojekts.SOURCE_PROJECT_ID: Die Projekt-ID, in der sich das Quellnetzwerk befindet.
-
Gewähren Sie dem Mandantenprojekt von Database Migration Service Zugriff auf den Netzwerkanhang.
Rufen Sie die Mandantenprojekt-ID ab, indem Sie eine Validierungsprüfung ausführen, und aktualisieren Sie dann die Annahmeliste des Netzwerkanhangs, um sie einzuschließen:-
Führen Sie eine Validierungsprüfung durch, um die Mandantenprojekt-ID abzurufen:
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
Ersetzen Sie Folgendes:
PRIVATE_CONN: Der Name der privaten Verbindungsressource.REGION: Die Region für die private Verbindung.NETWORK_ATTACHMENT_URI: Der URI des Netzwerkanhangs, der im vorherigen Schritt erstellt wurde. Beispiel:projects/SOURCE_PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT.
-
Aktualisieren Sie den Netzwerkanhang mit dem abgerufenen
DMS_TENANT_ID:gcloud compute network-attachments update NETWORK_ATTACHMENT \ --region=REGION \ --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \ --project=SOURCE_PROJECT_ID
Ersetzen Sie Folgendes:
NETWORK_ATTACHMENT: Der Name des Netzwerkanhangs.REGION: Die Region.DEST_PROJECT_ID: Die Projekt-ID Ihres Zielprojekts.DMS_TENANT_ID: Die abgerufene Projekt-ID des Mandantenprojekts des Database Migration Service.SOURCE_PROJECT_ID: Die Projekt-ID, in der sich das Quellnetzwerk befindet.
-
-
Konfiguration für private Konnektivität erstellen
Erstellen Sie die private Verbindung im Zielprojekt:gcloud database-migration private-connections create PRIVATE_CONN \ --region=REGION \ --network-attachment=NETWORK_ATTACHMENT_URI \ --display-name=PRIVATE_CONN
Ersetzen Sie Folgendes:
PRIVATE_CONN: Der Name der privaten Verbindungsressource.REGION: Die Region für die private Verbindung.NETWORK_ATTACHMENT_URI: Der URI des Netzwerkanhangs.
-
Quellverbindungsprofil erstellen
Erstellen Sie das Verbindungsprofil für die PostgreSQL-Quelldatenbank: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
Ersetzen Sie Folgendes:
SOURCE_CONN_ID: Die Kennung des Quellverbindungsprofils.REGION: Die Region, in der Sie das Verbindungsprofil speichern möchten.SOURCE_PRIVATE_IP: Die private IP-Adresse Ihrer Quelldatenbank.SOURCE_PORT: Der Port Ihrer Quelldatenbank (Standard ist 5432).SOURCE_USER: Der Nutzername des Migrationsnutzers in Ihrer Quelldatenbank.SOURCE_PASSWORD: Das Passwort des Migrationsnutzers in Ihrer Quelldatenbank.PRIVATE_CONN: Der Name der privaten Verbindungsressource.
-
Erstellen Sie das Zielverbindungsprofil.
Erstellen Sie das Zielverbindungsprofil, das auf den zuvor erstellten AlloyDB for PostgreSQL-Zielcluster verweist: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
Ersetzen Sie Folgendes:
DEST_CONN_ID: Die Kennung des Zielverbindungsprofils.REGION: Die Region, in der Sie das Verbindungsprofil speichern möchten. Diese Region muss mit der Region des Zielclusters übereinstimmen.DEST_CLUSTER: Die ID oder der vollständige Ressourcenpfad Ihres AlloyDB for PostgreSQL-Zielclusters.DEST_USER: Der Nutzername des Migrationsnutzers in Ihrer Zieldatenbank.DEST_PASSWORD: Das Passwort für den Migrationsnutzer in der Zieldatenbank.
-
Migrationsjob erstellen
Erstellen Sie den kontinuierlichen Migrationsjob mit aktivierter nativer Replikation: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
Ersetzen Sie Folgendes:
MIGRATION_JOB_ID: Die Kennung Ihres Migrationsjobs.REGION: Die Region, in der Sie den Migrationsjob speichern möchten.SOURCE_CONN_ID: Die Kennung des Quellverbindungsprofils.DEST_CONN_ID: Die Kennung des Zielverbindungsprofils.DATABASES_LIST: Eine durch Kommas getrennte Liste der Datenbanken, die Sie migrieren möchten.
-
Starten Sie den Migrationsjob.
Starten Sie den Migrationsjob, um den Replikationsablauf zu beginnen:gcloud database-migration migration-jobs start MIGRATION_JOB_ID \ --region=REGION
Ersetzen Sie Folgendes:
MIGRATION_JOB_ID: Die Kennung des Migrationsjobs.REGION: Die Region, in der sich der Migrationsjob befindet.
Migration abschließen
Wenn Sie Ihre Anwendung auf die neue AlloyDB for PostgreSQL-Instanz umstellen möchten, schließen Sie die Migration mit den folgenden Schritten ab:
- Beenden Sie alle Schreibvorgänge in der Quelldatenbank. Sie können sie in den Lesemodus versetzen, um die Betriebsfunktionen beizubehalten.
- Migrationsjob hochstufen.
- Optional: Prüfen Sie die Migrationsdaten auf Vollständigkeit.