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.
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!
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.
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.
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.
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.
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).
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.
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.
ZaawansowanyOptymalizuj 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.
ZaawansowanyLOB 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.
ZaawansowanyCutover 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.
PoczatkujacyDMS 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.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z AWS DMS bezposrednio w konsoli AWS.
Do czego sluzy AWS DMS?
Migracja baz danych do chmury
Przenieś bazę Oracle, SQL Server lub MySQL z on-premises do Amazon RDS lub Aurora z minimalnym przestojem.
Zmiana silnika bazy danych
Migruj z komercyjnej bazy danych (Oracle, SQL Server) na open-source (PostgreSQL, MySQL) z automatyczną konwersją schematu.
Ciągła replikacja danych
Utrzymuj synchronizację między bazą źródłową i docelową przez CDC - idealne dla migracji etapowych i disaster recovery.
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.
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.
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?
Czesto uzywane razem z AWS DMS
Chcesz poznac AWS DMS w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac AWS DMS krok po kroku. Teoria + praktyka od zera.