Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Ngày xuất bản
Ngày xuất bản

AWS Database Migration Service (DMS) – Giải pháp Migration Database Nhanh, An Toàn & Không Gián Đoạn

1. Giới thiệu

Khi doanh nghiệp di chuyển ứng dụng lên cloud hoặc thay đổi hệ quản trị cơ sở dữ liệu (DB engine), việc migraton dữ liệu (database migration) là bước quan trọng nhưng thường phức tạp:

  • Dữ liệu lớn cần chuyển trong thời gian ngắn
  • Hệ thống phải chạy liên tục, không thể downtime lâu
  • DB khác loại (SQL → NoSQL hoặc MySQL → PostgreSQL)
  • Risk về mất dữ liệu hoặc sai lệch dữ liệu

Để giải quyết những vấn đề trên, AWS giới thiệu AWS Database Migration Service (AWS DMS) – dịch vụ giúp bạn di chuyển dữ liệu giữa các database nhanh, an toàn và gần như không downtime.

AWS DMS hỗ trợ:

  • Homogeneous migration: MySQL → MySQL, SQL Server → SQL Server
  • Heterogeneous migration: Oracle → PostgreSQL, MySQL → Aurora, SQL Server → Aurora PostgreSQL

Đây là một trong những dịch vụ quan trọng nhất khi thực hiện cloud migration hoặc modernization database.

2. Tính năng nổi bật

2.1 Minimal downtime – gần như không gián đoạn

DMS sử dụng kỹ thuật CDC (Change Data Capture) để đồng bộ dữ liệu thay đổi trong khi ứng dụng vẫn hoạt động.

2.2 Hỗ trợ nhiều loại database

Nguồn và đích có thể là:

  • Oracle
  • SQL Server
  • MySQL
  • MariaDB
  • PostgreSQL
  • Sybase
  • MongoDB
  • Amazon Aurora
  • Amazon Redshift
  • S3 (lưu dạng file)
  • Elasticsearch / OpenSearch

2.3 Dễ sử dụng, không cần cài đặt phức tạp

Không cần tự viết script ETL, DMS tự làm:

  • Copy full data
  • Replicate incremental
  • Validate dữ liệu
  • Monitor lỗi

2.4 Hỗ trợ nhiều pattern migration

  • Full Load
  • Full Load + CDC
  • CDC-only

2.5 Tích hợp chặt chẽ với AWS

CloudWatch, IAM, KMS, VPC, Security Group,…

2.6 Tự động sửa lỗi kết nối

Replication instance tự retry khi bị gián đoạn mạng.

3. Kiến trúc hoạt động của AWS DMS

AWS DMS bao gồm 3 thành phần chính:

1. Source Endpoint

Database nguồn (on-prem/cloud).

2. Target Endpoint

Database đích (AWS hoặc hệ thống khác).

3. Replication Instance

Máy chủ trung gian chạy task migration.

Luồng hoạt động:

  1. DMS kết nối DB nguồn và DB đích.
  2. Thực hiện Full Load dữ liệu nguồn vào đích.
  3. Bật CDC để đồng bộ thay đổi trong thời gian thực.
  4. Khi dữ liệu đã sync 100%, có thể cắt sang database mới mà không cần downtime dài.

4. Use Cases – Tình huống sử dụng thực tế

4.1 Cloud Migration từ on-premises lên AWS

  • Oracle Local → Amazon RDS for Oracle
  • SQL Server Local → Amazon Aurora

4.2 Modernize database (chuyển đổi engine)

  • Oracle → PostgreSQL
  • SQL Server → Aurora PostgreSQL
  • MySQL → Aurora MySQL

4.3 High Availability Replication

DMS có thể replicate real-time để:

  • Xây dựng hệ thống DR
  • Sao chép DB sang region khác

4.4 Data Lake ingestion

DB → S3 để phục vụ:

  • Data lake
  • ML training
  • BI / Analytics

4.5 Cross-region migration

Ví dụ:

  • RDS MySQL (Tokyo) → RDS MySQL (Singapore)

5. Lợi ích của AWS DMS

✔ Gần như không downtime

Ứng dụng vẫn chạy khi đang migration.

✔ Dễ dàng

Không cần code hoặc quy trình phức tạp.

✔ Hỗ trợ nhiều database

Từ SQL truyền thống đến NoSQL.

✔ An toàn & bảo mật

TLS, KMS encryption, IAM.

✔ Chi phí thấp

Bạn chỉ trả tiền cho replication instance theo giờ chạy.

✔ Độ tin cậy cao

Tự retry, tự ghi log lỗi, dễ monitoring.

6. Best Practices – Thực hành tốt

6.1 Dùng Multi-AZ cho replication instance

Tăng độ sẵn sàng.

6.2 Sử dụng loại instance phù hợp

  • Dữ liệu lớn → r5, m5
  • Workload nặng → c5

6.3 Bật validation

DMS có thể so sánh dữ liệu sau migration để đảm bảo chính xác.

6.4 Tối ưu performance

  • Tăng allocated storage SSD cho DMS
  • Sử dụng lớn hơn 1 task
  • Tăng maxFullLoadSubTasks

6.5 Sử dụng SCT (AWS Schema Conversion Tool)

DMS không chuyển schema, nên hãy dùng SCT để convert:

  • bảng
  • index
  • trigger
  • function

6.6 Kiểm tra network

Latency cao → performance migration thấp.

7. Pricing – Chi phí AWS DMS

Chi phí chủ yếu dựa vào Replication Instance, tính theo giờ:

Instance Giá trung bình Lưu ý
dms.t3.micro rẻ nhất phù hợp POC
dms.r5.large trở lên cao hơn phù hợp hàng trăm GB – TB

Các chi phí khác

  • Lưu trữ nhật ký Change Data Capture
  • Data transfer cross-region
  • S3 hoặc DB đích lưu trữ

Không có chi phí license, không có phí task.

8. So sánh với các dịch vụ tương tự

Dịch vụ Mục đích Điểm mạnh Hạn chế
AWS DMS Migration database + CDC Không downtime, nhiều DB Không chuyển schema
AWS SCT Convert schema DB Hỗ trợ heterogeneous Không migrate dữ liệu
AWS DataSync Di chuyển file/directory Tốc độ cao Không phù hợp database
RDS Migration Wizard Migrate RDS → RDS Dễ dùng Chỉ hỗ trợ RDS
Backup & Restore Sao lưu / phục hồi Nhanh Thường có downtime cao

9. Kết luận

AWS Database Migration Service (AWS DMS) là công cụ mạnh mẽ dành cho:

  • Cloud migration
  • Chuyển đổi database engine
  • Xây dựng hệ thống DR
  • Đồng bộ dữ liệu DB real-time
  • Tạo data lake

Đối với DevOps, việc sử dụng DMS giúp giảm đáng kể:

  • downtime
  • rủi ro mất dữ liệu
  • công sức triển khai
  • chi phí vận hành

Nếu bạn đang chuẩn bị di chuyển database lên AWS hoặc hiện đại hóa hệ thống, AWS DMS gần như là công cụ bắt buộc phải dùng. Nếu bạn muốn, tôi có thể viết thêm: