0Pricing
AWS Solutions Architect · Lektion

Database Migration Service (DMS) und Schema Conversion Tool

Migrieren Sie homogene und heterogene Datenbanken mit DMS per vollständigem Ladevorgang oder CDC und konvertieren Sie Schema-Dialekte mit dem Schema Conversion Tool.

Database Migration Service (DMS) und Schema Conversion Tool ist eine kostenlose AWS Solutions Architect-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AWS Solutions Architect-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AWS Solutions Architect-Kurs umfasst insgesamt 4 Lektionen.

Was ist AWS DMS?

AWS Database Migration Service (DMS) migriert Datenbanken mit minimaler Ausfallzeit zu AWS. Der Service unterstützt homogene Migrationen (z. B. Oracle zu Oracle, MySQL zu MySQL) und heterogene Migrationen (z. B. Oracle zu Aurora PostgreSQL, SQL Server zu MySQL). DMS verwendet eine Replication Instance, die die Quelldaten liest, Daten optional transformiert und in das Ziel schreibt. Sie zahlen nur für die Laufzeit der Replication Instance.

DMS-Komponenten: Endpunkte und Replication Instance

DMS hat drei zentrale Komponenten. Source Endpoints definieren die Verbindung zur Quelldatenbank (JDBC-URL, Anmeldedaten, TLS). Target Endpoints definieren die Zieldatenbank. Die Replication Instance ist ein verwalteter, auf EC2 basierender Server, den DMS in Ihrer VPC bereitstellt, um die Migrations-Workload auszuführen. Wählen Sie die Größe der Replication Instance abhängig von der zu migrierenden Datenmenge und davon, ob Sie Multi-AZ für die Replication Instance selbst benötigen.

# Create a DMS replication instance
aws dms create-replication-instance \
  --replication-instance-identifier my-dms-instance \
  --replication-instance-class dms.t3.medium \
  --allocated-storage 50 \
  --vpc-security-group-ids sg-abc123 \
  --replication-subnet-group-identifier my-dms-subnet-group \
  --multi-az false \
  --publicly-accessible false

Migration mit Full Load im Vergleich zu CDC

DMS unterstützt zwei Migrationsmodi. Full Load kopiert alle vorhandenen Daten von der Quelle zum Ziel – geeignet, wenn Sie Ausfallzeit in Kauf nehmen können oder die Quelle während der Migration schreibgeschützt ist. Change Data Capture (CDC) erfasst nach Abschluss des Full Load fortlaufende Änderungen aus dem Transaktionsprotokoll der Quelle und hält Quelle und Ziel synchron. Eine kombinierte Migration mit Full Load + CDC minimiert die Ausfallzeit: Die Daten werden migriert, während die Quelle aktiv bleibt, und anschließend erfolgt das Cutover, sobald das Ziel aufgeholt hat.

# Create a DMS replication task with Full Load + CDC
aws dms create-replication-task \
  --replication-task-identifier sales-migration \
  --source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
  --target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
  --replication-instance-arn arn:aws:dms:us-east-1:123:rep:my-dms-instance \
  --migration-type full-load-and-cdc \
  --table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "all", "object-locator": {"schema-name": "%", "table-name": "%"}, "rule-action": "include"}]}'

Schema Conversion Tool (SCT)

Das AWS Schema Conversion Tool (SCT) ist eine kostenlos herunterladbare Anwendung, die das Schema der Quelldatenbank (DDL) automatisch in ein mit der Ziel-Datenbank-Engine kompatibles Format konvertiert. Es verarbeitet Tabellendefinitionen, Views, Stored Procedures, Funktionen und Trigger. Bei heterogenen Migrationen (z. B. von Oracle zu PostgreSQL) konvertiert SCT den Großteil der Objekte automatisch und kennzeichnet Elemente, die aufgrund nicht unterstützter Syntaxunterschiede eine manuelle Prüfung erfordern.

# SCT is a GUI desktop tool, but here is the workflow:
# 1. Connect SCT to source Oracle database
# 2. Connect SCT to target Aurora PostgreSQL database
# 3. Run schema assessment: SCT rates conversion complexity per object
# 4. Convert schema automatically (SCT generates PostgreSQL DDL)
# 5. Apply converted DDL to target (SCT executes or exports SQL script)
# 6. Review and manually fix flagged items (e.g., PL/SQL procedures with Oracle-specific syntax)

Homogene und heterogene Migration

Für homogene Migrationen (dieselbe Engine, z. B. MySQL lokal zu RDS for MySQL) wird SCT normalerweise nicht benötigt, da das Schema direkt kompatibel ist. DMS kann sofort Full Load + CDC ausführen. Bei heterogenen Migrationen (unterschiedliche Engines) muss SCT zunächst das Schema konvertieren, DMS übernimmt die Datenmigration, und Stored Procedures oder Trigger ohne Entsprechung in der Ziel-Engine müssen Sie möglicherweise manuell neu schreiben.

# Example heterogeneous migration workflow:
# On-premises Oracle -> Amazon Aurora PostgreSQL
#
# Step 1: SCT converts Oracle DDL to PostgreSQL DDL
# Step 2: Apply PostgreSQL DDL to Aurora target
# Step 3: DMS Full Load + CDC copies Oracle table data to Aurora
# Step 4: Validate row counts and checksums
# Step 5: Cut over application connections to Aurora endpoint
# Step 6: Terminate DMS task and replication instance

Unterstützte Quell- und Zieldatenbanken

DMS unterstützt eine große Auswahl an Quellen: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 und S3. Zu den unterstützten Zielen gehören alle genannten Systeme sowie Amazon Redshift, DynamoDB, Kinesis Data Streams und Kafka. Dadurch eignet sich DMS nicht nur für relationale Migrationen, sondern auch dafür, relationale Änderungsereignisse per CDC in einen Data Lake oder eine ereignisgesteuerte Architektur mit Kinesis zu streamen.

DMS-Regeln für Table Mapping

DMS verwendet Table-Mapping-Regeln (JSON), um zu steuern, welche Schemas und Tabellen ein- oder ausgeschlossen werden, und um Datentransformationen anzuwenden. Sie können Schemas oder Tabellen umbenennen, Spaltenwerte konvertieren (z. B. alle Zeichenfolgen in Großbuchstaben umwandeln), abgeleitete Spalten hinzufügen oder Zeilen filtern. Das ist hilfreich, wenn das Ziel andere Namenskonventionen verwendet oder Sie nur eine Teilmenge der Tabellen migrieren möchten.

# Table mapping: include only the 'orders' table, rename schema
{
  'rules': [
    {
      'rule-type': 'selection',
      'rule-id': '1',
      'rule-name': 'select-orders',
      'object-locator': {'schema-name': 'prod_db', 'table-name': 'orders'},
      'rule-action': 'include'
    },
    {
      'rule-type': 'transformation',
      'rule-id': '2',
      'rule-name': 'rename-schema',
      'rule-action': 'convert-uppercase',
      'rule-target': 'schema',
      'object-locator': {'schema-name': 'prod_db'}
    }
  ]
}

Überwachen des Fortschritts der DMS-Migration

DMS veröffentlicht Metriken in CloudWatch: FullLoadThroughputRowsSource (geladene Zeilen pro Sekunde), CDCLatencySource (Verzögerung zwischen dem Transaktionsprotokoll der Quelle und dem Lesen durch DMS) und CDCLatencyTarget (Verzögerung zwischen dem Lesen durch DMS und dem Schreiben in das Ziel). Überwachen Sie CDCLatencyTarget während der Synchronisierungsphase genau. Wenn der Wert nahezu null erreicht, hat das Ziel zur Quelle aufgeschlossen und Sie können das Cutover durchführen.

# Monitor CDC latency via CloudWatch CLI
aws cloudwatch get-metric-statistics \
  --namespace AWS/DMS \
  --metric-name CDCLatencyTarget \
  --dimensions Name=ReplicationInstanceIdentifier,Value=my-dms-instance \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-01T01:00:00Z \
  --period 60 \
  --statistics Average

DMS Serverless

DMS Serverless stellt die Replikationskapazität abhängig von der Migrations-Workload automatisch bereit und skaliert sie. Dadurch müssen Sie weder die Größe einer Replication Instance auswählen noch verwalten. Sie geben minimale und maximale DMS Capacity Units (DCUs) an, und DMS skaliert automatisch innerhalb dieses Bereichs. Das ist ideal für Migrationen mit variabler Last oder wenn Sie das Risiko vermeiden möchten, dass die Replication Instance während Spitzenlasten zu klein dimensioniert ist.

# Create a DMS Serverless replication
aws dms create-replication \
  --replication-config-identifier my-serverless-migration \
  --replication-type full-load-and-cdc \
  --source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
  --target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
  --compute-config '{
    "MinCapacityUnits": 2,
    "MaxCapacityUnits": 64,
    "MultiAZ": false,
    "ReplicationSubnetGroupId": "my-subnet-group",
    "VpcSecurityGroupIds": ["sg-abc123"]
  }'

Vollständigkeit der Migration überprüfen

Überprüfen Sie nach der Migration die Vollständigkeit der Daten mit der DMS-Data Validation. Aktivieren Sie diese Funktion in den Aufgabeneinstellungen. DMS vergleicht dann Zeilenanzahlen und Prüfsummen zwischen Quell- und Zieltabelle und meldet Abweichungen in einer separaten Validierungstabelle. Führen Sie bei heterogenen Migrationen zusätzlich Smoke-Tests auf Anwendungsebene durch. Führen Sie das Cutover erst durch, wenn die Validierung keine Abweichungen zeigt – die Abstimmung von Daten nach einem fehlerhaften Cutover ist wesentlich aufwendiger, als zusätzliche Zeit für die Validierung aufzuwenden.

# Enable validation in DMS task settings (JSON)
{
  'TargetMetadata': {'SupportLobs': true, 'FullLobMode': false},
  'ValidationSettings': {
    'EnableValidation': true,
    'ValidationMode': 'ROW_LEVEL',
    'ValidationOnly': false,
    'FailureMaxCount': 10000
  }
}

Häufige DMS-Prüfungsszenarien

In der SAA-C03-Prüfung kommt DMS in Szenarien vor, die eine Datenbankmigration mit minimaler Ausfallzeit erfordern. Wichtige Hinweise sind: „Datenbank mit fortlaufender Replikation migrieren“ → DMS Full Load + CDC. „Änderung der Datenbank-Engine“ → zuerst SCT, anschließend DMS. „Änderungen nahezu in Echtzeit in einen Data Lake replizieren“ → DMS CDC zu Kinesis oder S3. „Mehrere Quelldatenbanken in einem Ziel zusammenführen“ → mehrere DMS-Aufgaben für einen Zielendpunkt. DMS ist speziell für die Migration von Datenbanken gedacht – für Servermigrationen verwenden Sie MGN, für die Übertragung großer Datenmengen DataSync oder Snowball.

Schnelltest

Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: DMS unterstützt homogene und heterogene Datenbankmigrationen mit den Modi Full Load und CDC, SCT automatisiert die Schema-Konvertierung bei Migrationen mit einem Wechsel der Engine und kennzeichnet Elemente zur manuellen Prüfung, und DMS Serverless skaliert die Replikationskapazität automatisch und macht die Auswahl der Instance-Größe überflüssig. Als Nächstes sehen Sie sich Amazon EventBridge für ereignisgesteuertes Routing und Bus-Architekturen an.

Häufig gestellte Fragen

Ist die Lektion „Database Migration Service (DMS) und Schema Conversion Tool“ kostenlos?

Ja — der vollständige Text von „Database Migration Service (DMS) und Schema Conversion Tool“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AWS Solutions Architect-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AWS Solutions Architect-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Database Migration Service (DMS) und Schema Conversion Tool“?

Migrieren Sie homogene und heterogene Datenbanken mit DMS per vollständigem Ladevorgang oder CDC und konvertieren Sie Schema-Dialekte mit dem Schema Conversion Tool. Du übst AWS Solutions Architect mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AWS Solutions Architect zu starten?

Keine Vorkenntnisse erforderlich. AWS Solutions Architect auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Database Migration Service (DMS) und Schema Conversion Tool“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AWS Solutions Architect-Lektion Code schreiben und ausführen?

Ja. Jede AWS Solutions Architect-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Die 7 Rs der Migrationsstrategie
  2. AWS Migration Hub und Application Discovery Service
  3. Application Migration Service (MGN)
  4. Database Migration Service (DMS) und Schema Conversion Tool
← Zurück zu AWS Solutions Architect