1. AWS Cloudfront là gì?
- AWS Cloudfront là dịch vụ CDN (Content Delivery Network) giúp tăng tốc độ phân phối nội dung web tĩnh (chủ yếu là S3) và động (EC2 cho tĩnh/động) cho người dùng.
- Cloudfront phân phối và lưu trữ data (dữ liệu) thông qua các điểm truy cập mạng toàn thế giới, được gọi là Edge locations.
- Các tài nguyên Amazon Cloudfront hỗ trợ như: hình ảnh, JS file, video streaming,...
2. Tại sao nên sử dụng Cloudfront?
- Việc phân phối nội dung từ các edge locations gần với người dùng, Cloudfront giảm độ trễ và tăng tốc độ tải cho trang web.
- Lưu trữ nội dung tại edge locations, Cloudfront giảm tải cho server gốc, giúp tiết kiệm chi phí băng thông.
- Cloudfront cung cấp các tính năng bảo mật: như mã hóa SSL/TLS, kiểm soát truy cập và bảo vệ, chống lại các cuộc tấn công DDoS.
- Cloudfront tích hợp tốt với các dịch vụ khác của AWS như S3, EC2,... giúp bạn dễ dàng triển khai ứng dụng.
3. Cloudfront hoạt động như thế nào?
- Người dùng gửi request, yêu cầu này có thể là truy cập vào website, download file,....
- Tiếp đó, DNS định tuyến yêu cầu của người dùng tới AWS Cloudfront.
- Lúc này, Cloudfront kết nối với các vị trí biên gần nhất để phục vụ yêu cầu của người dùng.
- Ở vị trí biên (edge locations), Cloudfront sẽ kiểm tra xem nội dung được yêu cầu đã có trong bộ nhớ cache hay chưa.
- Nếu nội dung đã có sẵn: Edge locations sẽ trả về nội dung cho người dùng ngay lập tức.
- Nếu nội dung chưa có sẵn: Edge locations sẽ lấy nội dung từ server gốc, lưu trữ trong bộ nhớ cache, sau đó sẽ trả về cho người dùng.
* Lưu trữ nội dung: Nội dung sẽ được lưu trữ tại edge locations trong một khoảng thời gian xác định trước (TTL - Time-to-Live) để phục vụ các yêu cầu trong tương lai.
4. Các cơ chế bảo mật của AWS Cloudfront
- AWS Web Application Firewall (WAF), AWS Shield: Được dùng để bảo vệ ứng dụng khỏi các lỗ hổng và cuộc tấn công DDoS.
- Geo Restriction: Chặn các yêu cầu đến từ khu vực cụ thể.
- SSL/TLS và HTTPs: Mã hóa dữ liệu truyền tải giữa người dùng và Cloudfront, đảm bảo an toàn.
- Field-level encryption: Mã hóa trường dữ liệu, để bảo vệ thông tin nhạy cảm.
- Invalidiation API: Loại bỏ một số Objects khỏi bộ nhớ đệm, nhưng không thể invalid objects của RTMP (Real-Time Messaging Protocol) distribution.
5. Các trường hợp nên sử dụng AWS Cloudfront
- Cải thiện hiệu suất ứng dụng web, bằng việc giảm thời gian phản hồi => tăng trải nghiệm người dùng.
- Phân phối video, âm nhạc, và các nội dung đa phương tiện khác một cách nhanh chóng và hiệu quả.
- Tăng tốc độ phản hồi cho các API, bằng cách lưu trữ kết quả tại các điểm biên gần người dùng => giảm tải cho server gốc.
- Bảo vệ ứng dụng và dữ liệu khỏi các cuộc tấn công DDoS và các mối đe dọa bảo mật khác.
6. AWS CloudFront Pricing
Chi phí sử dụng Cloudfront sẽ phụ thuộc vào những yếu tố sau:
- Lượng dữ liệu được truyền từ Cloudfront tới người dùng của bạn. Chi phí này sẽ thay đổi tùy theo khu vực địa lý - nơi nội dung được phân phối.
- Lượng yêu cầu HTTP và HTTPS được gửi tới Cloudfront càng nhiều thì chi phí sẽ càng cao.
- Chi phí cũng bao gồm các dịch vụ bổ sung như AWS Lambda@Edge để chạy mã tại điểm biên.
7. Kết luận
Qua bài viết trên, hy vọng rằng bạn đã hoàn toàn nắm được những kiến thức cơ bản về AWS Cloudfront: khái niệm, cơ chế hoạt động, chi phí sử dụng để bạn cân nhắc,...
Bạn có thể sẽ quan tâm đến một số các bài viết với các chủ đề khác dưới đây:
Bài viết liên quan
Grafana Loki là gì? So sánh Loki và Elasticsearch
Nov 16, 2024 • 6 min read
Webhook là gì? So sánh Webhook và API
Nov 15, 2024 • 8 min read
Two-Factor Authentication (2FA) là gì? Vì sao chỉ Mật khẩu thôi là chưa đủ?
Nov 13, 2024 • 7 min read
ELK là gì? So sánh hiệu suất giữa ELK và PLG
Nov 06, 2024 • 9 min read
Docker Best Practices: Tối ưu Dung lượng Docker Image
Oct 30, 2024 • 8 min read
SQL Injection là gì? Những cách phòng ngừa SQL Injection
Oct 25, 2024 • 10 min read