Tutorial: Offlinemigration von Amazon Aurora PostgreSQL zu Azure Database for PostgreSQL mit dem Migrationsdienst
In diesem Artikel wird erläutert, wie Sie eine PostgreSQL-Datenbank offline von Amazon Aurora zu Azure Database for PostgreSQL migrieren.
Der Migrationsdienst in Azure Database for PostgreSQL ist ein vollständig verwalteter Dienst, der in das Azure-Portal und die Azure CLI integriert ist. Er vereinfacht die Migration zu Azure Database for PostgreSQL.
In diesem Tutorial:
- Erfüllen der Voraussetzungen
- Initiieren der Migration
- Überwachen der Migration
- Überprüfen der Migration
Voraussetzungen
Bevor Sie eine Migration mithilfe des Migrationsdiensts in Azure Database for PostgreSQL starten, ist es wichtig, die folgenden Voraussetzungen abzuschließen. Diese Voraussetzungen sind speziell für Offlinemigrationsszenarien konzipiert.
- Überprüfen der Quellversion
- Konfigurieren des Zielsetups
- Konfigurieren des Netzwerksetups
- Aktivieren von Erweiterungen
- Überprüfen der Serverparameter
- Überprüfen der Benutzer und Rollen
- Deaktivieren der Hochverfügbarkeit (Zuverlässigkeit) und von Lesereplikaten im Ziel
Überprüfen der Quellversion
Die Version des PostgreSQL-Quellservers muss mindestens 9.5 sein. Sollte die PostgreSQL-Quellversion niedriger als 9.5 sein, führen Sie ein Upgrade auf 9.5 oder höher durch, bevor Sie mit der Migration beginnen.
Konfigurieren des Zielsetups
Vor Beginn der Migration müssen Sie eine Instanz von Azure Database for PostgreSQL in Azure erstellen. Die für Azure Database for PostgreSQL – Flexibler Server bereitgestellte SKU muss mit der Quelle übereinstimmen.
Weitere Informationen finden Sie unter Erstellen einer Instanz von Azure Database for PostgreSQL – Flexibler Server.
Konfigurieren des Netzwerksetups
Das Netzwerksetup ist entscheidend, damit der Migrationsdienst ordnungsgemäß funktioniert. Stellen Sie sicher, dass der PostgreSQL-Quellserver mit dem Zielserver in Azure Database for PostgreSQL kommunizieren kann.
Informationen zum Netzwerksetup finden Sie in den Netzwerkszenarien für den Migrationsdienst.
Aktivieren von Erweiterungen
Um eine erfolgreiche Migration mit dem Migrationsdienst in Azure Database for PostgreSQL sicherzustellen, müssen Sie möglicherweise Erweiterungen für Ihre PostgreSQL-Quellinstanz überprüfen. Erweiterungen bieten Funktionalität und Features, die für Ihre Anwendung möglicherweise erforderlich sind. Überprüfen Sie die Erweiterungen unbedingt in der PostgreSQL-Quellinstanz, bevor Sie den Migrationsprozess initiieren.
Aktivieren Sie in der Zielinstanz von Azure Database for PostgreSQL – Flexibler Server unterstützte Erweiterungen, die in der PostgreSQL-Quellinstanz identifiziert werden.
Weitere Informationen finden Sie unter Erweiterungen in Azure Database for PostgreSQL.
Hinweis
Bei Änderungen am shared_preload_libraries
-Parameter ist ein Neustart erforderlich.
Überprüfen der Serverparameter
Serverparameter werden nicht automatisch zur Zielumgebung migriert und müssen manuell konfiguriert werden.
Stimmen Sie Serverparameterwerte aus der PostgreSQL-Quelldatenbank mit der Instanz von Azure Database for PostgreSQL ab. Wechseln Sie im Azure-Portal zu Serverparameter, und aktualisieren Sie die Werte manuell.
Speichern Sie die Parameteränderungen, und starten Sie die Azure Database for PostgreSQL-Instanz neu, um die neue Konfiguration bei Bedarf anzuwenden.
Überprüfen der Benutzer und Rollen
Bei der Migration zu Azure Database for PostgreSQL ist es wichtig, die Migration von Benutzern und Rollen separat zu behandeln, da sie manuellen Eingriff erfordern.
Manuelle Migration von Benutzern und Rollen: Benutzer und ihre zugehörigen Rollen müssen manuell zur Azure Database for PostgreSQL-Instanz migriert werden. Um diesen Prozess zu unterstützen, können Sie das Hilfsprogramm „pg_dumpall“ mit dem Flag
--globals-only
verwenden, um globale Objekte wie Rollen und Benutzerkonten zu exportieren.Führen Sie den folgenden Befehl aus. Ersetzen Sie
<username>
durch den tatsächlichen Benutzernamen, und ersetzen Sie<filename>
durch den Namen, den Sie für die Ausgabedatei verwenden möchten.pg_dumpall --globals-only -U <username> -f <filename>.sql
Einschränkung für Superuserrollen: Azure Database for PostgreSQL unterstützt keine Superuserrollen. Superuserberechtigungen müssen vor der Migration entfernt werden. Stellen Sie sicher, dass Sie die Berechtigungen und Rollen entsprechend anpassen.
Mithilfe dieser Schritte können Sie sicherstellen, dass Benutzerkonten und Rollen ordnungsgemäß zu Azure Database for PostgreSQL migriert werden, ohne dass Probleme im Zusammenhang mit Einschränkungen für Superuser auftreten.
Deaktivieren der Hochverfügbarkeit (Zuverlässigkeit) und von Lesereplikaten im Ziel
Es ist wichtig, dass Sie Hochverfügbarkeit (Zuverlässigkeit) und Lesereplikate in der Zielumgebung deaktivieren, bevor Sie die Migration initiieren. Diese Features sollten erst aktiviert werden, nachdem die Migration abgeschlossen wurde.
Initiieren der Migration
Für die Migration kann das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (Command Line Interface, CLI) verwendet werden.
Das Azure-Portal bietet eine einfache und intuitive assistentenbasierte Oberfläche, die Sie durch die Migration führt. Mithilfe der in diesem Tutorial beschriebenen Schritte können Sie Ihre Datenbank nahtlos in Azure Database for PostgreSQL – Flexibler Server übertragen und von den leistungsstarken Features und der Skalierbarkeit von Azure profitieren.
Um mithilfe des Azure-Portals zu migrieren, konfigurieren Sie zuerst die Migrationsaufgabe. Stellen Sie dann eine Verbindung mit der Quelle und dem Ziel her, und initiieren Sie die Migration.
Konfigurieren der Migrationsaufgabe
So konfigurieren Sie die Migrationsaufgabe im Azure-Portal
Öffnen Sie Ihren Webbrowser, und navigieren Sie zum Azure-Portal. Geben Sie Ihre Anmeldeinformationen ein.
Navigieren Sie zu Ihrer Instanz von Azure Database for PostgreSQL – Flexibler Server.
Wählen Sie im Dienstmenü die Option Migration aus.
Wählen Sie Erstellen aus, um von Amazon Aurora zu einem flexiblen Server zu migrieren.
Bei der ersten Verwendung des Migrationsdienstes erscheint ein leeres Raster mit einer Eingabeaufforderung, um mit Ihrer ersten Migration zu beginnen. Wenn bereits Migrationen zu Ihrem Zielserver (Flexibler Server) erstellt wurden, enthält das Raster Informationen zu den durchgeführten Migrationsversuchen.
Wählen Sie Erstellen aus, um eine Reihe von Registerkarten zum Einrichten einer Migration zu durchlaufen.
Setup
Geben Sie die folgenden Informationen an:
Migrationsname: Geben Sie einen eindeutigen Bezeichner für jede Migration zur Zielinstanz des flexiblen Servers ein. Sie können nur alphanumerische Zeichen und Bindestriche (
-
) im Migrationsnamen verwenden. Der Name darf nicht mit einem Bindestrich beginnen und muss für den Zielserver eindeutig sein. Zwei Migrationen zur selben Zielinstanz des flexiblen Servers dürfen nicht denselben Namen aufweisen.Typ des Quellservers: Wählen Sie den Quelltyp aus, der Ihrer PostgreSQL-Quelle entspricht, z. B. einen cloudbasierten PostgreSQL-Dienst, ein lokales Setup oder eine virtuelle Maschine.
Migrationsoption: Wählen Sie eine der folgenden Optionen für eine Überprüfung vor der Migration aus:
- Validieren. Mit dieser Option wird die Server- und Datenbankbereitschaft für die Migration zum Ziel überprüft.
- Migrieren. Überspringt Validierungen und startet die Migration
- Überprüfen und migrieren. Führt eine Überprüfung durch, bevor eine Migration ausgelöst wird. Wenn bei der Überprüfung keine Fehler festgestellt werden, wird die Migration ausgelöst.
Es empfiehlt sich, die Option Überprüfen oder Überprüfen und migrieren für Überprüfungen vor der Migration auszuwählen.
Weitere Informationen finden Sie unter Validierungen vor der Migration.
Migrationsmodus: Wählen Sie den Modus für die Migration aus. Die Standardoption ist Offline.
Wählen Sie Weiter: Mit Quelle verbinden aus.
Auswählen des Runtimeservers
Der Migrationsruntimeserver ist ein spezielles Feature des Migrationsdiensts. Der Runtimeserver fungiert während der Migration als Zwischenserver. Es handelt sich um eine separate Instanz von Azure Database for PostgreSQL – Flexibler Server, die nicht der Zielserver ist. Der Runtimeserver erleichtert die Migration von Datenbanken aus einer Quellumgebung, auf die nur über ein privates Netzwerk zugegriffen werden kann.
Weitere Informationen finden Sie unter Runtimeserver für die Migration mit dem Migrationsdienst in Azure Database for PostgreSQL.
Mit der Quelle verbinden
Geben Sie auf der Registerkarte Mit Quelle verbinden die folgenden Informationen für die Datenbankquelle ein, oder wählen Sie sie aus:
- Servername: Geben Sie den Hostnamen oder die IP-Adresse der PostgreSQL-Quellinstanz an.
- Port: Geben Sie die Portnummer des Quellservers ein.
- Anmeldename des Serveradministrators: Geben Sie den Benutzernamen des PostgreSQL-Quellservers ein.
- Kennwort: Geben Sie das Kennwort des PostgreSQL-Quellservers ein.
- SSL-Modus: Unterstützte Werte sind Prefer und Require. Wenn Secure Sockets Layer (SSL) auf dem PostgreSQL-Quellserver deaktiviert ist, wählen Sie Prefer aus. Wenn SSL auf dem Quellserver aktiviert ist, verwenden Sie Require. SSL-Werte werden in der Datei postgresql.conf festgelegt.
- Verbindung testen: Initiiert einen Konnektivitätstest zwischen Ziel und Quelle. Nach erfolgreicher Verbindungsherstellung fahren Sie mit dem nächsten Schritt fort, um Netzwerkprobleme zwischen dem Ziel und der Quelle zu identifizieren und den Benutzernamen und das Kennwort für die Quelle zu überprüfen. Das Herstellen einer Testverbindung dauert einige Minuten.
Wählen Sie nach dem erfolgreichen Testen der Verbindung Weiter: Migrationsziel auswählen aus.
Wählen Sie das Migrationsziel aus.
Geben Sie auf der Registerkarte Migrationsziel auswählen die folgenden Informationen für die Zielinstanz des flexiblen Servers zusätzlich zu Abonnement, Ressourcengruppe und Servername ein, oder wählen Sie diese Informationen aus:
- Administratorbenutzername: Der Administratorbenutzername des PostgreSQL-Zielservers
- Kennwort: Das Kennwort des PostgreSQL-Zielservers
- FQDN/IP-Adresse (benutzerdefiniert): Die Angabe in diesem Feld ist optional und kann verwendet werden, wenn sich das Ziel hinter einem benutzerdefinierten DNS-Server befindet oder über benutzerdefinierte DNS-Namespaces verfügt, sodass nur über bestimmte FQDNs oder IP-Adressen darauf zugegriffen werden kann. Hierbei kann es sich beispielsweise um Einträge wie
flexibleserver.example.com
,198.1.0.2
oder um einen PostgreSQL-FQDN wieflexibleserver.postgres.database.azure.com
handeln, wenn der benutzerdefinierte DNS-Server die DNS-Zonepostgres.database.azure.com
enthält oder Abfragen für diese Zone an168.63.129.16
weiterleitet, wobei der FQDN in der öffentlichen oder privaten DNS-Zone von Azure aufgelöst wird. - Verbindung testen: Initiiert einen Konnektivitätstest zwischen Ziel und Quelle. Nach erfolgreicher Verbindungsherstellung fahren Sie mit dem nächsten Schritt fort, um Netzwerkprobleme zwischen dem Ziel und der Quelle zu identifizieren und den Benutzernamen und das Kennwort für den Zielserver zu überprüfen. Das Herstellen einer Testverbindung dauert einige Minuten.
Wählen Sie nach dem erfolgreichen Test der Verbindung die Option Weiter: Datenbank(en) für die Migration auswählen aus.
Auswählen von Datenbanken für die Migration
Wählen Sie auf der Registerkarte Datenbank für die Migration auswählen aus einer Liste der Benutzerdatenbanken aus, die von Ihrem PostgreSQL-Quellserver migriert werden sollen.
Nachdem Sie die Datenbanken ausgewählt haben, wählen Sie Weiter: Zusammenfassung aus.
Zusammenfassung
Auf der Registerkarte Zusammenfassung werden alle Quell- und Zieldetails zum Erstellen der Validierung oder Migration zusammengefasst. Überprüfen Sie die Details, und wählen Sie dann Validierung und Migration starten aus.
Überwachen der Migration
Einige Sekunden, nachdem Sie Validierung und Migration starten ausgewählt haben, wird eine Benachrichtigung angezeigt, die Sie informiert, dass die Validierungs- oder Migrationserstellung erfolgreich war. Sie werden zum Bereich Migration der Instanz von „Flexibler Server“ umgeleitet. Der Eintrag für Status lautet InProgress, und der Substatus ist PerformingPreRequisiteSteps. Der Workflow benötigt 2 bis 3 Minuten, um die Migrationsinfrastruktur einzurichten und die Netzwerkverbindungen zu überprüfen.
Das Raster, in dem die Migrationen angezeigt werden, enthält folgende Spalten:
- Name
- Status
- Migrationsmodus
- Migrationstyp
- Quellserver
- Typ des Quellservers
- Datenbanken
- Dauer
- Startzeit
Die Einträge werden in absteigender Reihenfolge nach Startzeit angezeigt, mit dem aktuellsten Eintrag zuoberst. Sie können auf der Menüleiste Aktualisieren auswählen, um den Status der Validierungs- oder Migrationsausführung zu aktualisieren.
Details zur Migration
Wählen Sie in der Liste der Migrationen den Namen einer Migration aus, um die zugehörigen Details anzuzeigen.
Wählen Sie auf der Registerkarte Setup die Migrationsoption Überprüfen und migrieren aus. In diesem Szenario werden Validierungen abgeschlossen, bevor die Migration startet. Nach Abschluss des Unterzustands PerformingPreRequisiteSteps wechselt der Workflow in den Unterzustand Überprüfung wird ausgeführt.
Wenn bei der Überprüfung Fehler auftreten, wechselt die Migration in den Zustand Fehler.
Wenn die Validierung ohne Fehler abgeschlossen wird, wird die Migration gestartet, und der Workflow wechselt in den Unterstatus Daten werden migriert.
Sie können Überprüfungsdetails auf Instanzebene und auf Datenbankebene überprüfen:
Überprüfung auf Instanzebene:
- Überprüfen Sie die Validierung im Zusammenhang mit der Konnektivitätsprüfung für die Quellversion (Serverparameterüberprüfung
PostgreSQL version >= 9.5
), wenn die Erweiterungen in den Serverparametern der Instanz von Azure Database for PostgreSQL – Flexibler Server aktiviert sind.
- Überprüfen Sie die Validierung im Zusammenhang mit der Konnektivitätsprüfung für die Quellversion (Serverparameterüberprüfung
Überprüfung auf Datenbankebene:
- Überprüfen Sie die Validierung der einzelnen Datenbanken im Zusammenhang mit der Unterstützung von Erweiterungen und Sortierungen in Azure Database for PostgreSQL – Flexibler Server.
Sie können den aktuellen Status der Migration und der Validierung auf der Seite mit den Migrationsdetails anzeigen.
In den folgenden Tabellen werden einige mögliche Migrationszustände und Unterzustände beschrieben.
Migrationsstatus
State | Beschreibung |
---|---|
InProgress | Die Migrationsinfrastruktur wird gerade eingerichtet, oder die eigentliche Datenmigration wird gerade durchgeführt. |
Canceled | Die Migration wurde abgebrochen oder gelöscht. |
Fehlgeschlagen | Fehler bei der Migration |
Fehler bei der Überprüfung | Fehler bei der Überprüfung |
Erfolgreich | Die Migration war erfolgreich und wurde abgeschlossen. |
WaitingForUserAction | Gilt nur für die Onlinemigration. Warten, bis ein Benutzer einen Cutover durchführt. |
Migrationsunterzustände
Unterzustand | Beschreibung |
---|---|
PerformingPreRequisiteSteps | Die Infrastruktur für die Datenmigration wird gerade eingerichtet. |
Überprüfung wird ausgeführt | Die Überprüfung wird ausgeführt. |
MigratingData | Die Datenmigration wird durchgeführt. |
CompletingMigration | Die Migration ist fast abgeschlossen. |
Abgeschlossen | Migration abgeschlossen |
Fehlgeschlagen | Fehler bei der Migration. |
Unterzustände der Überprüfung
Unterzustand | Beschreibung |
---|---|
Fehlgeschlagen | Fehler bei der Überprüfung. |
Erfolgreich | Die Überprüfung war erfolgreich. |
Warning | Die Überprüfung zeigt eine Warnung an. |
Abbrechen der Migration
Sie können alle aktuellen Überprüfungen oder Migrationen abbrechen. Der Workflow muss sich im Zustand Wird ausgeführt befinden, damit er abgebrochen werden kann. Sie können keine Überprüfung oder Migration abbrechen, die sich im Zustand Erfolgreich oder Fehler befindet.
Bei Abbruch einer Migration werden alle weiteren Migrationsaktivitäten auf dem Zielserver beendet, und der Migrationsversuch wechselt in den Zustand Abgebrochen. Die Aktion „Abbrechen“ führt ein Rollback aller Änderungen aus, die vom Migrationsdienst auf Ihrem Zielserver vorgenommen wurden.
Überprüfen der Migration
Wenn die Datenbankmigration abgeschlossen ist, überprüfen Sie die Daten zwischen der Quelle und dem Ziel manuell. Stellen Sie sicher, dass alle Objekte in der Zieldatenbank erfolgreich erstellt wurden.
Nach der Migration können Sie diese Aufgaben ausführen:
- Überprüfen Sie die Daten auf Ihrem flexiblen Server, und stellen Sie sicher, dass es sich um eine genaue Kopie der Quellinstanz handelt.
- Nach der Überprüfung aktivieren Sie die Option für Hochverfügbarkeit auf Ihrem flexiblen Server nach Bedarf.
- Ändern Sie die SKU (Version) des flexiblen Servers entsprechend den Anforderungen Ihrer Anwendung. Für diese Änderung ist ein Neustart des Datenbankservers erforderlich.
- Wenn Sie Serverparameter gegenüber ihren Standardwerten in der Quellinstanz ändern, kopieren Sie diese Serverparameterwerte auf den flexiblen Server.
- Kopieren Sie weitere Servereinstellungen wie Tags, Warnungen und Firewallregeln (falls zutreffend) aus der Quellinstanz auf den flexiblen Server.
- Nehmen Sie Änderungen an Ihrer Anwendung vor, um die Verbindungszeichenfolgen auf einen flexiblen Server zu verweisen.
- Überwachen Sie die Datenbankleistung genau, um festzustellen, ob Leistungsoptimierung erforderlich ist.