🚀 TỔNG HỢP KIẾN THỨC AMAZON CLOUDFRONT & AWS GLOBAL INFRASTRUCTURE
Hôm nay, chúng ta sẽtập trung vào Amazon CloudFront và AWS Global Accelerator, hai dịch vụ được xây dựng trên hạ tầng toàn cầu của AWS để tăng tốc phân phối nội dung và giảm độ trễ cho người dùng toàn cầu.
🌍 1. Amazon CloudFront là gì?
CloudFront là một CDN (Content Delivery Network) của AWS.
Nhiệm vụ chính:
Hiện CloudFront có hơn 216 điểm Edge trên toàn thế giới.
CloudFront đặc biệt phù hợp cho:
🗂 2. CloudFront Origin – Nguồn dữ liệu cho CDN
CloudFront có thể lấy dữ liệu từ 2 nhóm nguồn chính: ⭐ 1. S3 Bucket
Gồm:
CloudFront sẽ đứng trung gian giữa người dùng và các nguồn origin này.
🌐 3. Cách CloudFront hoạt động (Ở mức tổng quan)
Quy trình cơ bản:
🏖 4. CloudFront khi dùng S3 làm Origin
Tài liệu minh họa việc các Edge ở Los Angeles, Mumbai, Melbourne, São Paulo truy cập dữ liệu từ một S3 bucket duy nhất thông qua OAC.
Ưu điểm:
🔄 5. CloudFront vs S3 Cross Region Replication
Tài liệu nhấn mạnh sự khác biệt rõ ràng: ⭐ CloudFront
🖥 6. CloudFront với ALB hoặc EC2 làm Origin
Để CloudFront kết nối với backend:
🌎 7. CloudFront Geo Restriction
CloudFront cho phép giới hạn quốc gia truy cập nội dung:
💰 8. CloudFront Pricing – Chi phí theo khu vực
Chi phí CloudFront khác nhau tùy theo vị trí Edge.
Để tối ưu chi phí, AWS cung cấp Price Classes:
♻️ 9. CloudFront Cache Invalidation
Khi backend cập nhật nội dung, CloudFront chưa chắc biết ngay. Nó chỉ update sau khi TTL hết hạn.
Nếu cần cập nhật ngay:
➡ Dùng Invalidation để xóa cache tại edge.
Có thể:
🌍 10. Global Users – Vấn đề độ trễ toàn cầu
Người dùng ở nhiều quốc gia khác nhau truy cập ứng dụng qua Internet công cộng → phải qua rất nhiều “hops”, gây độ trễ cao.
Chúng ta cần giải pháp đưa traffic đi nhanh nhất vào mạng AWS.
📡 11. Unicast vs Anycast IP
Tài liệu giải thích: ⭐ Unicast
Anycast chính là nền tảng hoạt động của AWS Global Accelerator.
⚡ 12. AWS Global Accelerator
Global Accelerator dùng mạng nội bộ AWS để tăng tốc truy cập.
Đặc điểm:
⚔️ 13. AWS Global Accelerator vs CloudFront
Dù đều dùng mạng edge toàn cầu, nhưng khác nhau: ⭐ CloudFront
Nói cách khác:
🚀 KẾT LUẬN
File đã tổng hợp toàn bộ kiến thức về CloudFront và Global Accelerator – hai dịch vụ giúp hệ thống đạt hiệu năng toàn cầu, độ trễ thấp và độ ổn định cao.
Nắm vững phần này giúp bạn:
Hôm nay, chúng ta sẽtập trung vào Amazon CloudFront và AWS Global Accelerator, hai dịch vụ được xây dựng trên hạ tầng toàn cầu của AWS để tăng tốc phân phối nội dung và giảm độ trễ cho người dùng toàn cầu.
🌍 1. Amazon CloudFront là gì?
CloudFront là một CDN (Content Delivery Network) của AWS.
Nhiệm vụ chính:
- Cải thiện tốc độ đọc dữ liệu cho người dùng
- Cache nội dung tại các edge location (điểm hiện diện toàn cầu)
- Tăng trải nghiệm truy cập
- Hỗ trợ DDoS protection thông qua tích hợp với AWS Shield & WAF
Hiện CloudFront có hơn 216 điểm Edge trên toàn thế giới.
CloudFront đặc biệt phù hợp cho:
- Ảnh, video
- Nội dung tĩnh
- Tài nguyên web
- API tĩnh hoặc động
🗂 2. CloudFront Origin – Nguồn dữ liệu cho CDN
CloudFront có thể lấy dữ liệu từ 2 nhóm nguồn chính: ⭐ 1. S3 Bucket
- Dùng để phân phối file, cache nội dung tại edge.
- Bảo mật nâng cao nhờ CloudFront Origin Access Control (OAC) – thay thế OAI.
- OAC giúp CloudFront truy cập bucket mà không cần mở public.
- CloudFront cũng có thể dùng làm kênh upload nội dung ngược vào S3.
Gồm:
- Application Load Balancer
- EC2 Instance
- S3 website (phải bật Static Website Hosting trước)
- Bất kỳ backend HTTP nào khác
CloudFront sẽ đứng trung gian giữa người dùng và các nguồn origin này.
🌐 3. Cách CloudFront hoạt động (Ở mức tổng quan)
Quy trình cơ bản:
- Người dùng gửi request đến CloudFront (ví dụ: GET /beach.jpg?size=300x300).
- CloudFront kiểm tra cache tại Edge Location gần nhất.
- Nếu có → trả kết quả ngay.
- Nếu không → CloudFront gửi request về origin (S3 hoặc HTTP).
- Sau đó CloudFront cache lại nội dung tại edge để phục vụ các request tiếp theo.
🏖 4. CloudFront khi dùng S3 làm Origin
Tài liệu minh họa việc các Edge ở Los Angeles, Mumbai, Melbourne, São Paulo truy cập dữ liệu từ một S3 bucket duy nhất thông qua OAC.
Ưu điểm:
- S3 không cần public
- CloudFront đóng vai trò mặt trước (front-end) phân phối nội dung
- Người dùng toàn cầu truy cập gần như ngay lập tức nhờ cache
🔄 5. CloudFront vs S3 Cross Region Replication
Tài liệu nhấn mạnh sự khác biệt rõ ràng: ⭐ CloudFront
- Mạng edge toàn cầu
- Cache dữ liệu theo TTL (thường vài giờ – vài ngày)
- Phù hợp nội dung tĩnh, phổ biến toàn cầu
- Không phải là bản sao thật của S3, chỉ là cache
- Cần thiết lập riêng cho từng region
- Dữ liệu được sao chép gần như thời gian thực
- Chỉ để đọc, không cache
- Phù hợp nội dung động, cần cập nhật nhanh ở vài khu vực cụ thể
🖥 6. CloudFront với ALB hoặc EC2 làm Origin
Để CloudFront kết nối với backend:
- Load Balancer phải mở public để CloudFront truy cập
- EC2 có thể đặt private (qua ALB) hoặc public
- Cần cho phép public IP của Edge Location truy cập Security Group
- AWS cung cấp danh sách IP CloudFront để cấu hình firewall
🌎 7. CloudFront Geo Restriction
CloudFront cho phép giới hạn quốc gia truy cập nội dung:
- Allowlist: chỉ cho phép một số quốc gia truy cập
- Blocklist: cấm các quốc gia nhất định
- Dựa vào dữ liệu geo-IP của bên thứ 3
- Thường dùng để tuân thủ bản quyền nội dung số
💰 8. CloudFront Pricing – Chi phí theo khu vực
Chi phí CloudFront khác nhau tùy theo vị trí Edge.
Để tối ưu chi phí, AWS cung cấp Price Classes:
- Price Class All → toàn bộ edge, hiệu năng tốt nhất
- Price Class 200 → hầu hết edge nhưng bỏ khu vực đắt nhất
- Price Class 100 → chỉ các khu vực rẻ, chi phí thấp nhất
♻️ 9. CloudFront Cache Invalidation
Khi backend cập nhật nội dung, CloudFront chưa chắc biết ngay. Nó chỉ update sau khi TTL hết hạn.
Nếu cần cập nhật ngay:
➡ Dùng Invalidation để xóa cache tại edge.
Có thể:
- Invalidate toàn bộ: /*
- Invalidate một phần: /images/*
🌍 10. Global Users – Vấn đề độ trễ toàn cầu
Người dùng ở nhiều quốc gia khác nhau truy cập ứng dụng qua Internet công cộng → phải qua rất nhiều “hops”, gây độ trễ cao.
Chúng ta cần giải pháp đưa traffic đi nhanh nhất vào mạng AWS.
📡 11. Unicast vs Anycast IP
Tài liệu giải thích: ⭐ Unicast
- Một IP → một server
- Người dùng luôn đi về server cố định → có thể xa → chậm
- Nhiều server cùng giữ 1 IP
- Request được điều hướng đến server gần nhất
- Giảm độ trễ đáng kể
Anycast chính là nền tảng hoạt động của AWS Global Accelerator.
⚡ 12. AWS Global Accelerator
Global Accelerator dùng mạng nội bộ AWS để tăng tốc truy cập.
Đặc điểm:
- Cấp cho bạn 2 địa chỉ Anycast IP
- Người dùng gửi request → edge gần nhất nhận → forward qua mạng AWS đến ứng dụng
- Hỗ trợ: Elastic IP, EC2, ALB, NLB, private hoặc public
- Có health checks tự động
- Chuyển vùng (failover) nhanh hơn 1 phút
- Bảo mật nhờ AWS Shield
- Chỉ cần whitelist 2 IP duy nhất
⚔️ 13. AWS Global Accelerator vs CloudFront
Dù đều dùng mạng edge toàn cầu, nhưng khác nhau: ⭐ CloudFront
- Tối ưu cho cacheable content: ảnh, video, file static
- Tối ưu API động cũng được
- Nội dung được phục vụ ngay tại edge
- Chủ yếu cho HTTP/HTTPS
- Tối ưu cho ứng dụng TCP hoặc UDP, không chỉ HTTP
- Hỗ trợ game, IoT, VoIP
- Phù hợp các ứng dụng cần static IP
- Chuyển vùng cực nhanh
- Chuyển packet qua edge, không cache nội dung
Nói cách khác:
- Nếu bạn muốn tăng tốc nội dung → CloudFront
- Nếu bạn muốn tăng tốc kết nối → Global Accelerator
🚀 KẾT LUẬN
File đã tổng hợp toàn bộ kiến thức về CloudFront và Global Accelerator – hai dịch vụ giúp hệ thống đạt hiệu năng toàn cầu, độ trễ thấp và độ ổn định cao.
Nắm vững phần này giúp bạn:
- Thiết kế kiến trúc cloud tối ưu
- Tối ưu phân phối nội dung
- Tối ưu game, IoT, VoIP
- Chuẩn bị cho kỳ thi AWS SAA, DevOps, Architect