S3 Transfer Acceleration là tính năng giúp tăng tốc việc upload/download files từ/đến S3 bucket qua long distances (khoảng cách xa) bằng cách sử dụng mạng AWS Edge Locations của CloudFront.
WITHOUT Transfer Acceleration:┌─────────────┐ ┌─────────────┐│ User │ ────── Public Internet (slow) ──────────► │ S3 Bucket ││ (Vietnam) │ ~200ms RTT │ (us-east-1)│└─────────────┘ └─────────────┘WITH Transfer Acceleration:┌─────────────┐ ┌─────────────┐ ┌─────────────┐│ User │ ──► │ Edge Location│ ══ AWS Backbone ═══► │ S3 Bucket ││ (Vietnam) │ │ (Singapore) │ (optimized) │ (us-east-1)│└─────────────┘ └─────────────┘ └─────────────┘ ~20ms Fast private network
TRANSFER ACCELERATION (download):Client ◄── Edge ◄── Backbone ◄── S3 ▲ MỖI request đều fetch từ S3 → Phí mỗi lần downloadCLOUDFRONT (download):Client ◄── Edge (CACHE HIT) ◄─┘ │ Trả về từ cache → Không cần đến S3!
✅ NÊN dùng:- Download file UNIQUE (không lặp lại) VD: User download backup riêng của họ- File thay đổi liên tục (cache không hiệu quả)- Download 1 lần duy nhất, cần nhanh❌ KHÔNG NÊN dùng:- Download cùng file nhiều lần → CloudFront- Static assets (images, CSS, JS) → CloudFront - Public content được nhiều users access → CloudFront
Scenario: Download 100 GB từ S3 us-east-1 → Vietnam┌─────────────────────────────────────────────────┐│ Standard S3 Data Transfer OUT: $0.09 × 100 = $9││ Transfer Acceleration fee: $0.04 × 100 = $4││ ─────────────────────────────────── ││ TOTAL: $13.00 ││ ││ So sánh: CloudFront có thể rẻ hơn nếu content ││ được cache và download nhiều lần! │└─────────────────────────────────────────────────┘
Cho file lớn (> 100MB), LUÔN kết hợp Transfer Acceleration với Multipart Upload:
Single upload:┌───────────────────────────────────────────────┐│ 5 GB file ────────────────────────────────► ││ Nếu fail giữa chừng → upload lại từ đầu │└───────────────────────────────────────────────┘Multipart + Acceleration:┌───────────────────────────────────────────────┐│ Part 1 (100MB) ═══► ││ Part 2 (100MB) ═══► Parallel upload ││ Part 3 (100MB) ═══► qua Edge locations ││ ... ││ Nếu 1 part fail → retry chỉ part đó │└───────────────────────────────────────────────┘