Mục tiêu học tập
- Hiểu DataSync: agent, task, các nguồn/đích hỗ trợ, lịch đồng bộ
- Hiểu Transfer Family: SFTP/FTPS/FTP/AS2 managed endpoint vào S3/EFS
- Phân biệt DataSync vs Transfer Family vs Snowball vs S3 CLI
- Chọn đúng công cụ chuyển file vào data lake theo tình huống
1. AWS DataSync
Khái niệm
Dịch vụ chuyển dữ liệu file/object số lượng lớn, tự động và có lịch giữa on-premises ↔ AWS hoặc giữa các storage AWS.
Đặc điểm chính
- Agent: VM (VMware/Hyper-V/KVM/EC2) đặt gần nguồn on-prem; AWS↔AWS không cần agent
- Tự động: scheduling (tối thiểu mỗi giờ), incremental (chỉ chuyển phần thay đổi), retry, data verification (checksum), giữ metadata/permissions (POSIX/SMB ACL)
- Băng thông: throttling được; 1 task tới 10 Gbps
- Filters (include/exclude pattern) để chọn file
- Chạy qua Internet (TLS) hoặc Direct Connect/VPN với VPC endpoint
- Billing theo GB chuyển
Use case DEA điển hình
- Đồng bộ định kỳ file server on-prem (NFS/SMB) vào S3 raw zone
- Migrate HDFS của Hadoop cluster on-prem vào S3 (modernize sang EMR/Glue)
- Chuyển dữ liệu giữa S3 buckets cross-account/cross-region có verify
2. AWS Transfer Family
Khái niệm
Managed endpoint SFTP / FTPS / FTP / AS2 để đối tác bên ngoài upload/download file, lưu thẳng vào S3 hoặc EFS — thay thế SFTP server tự vận hành.
Đặc điểm chính
- Không quản lý server; endpoint public hoặc trong VPC (internal)
- Xác thực: service-managed (SSH key), custom identity provider (Lambda — tích hợp LDAP/DB), AWS Directory Service
- Mỗi user map tới IAM role + home directory (prefix S3) — cô lập đối tác
- AS2 cho EDI B2B (bán lẻ, logistics)
- Billing: theo giờ endpoint + GB truyền → đắt nếu bật 24/7 mà ít dùng
- Kết hợp S3 event → khi đối tác upload xong, trigger Glue/Lambda xử lý (event-driven ingestion)
3. So sánh các phương án chuyển file
| DataSync | Transfer Family | Snowball Edge | S3 CLI/SDK | |
|---|---|---|---|---|
| Kịch bản | Đồng bộ storage↔storage số lượng lớn, có lịch | Đối tác ngoài gửi file qua SFTP/AS2 | Petabyte / mạng yếu, offline | Script ad-hoc, app tự ghi |
| Ai khởi tạo | Bạn (task) | Đối tác (client SFTP) | Vận chuyển vật lý | Bạn |
| Agent/thiết bị | Agent VM (on-prem) | Không | Thiết bị AWS gửi tới | Không |
| Incremental | Có | N/A (push từng file) | Không (one-shot) | Tự viết |
| Verify dữ liệu | Có (checksum) | TLS | Có | Tự viết |
Quy tắc chọn nhanh
- "Partner/vendor gửi file bằng SFTP" → Transfer Family
- "Đồng bộ NFS/SMB/HDFS on-prem vào S3 định kỳ" → DataSync
- "Hàng trăm TB, băng thông hạn chế, deadline" → Snowball Edge (quy tắc thô: nếu truyền mạng mất > 1 tuần, cân nhắc Snowball)
- "Ứng dụng nội bộ ghi thẳng" → SDK/CLI (multipart upload, Transfer Acceleration nếu xa)
Storage Gateway thì sao?
File Gateway dành cho hybrid access liên tục (on-prem mount NFS/SMB, cache local, data nằm S3) — không phải công cụ migration/batch transfer. Đề nói "tiếp tục dùng file share on-prem nhưng data trên S3" → File Gateway; "chuyển/đồng bộ dữ liệu vào S3" → DataSync.
4. Amazon AppFlow (giới thiệu — chi tiết ngày mai)
Chuyển dữ liệu SaaS (Salesforce, SAP, Google Analytics, ServiceNow...) vào S3/Redshift không code — ngày mai học kỹ cùng các pattern ingestion còn lại.
Câu hỏi ôn tập
-
Công ty cần đồng bộ 50TB từ NFS on-prem vào S3, chạy hàng đêm, chỉ chuyển file thay đổi, có verify. Giải pháp?
Xem đáp án
AWS DataSync: cài agent VM cạnh NFS server, tạo task S3 destination, schedule nightly. DataSync tự incremental (chỉ file thay đổi), checksum verification, nén và song song hóa — đúng cả 3 yêu cầu mà không phải viết script. S3 CLI/rsync tự quản không có verify/managed scheduling; Snowball chỉ hợp one-shot.
-
Hàng chục đối tác bán lẻ gửi file đơn hàng qua SFTP mỗi ngày. Cách nhận file vào data lake ít vận hành nhất?
Xem đáp án
AWS Transfer Family (SFTP) endpoint ghi thẳng vào S3: mỗi đối tác một user + home prefix riêng, không phải vận hành SFTP server EC2. Kết hợp S3 event notification để trigger pipeline xử lý khi file đến. Đề nhấn "partner + SFTP" gần như chắc chắn là Transfer Family.
-
Migrate 500TB từ data center có đường truyền 100 Mbps, cần xong trong 1 tháng. Giải pháp?
Xem đáp án
100 Mbps ≈ ~1TB/ngày lý thuyết → 500TB cần 500+ ngày qua mạng — không kịp. Dùng AWS Snowball Edge (mỗi thiết bị ~80TB usable, đặt nhiều thiết bị song song), sau đó dùng DataSync/DMS CDC đồng bộ phần thay đổi phát sinh. Quy tắc: thời gian truyền mạng tính bằng tuần/tháng → chuyển sang thiết bị vật lý.
-
DataSync khác File Gateway (Storage Gateway) thế nào?
Xem đáp án
DataSync = công cụ chuyển/đồng bộ dữ liệu (task chạy theo lịch, một chiều mỗi lần chạy) — dùng cho migration và ingestion định kỳ. File Gateway = truy cập hybrid liên tục: on-prem mount share NFS/SMB, dữ liệu lưu S3, cache local cho file hay đọc. "Move data" → DataSync; "keep using on-prem file share backed by S3" → File Gateway.
-
Transfer Family xác thực user bằng những cách nào khi công ty muốn dùng LDAP nội bộ?
Xem đáp án
Ba lựa chọn: (1) service-managed (SSH public key, quản trong Transfer Family), (2) AWS Directory Service (AD), (3) custom identity provider — Lambda (hoặc API Gateway) nhận request auth và kiểm tra với hệ thống bất kỳ như LDAP/database nội bộ. Với LDAP → custom identity provider bằng Lambda.
Bài tập thực hành
- Tạo DataSync task S3→S3 giữa 2 bucket (không cần agent) và chạy thử với filter include
*.csv - Tính thời gian truyền 100TB qua đường 1 Gbps (gợi ý: ~10 ngày lý thuyết) — kết luận có cần Snowball không
- Phác thảo kiến trúc Transfer Family SFTP → S3 raw → S3 event → Glue workflow
- Đọc bảng DataSync supported locations
Tài liệu tham khảo chính thức
Tiếp theo: AppFlow và tổng kết các pattern batch ingestion