AWS DMS
Migration Cloud Practitioner Solutions Architect Associate

AWS DMS

AWS Database Migration Service

Migracja baz danych do chmury AWS z minimalnym przestojem. Przenoś dane między różnymi silnikami baz danych - z ciągłą replikacją i walidacją danych.

AWS DMS (Database Migration Service) to zarządzany serwis, który pomaga migrować bazy danych do AWS szybko i bezpiecznie. Obsługuje zarówno migracje homogeniczne (np. MySQL do MySQL), jak i heterogeniczne (np. Oracle do Aurora PostgreSQL).

DMS utrzymuje źródłową bazę danych w pełni operacyjną podczas migracji, minimalizując przestój aplikacji. Dzięki Change Data Capture (CDC) replikuje zmiany w czasie rzeczywistym, a Schema Conversion Tool (SCT) automatycznie konwertuje schematy między różnymi silnikami.

Czy wiesz, ze...

AWS DMS obsługuje ponad 20 różnych źródeł i celów migracji, w tym bazy relacyjne (Oracle, SQL Server, MySQL, PostgreSQL), NoSQL (MongoDB, DynamoDB), a nawet Amazon S3 jako cel. Możesz migrować dane z jednej bazy do wielu celów jednocześnie za pomocą jednej replication instance!

Pro Tip

Przy migracjach heterogenicznych (np. Oracle do PostgreSQL) zawsze uruchom najpierw Schema Conversion Tool, żeby zobaczyć raport konwersji. SCT pokaże Ci, które procedury składowane wymagają ręcznej poprawki. Zaplanuj też test migracji na kopii danych, zanim ruszysz z produkcją.

AWS Database Migration Service (DMS) umozliwia migracje baz danych do AWS z minimalnym downtime. Obsluguje migracje homogeniczne (np. MySQL -> MySQL) i heterogeniczne (np. Oracle -> PostgreSQL). Opcja Change Data Capture (CDC) synchronizuje zmiany w locie, pozwalajac na cutover z sekundami przestoju.

1

Tworzenie replication instance

Replication instance to instancja EC2 zarzadzana przez DMS, ktora wykonuje migracje. Wybierasz typ (dms.r5.large, dms.r5.xlarge), Multi-AZ (dla produkcji) i alokacje storage. Instance musi miec polaczenie sieciowe do zrodla i celu. Rozmiar instancji zalezy od wolumenu danych i liczby tabel - wiecej tabel = wiecej pamieci RAM.

2

Konfiguracja source i target endpoints

Source endpoint: connection string do zrodlowej bazy (on-premise, RDS, Aurora, EC2). Target endpoint: docelowa baza AWS (RDS, Aurora, DynamoDB, Redshift, S3, Kinesis). Obslugiwane zrodla: Oracle, SQL Server, MySQL, PostgreSQL, MongoDB, SAP ASE, DB2. Testuj polaczenie (Test Connection) przed uruchomieniem taska.

3

Schema Conversion Tool (SCT)

Dla migracji heterogenicznych (np. Oracle -> PostgreSQL) DMS SCT konwertuje schemat: tabele, widoki, procedury, typy danych. SCT generuje raport z assessment - pokazuje co skonwertuje automatycznie (typowo 80-95%) i co wymaga recznej konwersji. Uruchom SCT przed migracją danych, aby przygotowac docelowy schemat.

4

Typy migration task

Full load: kopiuje istniejace dane ze zrodla do celu (bulk copy). CDC only: replikuje tylko biezace zmiany (wymaga juz istniejacych danych w celu). Full load + CDC: kopiuje dane, nastepnie przechodzi do replikacji biezacych zmian. Ten ostatni tryb daje migracje z minimalnym downtime - cutover gdy CDC dogoni zrodlo (lag <1 sekunda).

5

Change Data Capture (CDC)

CDC czyta log transakcyjny zrodlowej bazy (redo log Oracle, binlog MySQL, WAL PostgreSQL) i aplikuje zmiany na celu w czasie zblionym do real-time. Wymaga wlaczenia logowania na zrodlowej bazie. CDC obsluguje: INSERT, UPDATE, DELETE. Dla Oracle wymaga supplemental logging, dla MySQL row-based binlog, dla PostgreSQL logical replication.

6

Walidacja i monitoring migracji

Data validation porownuje dane miedzy zrodlem a celem - sprawdza liczbe wierszy i wartosc kolumn. Table statistics pokazuja postep: Full load rows, CDC inserts/updates/deletes, errors. CloudWatch metryki: CDCLatencySource, CDCLatencyTarget, FullLoadThroughputRowsSource. Alarmy na CDCLatency >60s sygnalizuja problem z nadazaniem replikacji.

Praktyczne wskazowki do udanej migracji baz danych - od planowania po cutover i rozwiazywanie typowych problemow.

Pre-migration assessment - nie pomijaj tego kroku

Uruchom DMS Fleet Advisor lub SCT assessment na zrodlowej bazie. Raport pokazuje: niekompatybilne typy danych, procedury wymagajace recznej konwersji, funkcje niedostepne w celu. Dla Oracle -> PostgreSQL typowe problemy: CONNECT BY (hierarchiczne zapytania), PL/SQL packages, sekwencje, synonimy. Adresuj te problemy PRZED migracja, nie w trakcie.

Zaawansowany

Optymalizuj full load - parallel i batch settings

Domyslny full load jest sekwencyjny per tabela. Zwieksz MaxFullLoadSubTasks (domyslnie 8, max 49) aby ladowac wiele tabel rownolegle. ParallelLoadSettings dzieli duze tabele na partycje. Wylacz indexy i triggery na celu podczas full load - wlacz po zakonczeniu. Dla RDS target: zwieksz parametr innodb_buffer_pool_size i wylacz Multi-AZ na czas ladowania.

Zaawansowany

LOB handling - najczestsza przyczyna problemow

Large Objects (LOB) - BLOB, CLOB, TEXT - spowalniaja migracje dramatycznie. Tryby: Full LOB (kopiuje calosc, wolny), Limited LOB (obcina do max rozmiaru, szybki), Inline LOB (do 63 KB inline, wieksze jako full LOB). Ustaw LobMaxSize na maksymalny oczekiwany rozmiar. Dla tabel bez LOB wylacz LOB handling calkowicie - 10x szybsza migracja.

Zaawansowany

Cutover procedure - minimalizacja downtime

Plan cutover: (1) Monitoruj CDCLatency az spadnie do <1s. (2) Zatrzymaj ruch na zrodlowej bazie (maintenance window). (3) Poczekaj az CDC dogoni (0 pending changes). (4) Uruchom walidacje danych. (5) Przejdz na nowa baze (zmien connection string). (6) Uruchom ruch. Typowy downtime: 5-30 minut. Przygotuj rollback plan - odroc DROP zrodlowej bazy na min. 7 dni.

Poczatkujacy

DMS do ciglej replikacji (nie tylko migracji)

DMS CDC moze dzialac ciagle - nie tylko do migracji. Use cases: replikacja do Redshift (analytics), do S3 (data lake), do Elasticsearch (wyszukiwanie), do Kinesis (streaming). Dla dlugotrwalej replikacji uzyj Multi-AZ replication instance i monitoruj CDCLatency. DMS Serverless automatycznie skaluje capacity bez zarzadzania instancjami.

Poczatkujacy

Screenshoty z AWS Console

Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z AWS DMS bezposrednio w konsoli AWS.

Do czego sluzy AWS DMS?

01

Migracja baz danych do chmury

Przenieś bazę Oracle, SQL Server lub MySQL z on-premises do Amazon RDS lub Aurora z minimalnym przestojem.

02

Zmiana silnika bazy danych

Migruj z komercyjnej bazy danych (Oracle, SQL Server) na open-source (PostgreSQL, MySQL) z automatyczną konwersją schematu.

03

Ciągła replikacja danych

Utrzymuj synchronizację między bazą źródłową i docelową przez CDC - idealne dla migracji etapowych i disaster recovery.

04

Konsolidacja baz danych

Połącz wiele baz danych z różnych lokalizacji w jedną centralną bazę w AWS, redukując koszty utrzymania.

Co musisz wiedziec?

Replication Instance

Instancja EC2 zarządzana przez DMS, która wykonuje faktyczną migrację danych. Wybierasz typ i rozmiar w zależności od obciążenia.

Source/Target Endpoint

Konfiguracja połączenia do bazy źródłowej (source) i docelowej (target): host, port, credentials, nazwa bazy.

Migration Task

Zadanie migracji definiujące co przenieść (tabele, schematy), tryb (full load, CDC, oba) i mapowanie tabel.

CDC (Change Data Capture)

Mechanizm ciągłej replikacji zmian ze źródła do celu. Przechwytuje INSERT, UPDATE i DELETE w czasie rzeczywistym.

Schema Conversion Tool (SCT)

Narzędzie desktopowe konwertujące schematy baz danych, procedury składowane i widoki między różnymi silnikami (np. Oracle do PostgreSQL).

Data Validation

Automatyczne porównywanie danych źródłowych i docelowych po migracji, sprawdzające kompletność i integralność przeniesienia.

Architektura: Migracja bazy danych z on-premise do AWS z DMS

Architektura migracji bazy Oracle z data center do Amazon Aurora PostgreSQL. Schema Conversion Tool konwertuje schemat, DMS przenosi dane z CDC dla minimalnego downtime, a walidacja potwierdza poprawnosc.

Oracle (on-premise) Zrodlowa baza z wlaczonym supplemental logging dla CDC
VPN / Direct Connect
AWS DMS (Replication Instance)
AWS DMS (Replication Instance) Full load + CDC task, Multi-AZ, monitoring CDCLatency
Schema migration
Schema Conversion Tool Konwersja schematu Oracle -> PostgreSQL, raport kompatybilnosci
Full load + CDC
Aurora PostgreSQL
Aurora PostgreSQL Docelowa baza Multi-AZ, skonwertowany schemat, zwalidowane dane
Monitoring
CloudWatch + SNS
CloudWatch + SNS Alarmy na CDCLatency, FullLoadError, walidacja danych
Uruchom SCT assessment PRZED migracja - raport pokaze procent automatycznej konwersji i elementy wymagajace recznej pracy, co pozwoli oszacowac czas projektu.
DMS Serverless eliminuje zarzadzanie replication instance - automatycznie skaluje capacity na podstawie obciazenia, idealny gdy nie znasz dokladnego wolumenu danych.
Po cutover utrzymuj CDC przez min. 7 dni z mozliwoscia odwrocenia kierunku replikacji (target -> source) jako rollback plan na wypadek problemow z nowa baza.

Ile kosztuje AWS DMS?

Instancja replikacji

Płacisz za godzinę działania replication instance. Cena zależy od typu (dms.t3.medium, dms.r5.large itp.).

dms.t3.medium: ~$0.073/godz. (~$53/mies.)

Storage

Opłata za przechowywanie logów i danych tymczasowych na replication instance.

$0.115/GB/mies. (domyślnie 50 GB)

Transfer danych

Transfer przychodzący do DMS jest darmowy. Wychodzący poza region płatny standardowo.

Transfer wychodzący: od $0.09/GB

DMS Serverless

Opcja bez zarządzania instancjami. Płacisz za DCU (DMS Capacity Units) wykorzystane podczas migracji.

$0.018/DCU-godz. (auto-scaling)

Przyklady AWS CLI

Utwórz replication instance

Tworzy instancję replikacji DMS do wykonywania migracji

aws dms create-replication-instance \
 --replication-instance-identifier moja-migracja \
 --replication-instance-class dms.t3.medium \
 --allocated-storage 50 \
 --vpc-security-group-ids sg-0123456789abcdef0

Utwórz source endpoint

Konfiguruje połączenie do źródłowej bazy MySQL

aws dms create-endpoint \
 --endpoint-identifier zrodlo-mysql \
 --endpoint-type source \
 --engine-name mysql \
 --server-name mydb.example.com \
 --port 3306 \
 --username admin \
 --password MojeHaslo123!

Uruchom zadanie migracji

Tworzy i uruchamia zadanie migracji z full load i CDC

aws dms create-replication-task \
 --replication-task-identifier migracja-prod \
 --source-endpoint-arn arn:aws:dms:eu-west-1:123456789012:endpoint:ZRODLO \
 --target-endpoint-arn arn:aws:dms:eu-west-1:123456789012:endpoint:CEL \
 --replication-instance-arn arn:aws:dms:eu-west-1:123456789012:rep:INSTANCJA \
 --migration-type full-load-and-cdc \
 --table-mappings file://table-mappings.json

Sprawdź status migracji

Wyświetla postęp i statystyki zadania migracji

aws dms describe-replication-tasks \
 --filters "Name=replication-task-id,Values=migracja-prod" \
 --query "ReplicationTasks[].{Status:Status,Progress:ReplicationTaskStats.FullLoadProgressPercent,Tables:ReplicationTaskStats.TablesLoaded}" \
 --output table

Quiz: AWS DMS

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.

Twoj wynik: 0 / 4

1. Czym jest migracja heterogeniczna w kontekście DMS?

2. Do czego służy CDC (Change Data Capture) w DMS?

3. Które narzędzie konwertuje schematy baz danych w DMS?

4. Co to jest Replication Instance w DMS?

Chcesz poznac AWS DMS w praktyce?

Darmowy kurs "AWS od podstaw" pokazuje jak uzywac AWS DMS krok po kroku. Teoria + praktyka od zera.

Zacznij darmowy kurs Wszystkie serwisy