Trang chủ Kiến Thức Công Nghệ Cloudfront là gì? Những kiến thức cơ bản developer phải biết về Cloudfront
Công Nghệ

Cloudfront là gì? Những kiến thức cơ bản developer phải biết về Cloudfront

Chia sẻ
Cloudfront là gì? Những kiến thức cơ bản developer phải biết về Cloudfront
Chia sẻ

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,…
Cloudfront là gì

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.
Tại sao nên dùng AWS Cloudfront

3. Cloudfront hoạt động như thế nào?

  1. Người dùng gửi request, yêu cầu này có thể là truy cập vào website, download file,….
  2. Tiếp đó, DNS định tuyến yêu cầu của người dùng tới AWS Cloudfront.
  3. 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.
  4. Ở 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.

Cloudfront hoạt động như thế nào

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

  1. 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.
  2. 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ả.
  3. 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.
  4. 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.
Chi phí sử dụng Cloudfront

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:

  • CDN là gì? Các kiến thức cần biết về CDN
  • AWS là gì? Top những services AWS được sử dụng nhiều nhất
  • Bảo mật thông tin: Cách lưu trữ mật khẩu trong Database một cách an toàn
  • ArgoCD là gì? Những điều bạn cần biết về ArgoCD
  • Jenkins là gì? Ứng dụng Jenkins vào công việc như thế nào?
Bài viết cùng chuyên mục
Tối ưu ứng dụng với cấu trúc dữ liệu cơ bản và bitwise
Công Nghệ

Tối ưu ứng dụng với cấu trúc dữ liệu cơ bản và bitwise

Trong bài viết này, 200Lab sẽ chia sẻ những trường hợp dễ...

Công Nghệ

So sánh Flutter vs React Native: Framework nào đáng học năm 2021

Điểm chung của Flutter, React Native đều là Cross-platform Mobile, build native...

HTTP/2 là gì? So sánh HTTP/2 và HTTP/1
Công Nghệ

HTTP/2 là gì? So sánh HTTP/2 và HTTP/1

Từ khi Internet ra đời, sự phát triển về các giao thức...

Upload File từ Frontend đến Backend mà rất nhiều bạn vẫn đang làm sai!!
Công Nghệ

Upload File từ Frontend đến Backend mà rất nhiều bạn vẫn đang làm sai!!

1. Client encode file (base64) rồi gởi về backend 200Lab đã từng...

Công Nghệ

React Native – Hướng dẫn làm việc với Polyline và Animated-Polyline trên Map

Vẽ đường đi trên bản đồ là một nghiệp vụ vô cùng...

Công Nghệ

Hybrid App và Native App: Những khác biệt to lớn

Bất cứ khi nào một công ty quyết định làm ứng dụng...

Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới
Công Nghệ

Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới

Đây là một kiến trúc cơ bản mà bất kì một người...

Công Nghệ

Tư duy kiến trúc thông qua các trò chơi mà rất nhiều bạn không biết

Tư duy kiến trúc là gì? Tư duy kiến trúc có thể...