AWS Solutions Architect · Lektion

Database Migration Service (DMS) og Schema Conversion Tool

Migrér homogene og heterogene databaser med DMS ved hjælp af fuld indlæsning eller CDC, og konvertér skemadialekter med Schema Conversion Tool

Lektion 4 af 413 trin

Database Migration Service (DMS) og Schema Conversion Tool er en gratis AWS Solutions Architect-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i AWS Solutions Architect, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. AWS Solutions Architect-kurset indeholder 4 lektioner i alt.

Hvad er AWS DMS?

AWS Database Migration Service (DMS) migrerer databaser til AWS med minimal nedetid. Den understøtter homogene migreringer (f.eks. Oracle til Oracle, MySQL til MySQL) og heterogene migreringer (f.eks. Oracle til Aurora PostgreSQL, SQL Server til MySQL). DMS bruger en replikeringsinstans, der læser fra kilden, eventuelt transformerer dataene og skriver til målet. Du betaler kun for replikeringsinstansens kørselstid.

DMS-komponenter: Endpoints og replikeringsinstans

DMS har tre centrale komponenter. Kildeendpoints definerer forbindelsen til kildedatabasen (JDBC-URL, legitimationsoplysninger, TLS). Målendpoints definerer destinationsdatabasen. Replikeringsinstansen er en administreret EC2-baseret server, som DMS klargør i dit VPC-netværk til at køre migreringsarbejdet. Vælg størrelsen på replikeringsinstansen ud fra, hvor meget data der skal migreres, og om du ønsker flere tilgængelighedszoner for selve replikeringsinstansen.

# 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

Migrering med fuld indlæsning sammenlignet med CDC

DMS understøtter to migreringstilstande. Full Load kopierer alle eksisterende data fra kilden til målet — velegnet, når du kan acceptere nedetid, eller når kilden er skrivebeskyttet under migreringen. Change Data Capture (CDC) registrerer løbende ændringer fra kildens transaktionslog, efter den fulde indlæsning er gennemført, så kilden og målet holdes synkroniseret. En kombineret migrering med Full Load + CDC minimerer nedetiden: Migrér data, mens kilden fortsat er aktiv, og gennemfør derefter overgangen, når målet er ajour.

# 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)

AWS Schema Conversion Tool (SCT) er en gratis applikation, der kan downloades, og som automatisk konverterer kildedatabasens skema (DDL) til et format, der er kompatibelt med måldatabasens databasemotor. Den håndterer tabeldefinitioner, visninger, gemte procedurer, funktioner og udløsere. Ved heterogene migreringer (f.eks. Oracle til PostgreSQL) konverterer SCT automatisk størstedelen af objekterne og markerer elementer, der kræver manuel gennemgang på grund af forskelle i syntaks, som ikke understøttes.

# 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)

Homogen og heterogen migrering

Ved homogene migreringer (samme motor, f.eks. MySQL lokalt til RDS for MySQL) er SCT normalt ikke nødvendig — skemaet er direkte kompatibelt. DMS kan køre Full Load + CDC med det samme. Ved heterogene migreringer (forskellige motorer) skal SCT først konvertere skemaet, DMS håndterer datamigreringen, og du kan være nødt til manuelt at omskrive gemte procedurer og udløsere, som ikke har en tilsvarende funktion i målmotoren.

# 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

Understøttede kilde- og måldatabaser

DMS understøtter en lang række kilder: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 og S3. Understøttede mål omfatter alle ovenstående samt Amazon Redshift, DynamoDB, Kinesis Data Streams og Kafka. Det gør DMS nyttig ikke kun til relationelle migreringer, men også til streaming af relationelle ændringshændelser til en datasø eller en hændelsesdrevet arkitektur ved hjælp af CDC til Kinesis.

Regler for DMS-tabeltilknytning

DMS bruger regler for tabeltilknytning (JSON) til at styre, hvilke skemaer og tabeller der skal medtages eller udelukkes, og til at anvende datatransformationer. Du kan omdøbe skemaer eller tabeller, konvertere kolonneværdier (f.eks. skrive alle tekststrenge med store bogstaver), tilføje afledte kolonner eller filtrere rækker. Det er nyttigt ved migrering til et mål med andre navngivningskonventioner, eller når du kun vil migrere et udvalg af tabeller.

# 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'}
    }
  ]
}

Overvågning af DMS-migreringens fremskridt

DMS publicerer målinger til CloudWatch: FullLoadThroughputRowsSource (indlæste rækker pr. sekund), CDCLatencySource (forsinkelsen mellem kildens transaktionslog og DMS' læsning af den) og CDCLatencyTarget (forsinkelsen mellem DMS' læsning og skrivning til målet). Overvåg CDCLatencyTarget nøje under synkroniseringsfasen — når den falder til næsten nul, er målet ajour med kilden, og du er klar til overgangen.

# 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 klargør og skalerer automatisk replikeringskapaciteten ud fra migreringsarbejdet, så du ikke behøver vælge og administrere størrelsen på en replikeringsinstans. Du angiver minimums- og maksimumskapacitet i DMS-kapacitetsenheder (DCU), og DMS skalerer automatisk inden for dette interval. Det er ideelt til migreringer med varierende belastning, eller når du vil undgå risikoen for at vælge en for lille replikeringsinstans under spidsbelastning i migreringen.

# 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"]
  }'

Validering af, at migreringen er fuldstændig

Efter migreringen skal du validere, at alle data er med, ved hjælp af DMS Data Validation. Aktivér funktionen i opgaveindstillingerne, hvorefter DMS sammenligner rækkeantal og kontrolsummer mellem kilde- og måltabeller og rapporterer uoverensstemmelser i en separat valideringstabel. Ved heterogene migreringer skal du også køre grundlæggende funktionstests på applikationsniveau. Gennemfør aldrig overgangen, før valideringen viser nul uoverensstemmelser — det er langt dyrere at afstemme data efter en fejlbehæftet overgang end at bruge ekstra tid på validering.

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

Almindelige DMS-scenarier i eksamener

I SAA-C03-eksamenen optræder DMS i scenarier, der kræver databasemigrering med minimal nedetid. Vigtige signaler er: 'migrér en database med løbende replikering' → DMS Full Load + CDC. 'skift af databasemotor' → SCT først, derefter DMS. 'replikér ændringer næsten i realtid til en datasø' → DMS CDC til Kinesis eller S3. 'saml flere kildedatabaser i ét mål' → flere DMS-opgaver til ét målendpoint. DMS er specifikt til databasemigrering — brug MGN til servermigrering og DataSync eller Snowball til masseoverførsel af data.

Hurtigt tjek

Test din forståelse af begreberne fra AWS Solutions Architect (SAA-C03) i denne lektion.

Opsummering af lektionen

I denne lektion har du lært, at: DMS understøtter både homogene og heterogene databasemigreringer ved hjælp af tilstandene Full Load og CDC, SCT automatiserer skemakonvertering ved migreringer mellem databasemotorer og markerer elementer til manuel gennemgang, og DMS Serverless skalerer replikeringskapaciteten automatisk, så du ikke behøver beslutte størrelsen på en instans. Nu ser vi nærmere på Amazon EventBridge til hændelsesdrevet routing og busarkitektur.

Gratis at komme i gang

Lær AWS Solutions Architect med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Database Migration Service (DMS) og Schema Conversion Tool” gratis?

Ja — alle 3 lektioner i læringssporet AWS Solutions Architect, inklusive “Database Migration Service (DMS) og Schema Conversion Tool”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. AWS Solutions Architect-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Database Migration Service (DMS) og Schema Conversion Tool”?

Migrér homogene og heterogene databaser med DMS ved hjælp af fuld indlæsning eller CDC, og konvertér skemadialekter med Schema Conversion Tool Du øver dig i AWS Solutions Architect med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på AWS Solutions Architect?

Der kræves ingen tidligere erfaring. AWS Solutions Architect på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Database Migration Service (DMS) og Schema Conversion Tool”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne AWS Solutions Architect-lektion?

Ja. Alle AWS Solutions Architect-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Migrationstrategiens 7 R'er
  2. AWS Migration Hub og Application Discovery Service
  3. Application Migration Service (MGN)
  4. Database Migration Service (DMS) og Schema Conversion Tool
← Tilbage til AWS Solutions Architect