[AWS] Chapter 13: AWS CloudFront
Xin chào các bạn, trong bài blogs này chúng ta sẽ tìm hiểu về AWS CloudFront, một dịch vụ CDN (Content Delivery Network) của AWS.
I. CDN là gì?
Mạng phân phối nội dung (CDN - Content Delivery Network) là một hệ thống các máy chủ phân phối nội dung từ các vị trí địa lý khác nhau nhằm cải thiện tốc độ tải trang và hiệu suất của các ứng dụng. CDN lưu trữ bản sao của nội dung trên các máy chủ phân tán, giúp giảm độ trễ và tăng tốc độ tải trang cho người dùng bằng cách phục vụ nội dung từ máy chủ gần nhất với người dùng.
II. AWS CloudFront
1. Overview
- Amazon CloudFront là một dịch vụ CDN của AWS, cải thiện hiệu suất đọc nội dung bằng cách lưu trữ nội dung tại các điểm phân phối gần người dùng.
- CloudFront có 216 điểm hiện diện toàn cầu (edge locations), cung cấp khả năng bảo vệ DDoS và tích hợp với AWS Shield và AWS Web Application Firewall.
- Dịch vụ này giúp nâng cao trải nghiệm người dùng và cải thiện tốc độ tải trang cho các ứng dụng.
2. Origin
- S3 bucket: Phân phối và cache file tại edge.
- Custom Origin (HTTP): Bao gồm Application Load Balancer, EC2 instance, S3 website (phải bật chế độ static website), và bất kỳ backend HTTP nào.
- CloudFront Origin Access Control (OAC): Tăng cường bảo mật, thay thế cho Origin Access Identity (OAI).
- CloudFront có thể được sử dụng để upload file lên S3. 3. Geo Restriction
- Hạn chế truy cập vào distribution dựa trên vị trí địa lý.
- Allowlist: Chỉ cho phép truy cập từ các quốc gia trong danh sách cho phép.
- Blocklist: Ngăn chặn truy cập từ các quốc gia trong danh sách cấm.
- Xác định quốc gia dựa trên cơ sở dữ liệu Geo-IP của bên thứ ba.
- Ứng dụng: Kiểm soát truy cập nội dung theo luật bản quyền.
4. Price Classes
- Ba lớp giá:
- Price Class All: Tất cả các khu vực - hiệu suất tốt nhất.
- Price Class 200: Hầu hết các khu vực, trừ những khu vực đắt nhất.
- Price Class 100: Chỉ những khu vực rẻ nhất.
5. Cache Invalidation
- Khi backend origin được cập nhật, CloudFront không biết và chỉ lấy nội dung mới sau khi TTL hết hạn.
- Có thể buộc refresh cache toàn bộ hoặc một phần bằng cách thực hiện CloudFront Invalidation.
- Có thể invalidate tất cả file () hoặc một đường dẫn cụ thể (/images/).
III. Global Accelerator
- AWS Global Accelerator sử dụng mạng nội bộ của AWS để định tuyến đến ứng dụng của bạn.
- Tạo ra 2 Anycast IP cho ứng dụng, gửi traffic trực tiếp đến các Edge Location và từ đó đến ứng dụng của bạn.
- Hoạt động với Elastic IP, EC2 instances, ALB, NLB, public hoặc private.
- Hiệu suất nhất quán, định tuyến thông minh với độ trễ thấp và failover nhanh.
- Không gặp vấn đề với cache của client vì IP không thay đổi.
- Thực hiện health check cho ứng dụng, giúp ứng dụng toàn cầu với failover dưới 1 phút.
- Bảo mật với chỉ 2 IP cần được whitelist và bảo vệ DDoS nhờ AWS Shield.
So sánh AWS Global Accelerator và CloudFront
- Cả hai đều sử dụng mạng lưới toàn cầu của AWS và các edge location.
- CloudFront:
- Cải thiện hiệu suất cho nội dung có thể cache (hình ảnh, video) và nội dung động (API, dynamic site delivery).
- Nội dung được phục vụ tại edge.
- Global Accelerator:
- Cải thiện hiệu suất cho nhiều loại ứng dụng qua TCP hoặc UDP.
- Proxying packets tại edge đến các ứng dụng chạy trong một hoặc nhiều AWS Regions.
- Phù hợp cho các trường hợp không phải HTTP như gaming (UDP), IoT (MQTT), hoặc Voice over IP.
- Tốt cho các trường hợp HTTP yêu cầu địa chỉ IP tĩnh và failover nhanh.
Bài Viết Liên Quan
[AWS] Chapter 12: AWS S3 Hands On
Xin chào tất cả các bạn, trong bài blogs này, chúng ta sẽ thực hành về AWS S3 nhé. Let’s go!
Đọc Thêm[AWS] Chapter 11: AWS S3 Advanced (Phần 2)
Xin chào tất cả các bạn, lại là mình đây. Trong bài blogs này, chúng ta sẽ tiếp tục tìm hiểu về những tính năng nâng cao của AWS S3.
Đọc Thêm[AWS] Chapter 10: AWS S3 Advanced
Xin chào các bạn, trong bài blogs này, chúng ta sẽ tìm hiểu về những tính năng nâng cao của AWS S3.
Đọc Thêm