</>Học Dev
Bài học

Tuần 2 - Ngày 4: AWS DataSync và Transfer Family

Tuần 2 – Ngày 4

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.

ON-PREMISESAWSTLS,nén,NFS/SMBverifyS3(miclass)HDFSEFSObjectstorageDataSyncAGENTFSx(Windows,(self-managed)(VMtich)Lustre,ONTAP..)AWSAWS(S3S3cross-account/region,S3EFS...):khôngcnagent

Đặ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.

Đitác/kháchhàngSFTP/FTPS/AS2TransferFamilyendpointS3bucket(managed,HA,scale)(rawzone)IAMroleperuser,customidentityprovider(Lambda/APIGW,AD,service-managed)

Đặ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

DataSyncTransfer FamilySnowball EdgeS3 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/AS2Petabyte / mạng yếu, offlineScript ad-hoc, app tự ghi
Ai khởi tạoBạ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ôngThiết bị AWS gửi tớiKhông
IncrementalN/A (push từng file)Không (one-shot)Tự viết
Verify dữ liệuCó (checksum)TLSTự 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

  1. 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.

  2. 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.

  3. 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ý.

  4. 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.

  5. 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