Kurs
AWS DMS Tutorial: Schritt-für-Schritt-Anleitung für die Migration von Datenbanken
Wenn Unternehmen ihre Infrastruktur mit Hilfe von Cloud-Technologien modernisieren wollen, ist die Migration von Datenbanken auf AWS unerlässlich. AWS bietet ein leistungsstarkes Migrationstool namens AWS Database Migration Service (DMS), das risikoarme und nahezu sofortige Migrationen von lokalen Datenbanken, selbstverwalteten Cloud-Datenbanken und anderen AWS-Diensten ermöglicht.
In diesem Lernprogramm erfährst du, wie du AWS DMS für deine Datenbankmigration einrichtest und nutzt. Du wirst es lernen:
- Wie AWS DMS funktioniert und seine wichtigsten Funktionen.
- Der schrittweise Prozess zur Einrichtung und Durchführung einer Migration.
- Best Practices zur Optimierung von Leistung, Sicherheit und Kosten.
- Techniken zur Fehlersuche, um häufige Migrationsprobleme zu lösen.
Lass uns loslegen!
Was ist AWS DMS?
Der AWS Database Migration Service (DMS) macht es einfach, Datenbanken ohne Ausfallzeiten zu AWS zu migrieren. Es bietet homogene und heterogene Migrationen, wie z.B. von MySQL zu MySQL oder von Oracle zu PostgreSQL, und ist damit ein wichtiges Werkzeug für Unternehmen, die in die Cloud wechseln.
Mit AWS DMS kannst du:
- Nutze Change Data Capture (CDC), um Daten kontinuierlich zu migrieren und deine Produktionsumgebung wenig bis gar nicht zu stören.
- Lass AWS DMS die Migrationsaufgaben automatisieren und verwalten, ohne dass du Expertenwissen über deine Datenbanken brauchst.
- Repliziere Daten zu Diensten wie Amazon RDS, Aurora, Redshift, DynamoDB, S3, etc.
AWS DMS wird häufig verwendet für:
- Lift-and-Shift-Migrationen von Datenbanken von On-Premises zu AWS.
- Regionsübergreifende Datenbankreplikation für Disaster Recovery.
- Datenkonsolidierung durch Migration mehrerer Datenbankenin ein Data Warehouse.
Merkmale von AWS DMS
AWS DMS bietet mehrere wichtige Funktionen zur Unterstützung der Datenbankmigration:
1. Homogene und heterogene Migrationen
- Homogene Migration: Übertragung von einem Datenbanktyp zu einem anderen (z. B. MySQL zu MySQL).
- Heterogene Migration: Konvertierung von Schemata und Daten zwischen verschiedenen Engines (z.B. Oracle zu PostgreSQL).
2. Minimale Ausfallzeiten mit Change Data Capture (CDC)
- Change Data Capture (CDC) überwacht Änderungen in der Quelldatenbank in Echtzeit und überträgt diese Änderungen in die Zieldatenbank, wodurch die Ausfallzeiten des Systems reduziert werden.
- Geeignet für Unternehmen, die kritische Anwendungen betreiben, bei denen die Daten ohne Unterbrechung zugänglich sein müssen.
3. Vollständig verwaltet und skalierbar
- AWS DMS erstellt und verwaltet Ressourcen, verfolgt die Leistung und verwaltet Failover-Fälle.
- Multi-AZ-Unterstützung für hohe Verfügbarkeit.
4. Breite Datenbankkompatibilität
- Quellendatenbanken: Oracle, SQL Server, MySQL, PostgreSQL, MongoDB, Amazon Aurora und mehr.
- Ziel-Datenbanken: Amazon RDS, Aurora, Redshift, DynamoDB, S3 und OpenSearch.
5. Schema-Konvertierung mit AWS SCT
- Das AWS Schema Conversion Tool (SCT) hilft bei der Konvertierung von Datenbankschemata bei der Durchführung heterogener Migrationen.
- Passt Stored Procedures, Views und Trigger automatisch an die Zieldatenbank an.
6. Kontinuierliche Überwachung und Protokollierung
- Die Integration von AWS CloudWatch ermöglicht es dir, den Migrationsfortschritt zu überwachen und Engpässe zu erkennen.
- Protokolliert detaillierte Migrationsstatistiken, einschließlich Fehlerraten, Latenz und Replikationsverzögerung.
7. Sicherheit und Compliance
- Unterstützt TLS-Verschlüsselung für eine sichere Datenübertragung.
- Integriert mit AWS IAM für eine fein abgestufte Zugriffskontrolle.
- Einhaltung der wichtigsten Sicherheitsstandards, einschließlich HIPAA, PCI DSS und SOC.
AWS DMS einrichten
Machen wir uns an die Arbeit und beginnen mit der Einrichtung von AWS DMS. In diesem Tutorial erfährst du, wie du eine Oracle-Datenbank auf Amazon Aurora (MySQL) migrierst, einschließlich Schema-Konvertierung, Datenreplikation und Best Practices, um einen reibungslosen Übergang zu gewährleisten.
Schritt 1: Voraussetzungen für die Verwendung von AWS DMS
Bevor du Datenbanken migrierst, musst du wichtige AWS-Ressourcen einrichten. Mit AWS CloudFormation kannst dudie Bereitstellung automatisieren und dich auf Migrationsaufgaben konzentrieren. Die Vorlage, die wir verwenden werden, setzt ein:
- Eine AWS VPC mit öffentlichen Subnetzen für die Vernetzung.
- Eine AWS DMS Replikationsinstanz zur Durchführung der Datenmigration.
- Eine Amazon RDS-Instanz als Zieldatenbank.
- Eine Amazon EC2-Instanz, die Migrationswerkzeuge wie das AWS Schema Conversion Tool (SCT) oder eine Quelldatenbank-Simulation enthält.
Anmeldung bei der AWS-Konsole
- Melde dich mitdeinen Anmeldedaten bei der AWS Management Console an.
- Klicke auf das Dropdown-Menü in der oberen rechten Ecke des Bildschirms und wähle deine Region aus. Für dieses Tutorial wähle ich die Region N. Virginia.
Abbildung 1 Auswahl der AWS-Region in der AWS Management Console.
- Gehe zur EC2-Konsole und navigiere zum AbschnittSchlüsselpaar. Stelle sicher, dass du dich in der gleichen AWS-Region befindest wie im vorherigen Schritt.
- Klicke auf Schlüsselpaar erstellen und nenne es "DMS".
Abbildung 2 Erstellen eines Schlüsselpaares für den sicheren Zugang in AWS EC2.
- Klicke auf erstellen, und dein Browser wird
DMS.pem
herunterladen. - Speichere diese Datei sicher ab - du wirst sie später im Lernprogramm brauchen.
Konfiguriere die Umgebung
In diesem Schritt verwendest du eine CloudFormation-Vorlage (CFN), um die notwendige AWS-Infrastruktur für die Datenbankmigration einzurichten. Dadurch wird die Bereitstellung automatisiert und du kannst dich auf die Migrationsaufgaben konzentrieren.
- Öffne die AWS CloudFormation-Konsole und klicke auf Stack erstellen.
- Wähle "Vorhandene Vorlage auswählen" und dann "Vorlagendatei hochladen".
Abbildung 3 Hochladen einer CloudFormation-Vorlage zur Erstellung eines neuen Stacks.
- Lade die Datei von Github Gist herunter und klicke auf Datei auswählen.
- Lade die Datei
DMS.yaml
hoch und klicke auf Weiter. - Gib die erforderlichen Parameter wie angegeben ein und klicke dann auf Weiter.
Abbildung 4 Konfigurieren von Parametern für einen AWS DMS CloudFormation Stack
Hinweis: Du kannst den Instanztyp nach deinen Bedürfnissen anpassen oder ihn so lassen, wie er ist.
- Behalte auf der Seite Stack-Optionen die Standardeinstellungen bei und klicke auf Weiter.
- Überprüfe die Konfiguration und klicke auf Stapel erstellen.
- Du wirst zur CloudFormation-Konsole weitergeleitet, wo der Status "CREATE_IN_PROGRESS" angezeigt wird. Warte, bis die Anzeige auf "CREATE_COMPLETE" wechselt.
Abbildung 5 Überprüfung des Status der Ressourcenerstellung in AWS CloudFormation
- Sobald du fertig bist, navigiere zum Abschnitt Ausgaben und notiere dir die Werte - du brauchst sie für den Rest des Tutorials.
Quell- und Zieldatenbank für die Migration vorbereiten
Wir beginnen mit der Konfiguration der Quelldatenbank. Befolge diese Schritte, um mit dem Remote Desktop Protocol (RDP) auf die EC2-Instanz zuzugreifen.
Schritt 1: RDP-Zugang einrichten
- Für Mac-Benutzer: Lade Microsoft Remote Desktop aus dem App Store herunter.
- Für PC-Benutzer: Verwende Remote Desktop, um dich mit dem PC zu verbinden, den du eingerichtet hast.
Schritt 2: Ändern der Sicherheitsgruppenregeln für den RDP-Zugriff
- Öffne die AWS EC2-Konsole.
- Klicke im linken Menü auf Sicherheitsgruppen (eventuell musst du nach unten scrollen).
- Wähle die Sicherheitsgruppe mit der Endung "InstanceSecurityGroup" aus, indem du das Kästchen markierst.
- Klicke auf Aktionen > Eingehende Regeln bearbeiten.
- Finde die RDP-Regel (Port 3389), klicke auf Quelle und wähle Meine IP für bessere Sicherheit.
- Wenn du dich in einem Unternehmens-VPN oder einem komplexen Netzwerk befindest, musst du den Wert eventuell später in "Anywhere (0.0.0.0/0)" ändern.
Abbildung 6 Bearbeiten von eingehenden Sicherheitsregeln in AWS.
- Klicke auf Regeln speichern.
Schritt 3: RDP-Anmeldeinformationen abrufen
- In der AWS EC2 Console klickst du im linken Menü auf Instances.
- Wähle die Instanz mit dem Namen "<StackName>-EC2Instance".
- Klicke auf Aktionen > Verbinden.
- Navigiere zum Abschnitt RDP-Client und klicke auf Passwort abrufen.
- Klicke auf Durchsuchen und lade die zuvor heruntergeladene Schlüsselpaardatei hoch.
- Klicke auf Passwort entschlüsseln.
Abbildung 7 Abrufen des Windows-Passworts für eine AWS EC2-Instanz.
- Kopiere das generierte Passwort in deine Notizen, damit du es später verwenden kannst.
Schritt 4: Verbinden mit der EC2-Instanz
- Klicke auf Download Remote Desktop File, um die RDP-Datei zu speichern.
- Öffne den RDP-Client (Microsoft Remote Desktop auf dem Mac).
- Verwende das entschlüsselte Passwort, um dich anzumelden.
- Wenn du dazu aufgefordert wirst, klicke auf " Fertig", um die Einrichtung abzuschließen.
Schritt 5: Verbindung zu Oracle SQL Developer
Sobald du mit der EC2-Instanz verbunden bist, befolge diese Schritte, um eine Verbindung zur Oracle-Datenbank mit Oracle SQL Developer herzustellen.
Schritt 1: Oracle SQL Developer öffnen
- Suche den Oracle SQL Developer in der Taskleiste und öffne ihn.
- Hinweis: Deine Icons können in einer anderen Reihenfolge erscheinen als in den Referenzbildern gezeigt.
Abbildung 8 Konfigurieren einer neuen Datenbankverbindung in Oracle SQL Developer.
Schritt 2: Erstelle eine neue Datenbankverbindung
- Klicke auf das Pluszeichen(+) im linken Menü, um eine neue Datenbankverbindung zu erstellen.
- Gib die folgenden Details ein:
- Name der Verbindung: Quelle Oracle
- Benutzername: dbadmin
- Passwort: Überprüfe die Registerkarte "Outputs" des CloudFormation Stack unter DMSDBSecretP
- Passwort speichern: Kreuze dieses Feld an.
- Hostname: Finde den Source Oracle Endpoint auf der Registerkarte CloudFormation Output. Alternativ navigierst du zur RDS-Konsole, wählst deine Oracle-Quellinstanz aus und verwendest den bereitgestellten Endpunkt.
- Hafen: 1521
- SID: ORACLEDB
Schritt 3: Testen und verbinden
- Klicke auf Testen, um die Verbindung zu überprüfen.
- Sobald der Teststatus "Erfolgreich" anzeigt, klicke auf Verbinden.
Schritt 4: Oracle für die AWS DMS-Migration konfigurieren
Bevor du Oracle als Quelle für AWS DMS verwendest, musst du sicherstellen, dass die folgenden Konfigurationen vorhanden sind:
1. Erstelle einen DMS-Benutzer mit den erforderlichen Rechten
AWS DMS benötigt ein Benutzerkonto (DMS-Benutzer) mit Lese- und Schreibrechten für die Oracle-Datenbank.
2. Aktiviere den ARCHIVELOG-MODUS
- Der ARCHIVELOG-MODUS muss aktiviert sein, damit LogMiner Transaktionsprotokollinformationen erhält.
- AWS DMS verlässt sich auf LogMiner, um Änderungsdaten aus Archivprotokollen zu erfassen.
- Stelle sicher, dass die Archivierungsprotokolle mindestens 24 Stunden lang aufbewahrt werden, um Datenverluste während der Migration zu vermeiden.
3. Zusätzliches Logging einschalten
- Zusätzliches Logging auf Datenbankebene:
- So wird sichergestellt, dass LogMiner alle erforderlichen Details für verschiedene Tabellenstrukturen (z. B. geclusterte und indexorganisierte Tabellen) erfasst.
- Ergänzende Protokollierung auf Tabellenebene:
- Sie muss für jede Tabelle, die du migrieren willst, aktiviert werden.
4. Gewährung der erforderlichen Berechtigungen für den AWS DMS-Benutzer
- In Oracle SQL Developer klickst du auf das Symbol für das SQL-Arbeitsblatt.
- Verbinde dich mit der Oracle-Quelldatenbank.
- Kopiere die Anweisungen aus der Github Gist, füge sie ein und führe sie aus, um dem AWS DMS-Benutzer die erforderlichen Berechtigungen zu erteilen.
Abbildung 9 Ausführen von SQL-Skripten in Oracle SQL Developer.
Schritt 6: Amazon Aurora (MySQL) Ziel konfigurieren
Nachdem du die Ersteinrichtung und die Quelldatenbank ausgewählt hast, kannst du eine Beispieldatenbank migrieren. In diesem Leitfaden wird beschrieben, wie du das AWS Schema Conversion Tool (AWS SCT) und den AWS Database Migration Service (AWS DMS) verwendest, um die Datenbankstruktur umzuwandeln und Daten nach Amazon Aurora (MySQL) zu verschieben.
Außerdem ermöglicht AWS DMS eine kontinuierliche Replikation, was bedeutet, dass alle Änderungen in der Quelldatenbank in Echtzeit in die Zieldatenbank repliziert werden.
- Verbinde dich erneut über RDP mit der EC2-Instanz.
- Öffne den Ordner DMS Workshop auf dem Desktop und doppelklicke auf AWS Schema Conversion Tool Download, um die neueste Version zu installieren.
- Entpacke und installiere AWS SCT, indem du dem Installationsassistenten folgst (übernimm die Standardeinstellungen und klicke auf Fertig stellen).
- Starte AWS SCT über das Startmenü oder das orangefarbene SCT-Symbol auf dem Desktop und akzeptiere die Bedingungen.
- Öffne MySQL Workbench 8.0 CE und erstelle eine neue Datenbankverbindung für das Ziel Aurora MySQL mit:
- Name der Verbindung: Ziel Aurora RDS (MySQL)
- Hostname:
(Zu finden in CloudFormation Outputs oder der RDS-Konsole)
- Hafen: 3306
- Benutzername: dbadmin
- Passwort: Abrufen von der Registerkarte "CloudFormation Output
- Standardschema: Leer lassen
Abbildung 10 Einrichten einer MySQL Workbench-Verbindung zu Amazon Aurora.
- Klicke auf Verbindung testen, bestätige den Erfolg und verbinde dich dann mit Aurora MySQL.
- Führe die von GitHub Gist bereitgestellten SQL-Anweisungen in MySQL Workbench aus (klicke zum Ausführen auf das Blitzsymbol).
Nachdem du das AWS Schema Conversion Tool installiert hast, musst du im nächsten Schritt ein Datenbankmigrationsprojekt mit dem Tool erstellen.
Schritt 1: Ein neues Projekt starten
- Öffne das AWS Schema Conversion Tool (SCT).
- Wenn der Assistent für neue Projekte nicht automatisch startet, gehe zu Datei > Assistent für neue Projekte.
- Gib die folgenden Details ein:
- Projektname: AWS Schema Conversion Tool Source DB to Aurora MySQL
- Standort:
C:\Users\Administrator\AWS Schema Conversion Tool
- Datenbank-Typ: SQL-Datenbank auswählen
- Source Engine: Oracle
- Migrationsart: Wähle aus, dass ich den Motor wechseln und für die Cloud optimieren möchte
- Klicke auf Nächste.
Schritt 2: Verbinden mit der Quelldatenbank
- Fülle die Konfiguration der Quelldatenbank aus:
- Verbindungsname: Oracle Quelle
- Typ: SID
- Server Name:
(zu finden in CloudFormation Outputs oder RDS Console)
- Server Port: 1521
- Oracle SID: ORACLEDB
- Benutzername: dbadmin
- Passwort: Abrufen von der Registerkarte "CloudFormation Output
- Use SSL: Ungeprüft
- Store Passwort: Überprüft
- Oracle Driver Path:
C:\Users\Administrator\Desktop\DMS Workshop\JDBC\ojdbc11.jar
- Klicke auf Verbindung testen. Wenn du erfolgreich bist, klicke auf Weiter.
Abbildung 11 Testen der Datenbankkonnektivität im AWS Schema Conversion Tool.
Schritt 3: Wähle die Datenbank aus und sieh dir den Bewertungsbericht an
- Wähle die Datenbank
dms_sample
und klicke dann auf Weiter. - Ignoriere Warnungen zum Laden von Metadaten, wenn sie erscheinen.
- Überprüfe den Bericht zur Bewertung der Datenbankmigration:
Abbildung 12 Überprüfung der Ergebnisse der Datenbankmigrationsbewertung.
- Nach der Überprüfung klickst du auf Weiter.
Hinweis: SCT konvertiert die meisten Objekte automatisch und hebt alle hervor, die ein manuelles Eingreifen erfordern. Und achte genau auf Prozeduren, Pakete und Funktionen, die möglicherweise geändert werden müssen.
Schritt 4: Verbinden mit der Zieldatenbank
- Fülle die Konfiguration der Zieldatenbank aus:
- Zielmotor: Amazon Aurora (MySQL-kompatibel) (Änderung vom Standard)
- Name der Verbindung: Aurora MySQL Ziel
- Server Name:
(zu finden in CloudFormation Outputs oder RDS Console)
- Server Port: 3306
- Benutzername: dbadmin
- Passwort: Abrufen von der Registerkarte "CloudFormation Output
- Use SSL: Ungeprüft
- Store Passwort: Überprüft
- MySQL-Treiber Pfad:
C:\Users\Administrator\Desktop\DMS Workshop\JDBC\mysql-connector-j-8.3.0.jar
- Klicke auf Verbindung testen. Wenn erfolgreich, klicke auf Beenden.
Nachdem du nun ein Datenbankmigrationsprojekt erstellt hast, ist der nächste Schritt die Konvertierung des Quelldatenbankschemas in Amazon Aurora MySQL.
Schritt 5: Konvertieren des Quelldatenbankschemas in Amazon Aurora MySQL
- Klick Ansicht im oberen Menü und wählen Sie Bewertungsbericht Ansicht.
- Wähle
DMS_SAMPLE
im linken Bereich, um die Datenbankhierarchie anzuzeigen. - Navigiere zur Registerkarte Aktionspunkte, um die Schemaelemente zu sehen, die nicht automatisch konvertiert werden konnten.
- Der AWS SCT kategorisiert Artikel als:
- Grün - Erfolgreich konvertiert.
- Blau - Erfordert eine manuelle Änderung vor der Migration.
- Für Schemaelemente, die nicht automatisch umgewandelt werden können, hast du zwei Möglichkeiten:
- Ändere das Quellschema.
- Bearbeite die erstellten SQL-Skripte, bevor du sie auf die Zieldatenbank anwendest. Wir werden eine Stored Procedure in AWS SCT manuell anpassen, um sie mit Aurora MySQL kompatibel zu machen.
Schritt 6: SQL-Code ändern
- Klicke mit der rechten Maustaste auf die Datenbank
DMS_SAMPLE
im linken Fenster. - Wähle Schema umwandeln, um die DDL-Anweisungen (Data Definition Language) der Zieldatenbank zu generieren.
- Wenn du nach bestehenden Objekten gefragt wirst, klicke auf Ja.
Abbildung 13 Konvertieren eines Oracle-Schemas mit dem AWS Schema Conversion Tool.
- Klicke mit der rechten Maustaste auf das Schema
dms_sample_dbo
(SQL Server-Quelle) oderdms_sample
(andere Quellen) im rechten Bereich. - Wähle " Auf Datenbank anwenden ".
- Wenn du dazu aufgefordert wirst, klicke zur Bestätigung auf Ja.
- Erweitere das Schema
dms_sample_dbo
oderdms_sample
im rechten Bereich. - Du solltest jetzt sehen, dass Tabellen, Views, Stored Procedures und andere Objekte erfolgreich in Aurora MySQL erstellt wurden.
Du hast das Datenbankschema und die Objekte erfolgreich in ein Format konvertiert, das mit Amazon Aurora MySQL kompatibel ist!
Schritt 2: Erstellen einer Replikationsinstanz
Befolge diese Schritte, um eine DMS-Replikationsinstanz zu erstellen:
- Öffne die AWS Database Migration Service (DMS) Konsole oder suche nach DMS in der AWS Suchleiste.
- Klicke im linken Menü auf Replikationsinstanzen, um den Bildschirm zur Verwaltung der Replikationsinstanzen aufzurufen.
- Wenn eine vorkonfigurierte Replikationsinstanz verfügbar ist, kannst du diesen Schritt überspringen. Wenn du jedoch praktische Erfahrungen sammeln möchtest, solltest du eine neue Instanz anlegen:
- Klicke auf Replikationsinstanz erstellen in der oberen rechten Ecke. Fülle dann die folgenden Angaben aus:
- Name: DMSReplication-dms
- Beschreibender Amazon Resource Name (ARN): Leer lassen
- Beschreibung: (Optional) Gib "Replikationsserver für Datenbankmigration" ein.
- Instanzklasse: dms.c5.xlarge
- Motorversion: Belasse den Standardwert.
- Hohe Verfügbarkeit / Multi-AZ: Wähle Dev oder Test Workload (Single-AZ)
- Zugewiesener Speicherplatz (GB): 50
- VPC: Wähle die VPC-ID aus, die DMSVpc im Namen enthält (passe das Dropdown bei Bedarf an)
- Öffentlich zugänglich: Auf Nein setzen (nicht angekreuzt)
- Erweitert -> VPC-Sicherheitsgruppe(n): Wähle die Standard-Sicherheitsgruppe
Abbildung 14 Erstellen einer Replikationsinstanz.
- Gib die erforderlichen Details für die Replikationsinstanz ein und klicke dann auf Erstellen.
Schritt 3: Konfigurieren von Quell- und Zielendpunkten
Jetzt, da wir die Replikationsinstanz haben, müssen wir im nächsten Schritt Quell- und Zielendpunkte für die Datenbankmigration erstellen. Befolge diese Schritte, um beide Endpunkte zu konfigurieren.
Erstelle den Quell-Endpunkt
- Öffne die AWS DMS-Konsole.
- Klicke im linken Menü auf Endpunkte.
- Klicke auf Endpunkt erstellen (obere rechte Ecke).
- Gib die erforderlichen Details für den Endpunkt der Quelldatenbank ein:
- Endpunkt-Typ: Quelle Endpunkt
- Wähle RDS DB Instance: Nur für Oracle ankreuzen (für andere leer lassen)
- RDS-Instanz: Wähle
-SourceOracleDB
- Endpunkt-Bezeichner: oracle-source (oder nimm den vorausgefüllten Wert)
- Beschreibende ARN: Leer lassen
- Source Engine: Oracle
- Zugang zur Endpunkt-Datenbank: Wähle "Zugangsinformationen manuell bereitstellen".
- Servername:
(er sollte automatisch ausgefüllt werden).
- Hafen: 1521
- SSL-Modus: Keine
- Benutzername: dbadmin
- Passwort: Überprüfe die Registerkarte "Outputs" des CloudFormation Stack unter 2DMSDBSecretP
- SID/Dienstname: ORACLEDB
- VPC: Wähle die VPC-ID mit DMSVpc aus der Umgebungseinrichtung aus
- Replikationsinstanz: Wähle
cfn-DMSReplication
,DMSReplication
oder die von dir erstellte Replikationsinstanz (wenn sie bereit ist) - Klicke auf Test durchführen, um die Konnektivität zu überprüfen.
Abbildung 15: Überprüfung der Konnektivität.
- Sobald der Teststatus auf "Erfolgreich" wechselt, klicke auf Endpunkt erstellen.
Erstelle den Ziel-Endpunkt
Folge demselben Prozess, um den Ziel-Endpunkt für die Aurora RDS-Datenbank zu erstellen:
- Klicke erneut auf Endpunkt erstellen.
- Gib die folgenden Details ein:
- Endpunkt-Typ: Ziel-Endpunkt
- Wähle RDS DB Instance: Aktiviere das Kästchen für alle RDS-Datenbankziele
- RDS-Instanz: Wähle
-AuroraMySQLInstance
- Endpunkt-Identifikator:
aurora-mysql-target
- Beschreibende ARN: Leer lassen
- Zielmotor: Amazon Aurora MySQL
- Zugang zur Endpunkt-Datenbank: Wähle "Zugangsinformationen manuell bereitstellen".
- Server-Name:
TargetAuroraMySQLEndpoint
(oder er sollte automatisch ausgefüllt werden). - Hafen: 3306
- SSL-Modus: Keine
- Nutzername:
dbadmin
- Passwort: Überprüfe die Registerkarte "Outputs" des CloudFormation Stack unter 2DMSDBSecretP
- VPC: Wähle die VPC-ID mit DMSVpc aus der Umgebungseinrichtung aus
- Replikationsinstanz: Wähle
cfn-DMSReplication
,DMSReplication
oder die von dir erstellte Replikationsinstanz (wenn sie bereit ist) - Klicke auf Test ausführen um die Konnektivität zu überprüfen.
- Sobald der Teststatus auf "Erfolgreich" wechselt, klicke auf Endpunkt erstellen.
Schritt 4: Einrichten der Migrationsaufgabe
Umgang mit Fremdschlüssel-Beschränkungen bei der AWS DMS-Migration
AWS DMS legt keine Reihenfolge für die Tabellen fest, die während des vollständigen Ladens geladen werden sollen, was zu Fremdschlüsselverletzungen führen kann, wenn Constraints aktiviert sind. Außerdem können Trigger in der Zieldatenbank zu unerwarteten Änderungen in den Daten führen. Außerdem haben wir Fremdschlüssel-Beschränkungen aus der Aurora-MySQL-Zieldatenbank entfernt.
- Starte die MySQL Workbench 8.0 CE (die du zuvor für die Einrichtung der Berechtigungen verwendet hast).
- Öffne ein neues Abfragefenster.
- Fremdschlüssel-Beschränkungen löschen: AWS SCT erstellt bei der Migration von Oracle nicht automatisch Constraints, sondern nur Indizes. Führe das folgende SQL-Skript aus, um die Indizes zu löschen:
DROP INDEX set_seat_idx ON dms_sample.sporting_event_ticket;
DROP INDEX set_ticketholder_idx ON dms_sample.sporting_event_ticket;
DROP INDEX set_sporting_event_idx ON dms_sample.sporting_event_ticket;
- Klicke auf das Symbol "Ausführen" (Blitz), um das Skript auszuführen.
Abbildung 16 Die Oberfläche der MySQL Workbench zeigt SQL-Abfragen.
Nachdem die Beschränkungen aufgehoben wurden, ist die Aurora-MySQL-Zieldatenbank nun bereit für die Datenmigration mit AWS DMS!
Eine DMS-Migrationsaufgabe erstellen
AWS DMS verwendet Database Migration Tasks, um Daten von der Quell- in die Zieldatenbank zu verschieben. Befolge diese Schritte, um die Migrationsaufgabe zu erstellen und zu überwachen.
Schritt 1: Eine Migrationsaufgabe erstellen
- Öffne die AWS DMS-Konsole.
- Klicke im linken Menü auf Datenbankmigrationsaufgaben.
- Klicke auf Aufgabe erstellen (obere rechte Ecke).
Schritt 2: Aufgabeneinstellungen konfigurieren
- Kennung der Aufgabe:
source-to-AuroraMySQL-target
- Replikationsinstanz:
cfn-dmsreplication
- Quelldatenbank Endpunkt: Wähle deine Quelldatenbank
- Ziel-Datenbank-Endpunkt:
cfn-auroramysqlinstance
- Migrationstyp: Migriere bestehende Daten und repliziere laufende Änderungen
- CDC Stop Mode: Keinen benutzerdefinierten CDC-Stoppmodus verwenden
- Erstellen einer Wiederherstellungstabelle in der Ziel-DB: Ungeprüft
- Zieltabelle Vorbereitungsmodus: Nichts tun (nicht die Standardeinstellung)
- Aufgabe stoppen, nachdem die volle Ladung abgeschlossen ist: Nicht aufhören
- LOB-Spalteneinstellungen / LOB-Spalten in die Replikation einbeziehen: Begrenzter LOB-Modus
- Maximale LOB-Größe (KB): 32
- Datenvalidierung: Ungeprüft
- Aktiviere CloudWatch Logs: Überprüft
- Log Context: Standardwerte
- Batch-optimierte Anwendung: Ungeprüft
Schritt 3: Konfigurieren von Tabellenzuordnungen
- Erweitern Sie die Tabellen-Zuordnungen Abschnitt.
- Wähle Assistent als Bearbeitungsmodus aus.
- Klicke auf Neue Auswahlregel hinzufügenund gib dann Folgendes ein:
- Schema:
DMS_SAMPLE%
- Tabelle Name:
%
- Aktion: einbeziehen
Abbildung 17 Konfiguriere die Zuordnung von Tabellen.
Schritt 4: Transformationsregeln konfigurieren
- Erweitern Sie die Transformationsregeln Abschnitt.
- Klicke auf Neue Transformationsregel hinzufügen und gib die folgenden Regeln ein:
- Regel 1:
- Ziel: Schema
- Schema Name:
DMS_SAMPLE
- Aktion: Kleinbuchstaben machen
- Regel 2:
- Ziel: Tabelle
- Schema Name:
DMS_SAMPLE
- Tabelle Name:
%
- Aktion: Kleinbuchstaben machen
- Regel 3:
- Ziel: Säule
- Schema Name:
DMS_SAMPLE
- Tabelle Name:
%
- Aktion: Kleinbuchstaben machen
Schritt 5: Abschließen und Starten der Migrationsaufgabe
- Deaktiviere Vormigrationsprüfung einschalten (für dieses Lernprogramm nicht erforderlich).
- Sicherstellen, dass die Startkonfiguration für die Migrationsaufgabe eingestellt ist auf Automatisch beim Erstellen starten.
- Klicke auf Aufgabe erstellen.
Durchführen der Migration
Es ist endlich an der Zeit, unsere Migration durchzuführen!
Schritt 1: Initiierung der Migration
Die Aufgabe durchläuft die folgenden Zustände:
- Erstellen → Bereit → Starten → Laufen.
- Klicke auf die runde Schaltfläche Aktualisieren, um den Status zu aktualisieren.
Abbildung 18 AWS DMS-Migrationsaufgabenschnittstelle mit laufender Replikation.
Schritt 2: Überwachung der Migration
AWS DMS bietet CloudWatch-Metriken zur Überwachung der Leistung deiner Replikationsinstanz und der Migrationsaufgaben.
Anzeigen von CloudWatch-Metriken für Replikationsinstanzen:
- Öffne die AWS DMS-Konsole.
- Klicke auf Replikationsinstanzen im linken Menü.
- Wähle deine Replikationsinstanz aus.
- Navigieren Sie zu den CloudWatch Metriken um Leistungsdaten anzuzeigen.
Abbildung 19 AWS DMS-Instanz-Ressourcenauslastungsdiagramme.
Anzeigen von CloudWatch-Metriken für Migrationsaufgaben:
- Öffne die AWS DMS-Konsole.
- Klicke auf Aufgaben zur Datenbankmigration im linken Menü.
- Wähle deine DMS-Aufgabe aus der Liste aus.
- Navigieren Sie zum Monitor um die Aufgabenleistung zu analysieren.
Abbildung 20 AWS DMS-Durchsatzmetriken bei Volllast.
Mit CloudWatch kannst du wichtige Metriken wie Latenz, Replikationsverzögerung und Aufgabenstatus verfolgen.
Schritt 3: Umgang mit Migrationsfehlern und -warnungen
Während der AWS DMS-Migration können Fehler und Warnungen aufgrund von Verbindungsfehlern, Datenintegritätsproblemen oder Fehlkonfigurationen auftreten. Im Folgenden findest du häufige Probleme und Schritte zur Fehlerbehebung.
1. Verbindungsausfälle
- Ausgabe: DMS kann sich nicht mit der Quell- oder Zieldatenbank verbinden.
- Auflösung:
- Überprüfe dieVPC-Einstellungen, Sicherheitsgruppen und die Verfügbarkeit von Subnetzen.
- Vergewissere dich, dass der richtige Datenbank-Hostname, Port und Anmeldedaten verwendet werden.
- Testen Sie die Konnektivität, indem Sie auf Endpunktverbindung testen in der DMS-Konsole klicken.
2. Probleme mit der Datenintegrität
- Ausgabe: Fehlende oder inkonsistente Daten zwischen Quelle und Ziel.
- Auflösung:
- Aktiviere die CDC-Validierung, um auf fehlende Transaktionen zu prüfen.
- Vergleiche die Zeilenzahlen mit CloudWatch-Metriken.
- Führe Prüfsummen-Validierungsabfragen in beiden Datenbanken durch, um die Datenkonsistenz sicherzustellen.
3. Engpässe bei der Leistung
- Ausgabe: Die Migration ist langsam oder verzögert.
- Auflösung:
- Aktiviere Parallel Load, um Massenübertragungen zu beschleunigen.
- Stelle den LOB-Modus ein (verwende den vollständigen LOB-Modus, wenn du große Objekte bearbeitest).
- Überwache CloudWatch-Metriken für CPU, Speicher und Replikationsverzögerung.
4. Ziel-Datenbank-Constraints und -Trigger
- Ausgabe: Fremdschlüsselverletzungen oder unerwartete Datenänderungen.
- Auflösung:
- Deaktiviere Fremdschlüssel-Beschränkungen vor der Migration.
- Lösche Trigger vorübergehend in der Zieldatenbank, um Konflikte zu vermeiden.
5. CDC-Replikation unerwartet gestoppt
- Ausgabe: Die Aufgabe stoppt, bevor die laufenden Änderungen angewendet werden.
- Auflösung:
- Überprüfe die CDC-Startposition in den Protokollen.
- Stelle sicher, dass die Aufbewahrungsfrist für die Logs ausreichend ist (z. B. 24 Stunden für Oracle LogMiner).
- Starte die CDC-Aufgabe von der zuletzt angewandten Transaktion aus neu.
6. Schemafehlanpassung zwischen Quelle und Ziel
- Ausgabe: Bestimmte Objekte können aufgrund von Schemaunterschieden nicht migriert werden.
- Auflösung:
- Verwende das AWS SCT (Schema Conversion Tool), um Inkompatibilitäten festzustellen.
- Wenden Sie bei Bedarf manuelle Schemaänderungen an.
7. Prüfen von Protokollen und Fehlerbehebung
- Verwende die AWS CloudWatch-Protokolle:
- Navigieren Sie zur AWS DMS-Konsole > Migrationsaufgaben > Protokolle anzeigen.
- Filtere die Protokolle nach Fehlerstichwörtern wie Ausfall, Zeitüberschreitung oder Einschränkungsverletzung.
- Aktiviere Verbose Logging, wenn du tiefere Einblicke brauchst.
Schritte nach der Migration
Werfen wir nun einen Blick auf einige Schritte, die du nach einer Migration mit DMS unternehmen kannst.
Schritt 1: Validierung der Datenintegrität
Sobald AWS DMS die Migration abgeschlossen hat, ist es wichtig, die Datenintegrität zu überprüfen und sicherzustellen, dass die Zieldatenbank genau der Quelle entspricht. Im Folgenden findest du die wichtigsten Validierungstechniken:
Verwendung der AWS DMS-Datenvalidierungsfunktion
- Wenn die Datenvalidierung in AWS DMS aktiviert wurde, navigiere zu:
- AWS DMS-Konsole > Migrationsaufgaben > Tabelle Statistik
- Prüfe, ob die Validierung fehlgeschlagen ist, und führe die Migration für die betroffenen Tabellen erneut durch.
Abbildung 21 Zusammenfassung der AWS DMS-Validierung.
Schritt 2: Durchführen des Cutover zur Zieldatenbank
Sobald AWS DMS alle Daten erfolgreich migriert und die laufende Replikation (CDC) abgeschlossen hat, besteht der letzte Schritt darin, auf die Zieldatenbank als Primärsystem umzuschalten. Befolge diese Schritte, um einen reibungslosen Übergang zu gewährleisten:
Schritt 1: Überprüfe die Datenkonsistenz
Vergewissere dich vor der Umstellung, dass alle Daten vollständig repliziert wurden:
- Überprüfe die Zeilenzahl zwischen Quelle und Ziel.
- Führe eine Prüfsummenüberprüfung der Tabellen durch.
- Überprüfe die CloudWatch-Metriken für die Replikationsverzögerung (sollte vor dem Cutover null sein).
Schritt 2: Stoppe alle neuen Änderungen in der Quelldatenbank
Um Dateninkonsistenzen zu vermeiden:
- Deaktiviere Schreibzugriffe auf die Quelldatenbank, indem du sie in den Nur-Lese-Modus setzt.
- Stelle sicher, dass alle Anwendungen, die in die Datenbank schreiben, stattdessen auf das neue Ziel verweisen.
Schritt 3: AWS DMS-Replikation beenden
- Navigieren Sie in der AWS DMS-Konsole zu Aufgaben zur Datenbankmigration.
- Wähle deine aktive Migrationsaufgabe aus.
- Klicke auf Aufgabe anhalten um die laufende Replikation anzuhalten.
Abbildung 22 AWS DMS Migration Task Stop.
Schritt 4: Die Zieldatenbank zur primären Datenbank erheben
- Aufhebung der Nur-Lese-Beschränkungen für die Zieldatenbank
- Aktualisiere die Verbindungsstrings der Anwendung, damit sie auf die neue Datenbank verweisen.
Schritt 5: Endgültige Validierung und Tests durchführen
- Teste kritische Anwendungsabfragen, um die Funktionalität zu bestätigen.
- Überprüfe, ob neue Transaktionen im Zielsystem korrekt verarbeitet werden.
- Führe End-to-End-Tests durch, um sicherzustellen, dass die Geschäftsprozesse intakt bleiben.
Schritt 6: Lege die alte Quelldatenbank still (falls erforderlich)
- Die Quelldatenbank kann archiviert oder außer Betrieb genommen werden, wenn sie nicht mehr benötigt wird.
- Bewahre Backups auf, bevor du das Quellsystem vollständig entfernst.
Schritt 3: Aufräumen und Fertigstellung
Schritt 1: Anhalten und Löschen der Migrationsaufgabe
- Öffne die AWS DMS-Konsole.
- Klicken Sie im linken Menü auf Aufgaben zur Datenbankmigration.
- Wähle die Migrationsaufgabe(n) aus, die du erstellt hast.
- Klicke auf Aktionen > Anhalten und bestätige.
- Sobald der Status der Aufgabe auf "Angehalten" wechselt, klicke auf Aktionen > Löschen und bestätige.
Schritt 2: DMS-Endpunkte löschen
- Klicken Sie in der AWS DMS-Konsole auf Endpunkte im linken Menü.
- Wähle die Endpunkte aus, die während des Tutorials erstellt wurden.
- Klicke auf Aktionen > Löschen und bestätige.
Abbildung 23 AWS DMS Endpunkte löschen.
Schritt 3: Den CloudFormation Stack löschen
- Öffnen Sie die AWS CloudFormation-Konsole.
- Wähle den CloudFormation Stack aus, der während des Tutorials erstellt wurde.
- Klicke auf Löschen (obere rechte Ecke).
Abbildung 24 Bestätigen der Stapel-Löschung in AWS.
- Bestätige die Löschung - CloudFormation wird automatisch alle zugehörigen Ressourcen entfernen (dies kann bis zu 15 Minuten dauern).
- Überwache die CloudFormation-Konsole, um sicherzustellen, dass der Stack vollständig gelöscht ist.
Erweiterte Funktionen von AWS DMS
Werfen wir nun einen Blick auf einige der komplexeren Szenarien, die du mit AWS DMS lösen kannst.
Datenumwandlung während der Migration
AWS DMS ermöglicht die Datenumwandlung während der Migration, indem es Änderungen wie das Ändern von Spaltendatentypen, das Umbenennen von Tabellen und Spalten und das Filtern von Daten ermöglicht. Diese Transformationen helfen dabei, das Quellschema an die Struktur der Zieldatenbank anzugleichen. Mit den Transformationsregeln im Abschnitt Tabellenzuordnungen kannst du diese Änderungen dynamisch anwenden, ohne die Quelldatenbank zu verändern.
Detaillierte Schritte findest du in diesem Blogbeitragüber die Umwandlung von Spalteninhalten.
Verwendung von AWS DMS mit S3 als Ziel
AWS DMS kann Daten zu Amazon S3 migrieren und so eine kosteneffiziente Speicherung für Analysen, maschinelles Lernen oder die Weiterverarbeitung mit Services wie AWS Glue, Athena oder Redshiftermöglichen.
Befolge diese Schritte, um Amazon S3 als Zielort für die AWS DMS-Migration zu konfigurieren.
Schritt 1: Einen S3 Bucket erstellen
- Öffne die Amazon S3-Konsole.
- Klicke auf Eimer erstellen.
- Lege den Bucket-Namen fest als:
dmstargetbucket-
- Stelle sicher, dass die Region mit den AWS DMS-Ressourcen übereinstimmt.
- Belasse alle anderen Einstellungen als Standard und klicke auf Eimer erstellen.
Schritt 2: Erstelle einen Ordner im S3 Bucket
- Öffne den neu erstellten Eimer.
- Klicke auf Ordner erstellen.
- Benenne den Ordner
dmstargetfolder
. - Belasse alle Standardeinstellungen und klicke auf Ordner erstellen.
Schritt 3: Erstellen einer AWS IAM-Richtlinie für den S3-Zugriff
- Öffne die IAM-Konsole und gehe zu Richtlinien.
- Klicke auf Richtlinie erstellen und wähle dann die Registerkarte JSON.
- Kopiere die folgende Richtlinie und füge sie ein, wobei du
"REPLACE-WITH-YOUR-BUCKET-NAME"
durch deinen tatsächlichen Bucket-Namen ersetzt:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::REPLACE-WITH-YOUR-BUCKET-NAME*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::REPLACE-WITH-YOUR-BUCKET-NAME*"
]
}
]
}
- Klicke auf Richtlinie überprüfen.
- Lege den Namen der Richtlinie als
DMS-tutorial-S3-Access-Policy
fest und klicke dann auf Richtlinie erstellen.
Schritt 4: Richtlinie an IAM-Rolle anhängen
- In der IAM-Konsole gehst du zu Rollen.
- Suche nach "dms-vpc" und wähle
dms-vpc-role
. - Klicke auf Berechtigungen hinzufügen > Richtlinien anhängen.
Abbildung 25 AWS IAM Policy Management.
- Wähle
DMS-LAB-S3-Access-Policy
und klicke auf Berechtigungen hinzufügen.
Schritt 5: Den ARN der IAM-Rolle speichern
- Kopiere auf der Übersichtsseite
dms-vpc-role
die ARN der Rolle. - Speichere sie zur späteren Verwendung in der AWS DMS-Konfiguration.
S3-Zielendpunkte erstellen
Nachdem der S3-Bucket mit den entsprechenden Richtlinien und Rollen konfiguriert wurde, musst du im nächsten Schritt Zielendpunkte in AWS DMS erstellen.
- Öffne die AWS DMS-Konsole.
- Klicke im linken Menü auf Endpunkte.
- Klicke auf Endpunkt erstellen (obere rechte Ecke).
- Konfiguriere den Zielendpunkt S3.
- Gib die folgenden Werte ein:
- Endpunkt-Typ: Ziel-Endpunkt
- Endpunkt-Identifikator: S3-Ziel
- Beschreibende ARN: Leer lassen
- Zielmotor: Amazon S3
- Server Name:
- Name des Eimers:
- Bucket Folder:
dmstargetfolder
- Klicke auf Test ausführen um die Verbindung zu überprüfen.
- Sobald der Test "erfolgreich" ist, klicke auf Endpunkt erstellen.
Erstellen einer DMS-Migrationsaufgabe
Schritt 1: Eine Migrationsaufgabe erstellen
- Öffne die AWS DMS-Konsole.
- Klicke auf Datenbank-Migrationsaufgaben im linken Menü.
- Klicke auf Aufgabe erstellen (obere rechte Ecke).
Schritt 2: Aufgabeneinstellungen konfigurieren
- Kennung der Aufgabe:
source-to-AuroraMySQL-target
- Replikationsinstanz:
cfn-dmsreplication
- Quelldatenbank Endpunkt: Wähle deine Quelldatenbank
- Ziel-Datenbank-Endpunkt:
cfn-auroramysqlinstance
- Migrationsart: Migriere bestehende Daten und repliziere laufende Änderungen
- CDC Stop Mode: Keinen benutzerdefinierten CDC-Stoppmodus verwenden
- Erstelle eine Wiederherstellungstabelle in der Ziel-DB: Ungeprüft
- Zieltabelle Vorbereitungsmodus: Nichts tun (nicht die Standardeinstellung)
- Stoppe die Aufgabe nach Abschluss der vollständigen Ladung: Nicht aufhören
- LOB-Spalten-Einstellungen / LOB-Spalten in die Replikation einbeziehen: Begrenzter LOB-Modus
- Maximale LOB-Größe (KB): 32
- Datenvalidierung: Ungeprüft
- Aktiviere CloudWatch Logs: Überprüft
- Log Context: Standardwerte
- Batch-optimierte Anwendung: Ungeprüft
Schritt 3: Konfigurieren von Tabellenzuordnungen
- Erweitern Sie die Tabellen-Zuordnungen Abschnitt.
- Wähle Assistent als Bearbeitungsmodus aus.
- Klicke auf Neue Auswahlregel hinzufügenund gib dann Folgendes ein:
- Schema:
DMS_SAMPLE%
- Tabelle Name:
%
- Aktion: einbeziehen
Abbildung 26 Konfigurieren der Tabellenzuordnung
Schritt 4: Transformationsregeln konfigurieren
- Erweitern Sie die Transformationsregeln Abschnitt.
- Klicke auf Neue Transformationsregel hinzufügen und gib die folgenden Regeln ein:
- Regel 1:
- Ziel: Schema
- Schema Name:
DMS_SAMPLE
- Aktion: Kleinbuchstaben machen
- Regel 2:
- Ziel: Tabelle
- Schema Name:
DMS_SAMPLE
- Tabelle Name:
%
- Aktion: Kleinbuchstaben machen
- Regel 3:
- Ziel: Säule
- Schema Name:
DMS_SAMPLE
- Tabelle Name:
%
- Aktion: Kleinbuchstaben machen
Schritt 5: Abschließen und Starten der Migrationsaufgabe
- Deaktiviere Bewertung vor der Migration einschalten (für diesen Workshop nicht erforderlich).
- Sicherstellen, dass die Startkonfiguration für die Migrationsaufgabe eingestellt ist auf Automatisch beim Erstellen starten.
- Klicke auf Aufgabe erstellen.
Schritt 6: Migrationsfortschritt überwachen
- Klicke auf die Migrationsaufgabe (
source-to-s3-target
). - Blättern Sie zu Tabelle Statistik um die Anzahl der verschobenen Zeilen anzuzeigen.
- Wenn der Status rot wird (Fehler), klicke auf Logs anzeigen um das Problem mithilfe der CloudWatch-Protokolle zu beheben.
Best Practices für AWS DMS
Sehen wir uns nun einige der besten Praktiken an, die bei der Migration von Daten mit AWS DMS angewendet werden sollten.
Leistung optimieren
Um eine effiziente und schnelle Datenbankmigration mit AWS DMS zu gewährleisten, solltest du die folgenden Optimierungen berücksichtigen:
- Wähle die richtige Größe der Replikationsinstanz
- Verwende einen größeren Instanztyp (z.B.
dms.r5.large
oder höher) für Migrationen mit hohem Durchsatz. - Überwache CPU, Speicher und IOPS mit CloudWatch und skaliere die Instanz bei Bedarf.
- Mehrere Migrationsaufgaben für die parallele Verarbeitung verwenden
- Teile große Migrationen in mehrere Aufgaben nach Tabellengruppen auf, um die Ladezeit zu verringern.
- Migriere große Tabellen getrennt von kleinen Tabellen, um die Leistung auszugleichen.
- Optimiere Netzwerkverbindungen
- Platziere die DMS-Replikationsinstanz in der gleichen VPC und Availability Zone wie die Quell- und Zieldatenbank.
- Verwende VPC-Endpunkte oder Direct Connect für eine bessere Netzwerkstabilität und geringere Latenzzeiten.
- LOB-Einstellungen abstimmen
- Verwende für große Objekte (LOBs) den begrenzten LOB-Modus mit einer angemessenen LOB-Größe, um die Auswirkungen auf die Leistung zu minimieren.
- Paralleles Laden und Stapelverarbeitung aktivieren
- Aktiviere Batch Optimized Apply für schnellere Einfügungen in die Zieldatenbank.
- Verwende Parallel Load für groß angelegte Migrationen, um mehrere Tabellen gleichzeitig zu verarbeiten.
Plane für Ausfallzeiten
Die Minimierung von Ausfallzeiten während der Datenbankmigration ist entscheidend für die Aufrechterhaltung der Geschäftskontinuität. Hier sind die wichtigsten Strategien für eine reibungslose Umstellung:
- In verkehrsarmen Zeiten abwandern
- Plane die Umstellung außerhalb der Hauptverkehrszeiten, um die Auswirkungen auf die Nutzer zu minimieren.
- Benachrichtige die Beteiligten im Voraus, um dich auf vorübergehende Unterbrechungen vorzubereiten.
- Laufende Replikation verwenden (CDC)
- Aktiviere Change Data Capture (CDC), um die Zieldatenbank mit der Quelle zu synchronisieren.
- So können die Anwendungen mit minimalem Datenverlust umgestellt werden.
- Einen Test-Cutover durchführen
- Führe eine Testmigration in einer Staging-Umgebung durch, bevor du die endgültige Umstellung vornimmst.
- Überprüfe die Leistung und behebe alle Schema- oder Dateninkonsistenzen.
- Reduziere die Auswirkungen von DNS-Switches
- Bereite eine DNS-basierte Datenbankverbindung vor, damit der Wechsel zum neuen Ziel nahtlos erfolgt.
- Aktualisiere die Verbindungszeichenfolgen der Anwendung erst, wenn die Migration überprüft wurde.
- Halte die Quelle vor dem endgültigen Cutover schreibgeschützt
- Verhindere neue Transaktionen an der Quelle, indem du sie in den Nur-Lese-Modus setzt.
- Stelle sicher, dass alle anstehenden Änderungen repliziert werden, bevor du die Anwendungen auf das Ziel verweist.
Sichere deine Daten
Die Datensicherheit während der Migration ist entscheidend für den Schutz sensibler Informationen und die Einhaltung von Compliance-Anforderungen.
- Daten während der Übertragung mit SSL/TLS verschlüsseln
- Aktiviere SSL/TLS für Quell- und Zieldatenbankverbindungen, um ein Abfangen zu verhindern.
- Verwende eine zertifikatsbasierte Authentifizierung für zusätzliche Sicherheit.
- Beschränke den Zugriff mit AWS IAM-Rollen und -Richtlinien
- Weisen Sie der DMS-Replikationsinstanz und den Endpunkten die IAM-Rollen mit den geringsten Rechten zu.
- Verwende IAM-Richtlinien, um den Zugang zu bestimmten Datenbanken, S3-Buckets und CloudWatch-Protokollen zu beschränken.
- Aktiviere die Verschlüsselung im Ruhezustand
- Verwende den AWS Key Management Service (KMS), um Amazon S3 oder RDS Daten zu verschlüsseln.
- Stelle sicher, dass die Zieldatenbank Verschlüsselung für eine sichere Speicherung unterstützt.
Fehlerbehebung bei AWS DMS
DMS ist ein mächtiges Werkzeug, aber es kommt nicht ohne Probleme daher. Hier erfährst du, wie du die häufigsten Fehler beheben kannst.
Häufige Fehler und Lösungen
Bei AWS DMS-Migrationen können Fehler im Zusammenhang mit Datenbankkonnektivität, Schemafehlern und Replikationsfehlern auftreten.
1. Fehler bei der Datenbankverbindung
- Fehler: "Die Verbindung zum Datenbankendpunkt konnte nicht hergestellt werden."
- Lösung:
- Überprüfe die Einstellungen für VPC, Sicherheitsgruppen und Subnetze.
- Prüfe, ob die Datenbank von der DMS-Replikationsinstanz aus zugänglich ist.
- Vergewissere dich, dass Host, Port und Anmeldedaten in den DMS-Endpunkteinstellungen korrekt sind.
- Teste die Konnektivität mit der Option "Endpunktverbindung testen" in der DMS-Konsole.
2. Probleme mit der Kompatibilität von Datentypen
- Fehler: "Nicht unterstützte Datentypkonvertierung zwischen Quelle und Ziel".
- Lösung:
- Verwende das AWS Schema Conversion Tool (SCT), um inkompatible Datentypen zu identifizieren.
- Ändere bei Bedarf die Datentypen der Spalten im Zielschema manuell.
- Aktiviere Transformationsregeln im DMS, um inkompatible Typen automatisch zu konvertieren.
3. Verletzungen der Fremdschlüssel-Beschränkung
- Fehler: "Verletzung der Fremdschlüssel-Beschränkung in der Zieldatenbank".
- Lösung:
- Deaktiviere Fremdschlüssel-Beschränkungen vor der Migration und aktiviere sie nach Abschluss der Migration wieder.
- Verwende "Vor dem Laden kürzen", wenn du Daten in eine bestehende Tabelle zurücklädst.
4. Langsame Migrationsleistung
- Fehler: "Der Replikationsrückstand nimmt deutlich zu."
- Lösung:
- Verwende eine größere DMS-Replikationsinstanz (
dms.r5.large
oder höher). - Aktiviere "Parallel Load" und "Batch Optimized Apply" für eine schnellere Ingestion.
- Optimiere die Netzwerkverbindungen, indem du DMS, Quelle und Ziel in dieselbe VPC stellst.
5. Laufende Replikation (CDC) stoppt unerwartet
- Fehler: "CDC-Aufgabe wurde wegen fehlender Protokolldateien gestoppt".
- Lösung:
- Achte auf eine ausreichende Aufbewahrung der Logs in der Quelldatenbank (z. B. 24 Stunden für Oracle LogMiner).
- Starte die CDC-Aufgabe von der zuletzt angewandten Transaktion aus neu.
DMS-Protokolle für die Fehlersuche verwenden
AWS DMS bietet Aufgabenprotokolle und CloudWatch-Integration, um Migrationsprobleme effizient zu erkennen und zu lösen.
1. Zugriff auf DMS-Aufgabenprotokolle
- Gehen Sie in der AWS DMS-Konsole zu Aufgaben zur Datenbankmigration.
- Wähle die Migrationsaufgabe aus, bei der Probleme auftreten.
- Klick Überwachung um auf Fehlermeldungen und Ausführungsdetails zuzugreifen.
Abbildung 27 AWS CloudWatch Logs mit Migrationsfehlern
2. AWS CloudWatch für detaillierte Fehlersuche verwenden
- Navigieren Sie zu AWS CloudWatch-Konsole > Protokolle.
- Suchen Sie nach der DMS-Replikationsinstanz-Log-Gruppe (
/aws/dms/replication-instance-ID
). - Aktiviere ausführliche Protokollierung in DMS-Aufgabeneinstellungen um mehr Details zu erfassen.
Abbildung 28 Übersicht der AWS CloudWatch-Ereignisse
Fazit
Der AWS Database Migration Service (DMS) erleichtert das Verschieben von Daten zwischen verschiedenen Datenbank-Engines bei minimaler Ausfallzeit. Wenn du die Best Practices befolgst - wie z.B. die Optimierung der Leistung, die Sicherung der Daten, die Verwaltung von Schemaänderungen und die Behebung häufiger Probleme - kannst du einen reibungslosen Migrationsprozess sicherstellen.
Jetzt, wo du eine durchgängige AWS DMS-Migration abgeschlossen hast, kannst du die Vorteile deiner neuen Cloud-basierten Datenbank für bessere Skalierbarkeit, Analysen und Cloud-native Optimierungen voll ausschöpfen. Wenn du dein AWS-Wissen vertiefen möchtest, solltest du den Lernpfad AWS Cloud Practitioner Certification erkunden oder mit AWS Concepts und AWS Security & Cost Management einsteigen.
Rahul Sharma ist ein AWS-Botschafter, DevOps-Architekt und technischer Blogger, der sich auf Cloud Computing, DevOps-Praktiken und Open-Source-Technologien spezialisiert hat. Mit seiner Expertise in AWS, Kubernetes und Terraform vereinfacht er komplexe Konzepte für Lernende und Fachleute durch ansprechende Artikel und Tutorials. Rahul liebt es, DevOps-Herausforderungen zu lösen und Erkenntnisse zu teilen, um die Tech-Community zu unterstützen.
Lerne mehr über AWS mit diesen Kursen!
Kurs
AWS-Konzepte für Sicherheit und Kostenmanagement
Kurs
Einführung in AWS Boto in Python
Der Blog
Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Nisha Arya Ahmed
20 Min.

Der Blog
Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn
Der Blog
2022-2023 DataCamp Classrooms Jahresbericht
Der Blog
Q2 2023 DataCamp Donates Digest
Der Blog
Top 30 Generative KI Interview Fragen und Antworten für 2024

Hesam Sheikh Hassani
15 Min.