Cải thiện trải nghiệm của người dùng, nội dung trang web sẽ được cache ở các edge location, giúp cho việc load trang trở nên nhanh hơn
Hỗ trợ ngăn chặn DDoS
Origins
S3 buckets
Sử dụng kết hợp với OAC (Origin Access Control): một dạng bảo mật cho phép cloudfront access tới S3, kết hợp với SSE-KMS để mã hoá/giải mã file khi download/upload, ….
Custom Origin
ALB
EC2
S3 website – cái này thường dùng
Bất cứ HTTP backend nào cũng được
So sánh Cloudfront với S3 Replication
Cloudfront
S3 Replication
Availability
– có hệ thống 216 edge locations trên toàn thế giới
– sẽ chỉ available ở các region mà mình setup phần replication
Thông tin về dữ liệu (files)
– data sẽ được cache theo TTL, khi bucket gốc được update thì cache thường sẽ không được update ngay (trừ khi mình flush cache cũ đi)
– data ở các region sẽ được update gần như là realtime khi bucket ở region gốc được update
data ở các relication region cũng thuộc dạng read-only | | Usecase | ⇒ Dùng để distribute static content (không bị update quá thường xuyên) | ⇒ Distribute dynamic content cần available theo dạng thời gian thực |
Cache Key
Các objects trong cache ở cloudfront được định danh bởi key
Thường sẽ bao gồm hostname + một phần của URL
Có thể dùng thêm các element khác làm key như là HTTP headers, cookies, query strings
Cache Policy
Dựa trên HTTP Headers, Cookies, Query Strings (có một số dạng như là None, Whilelist, Include All-Except, All)
TTL: từ 0 sec tới 1 năm
Tất cả các thông tin trong cache key sẽ được included trong origin requests
Origin Request Policy
Các value sẽ được gửi tới origin request mà KHÔNG nằm trong cache key
Cũng có thể bao gồm HTTP Headers, Cookies, Query Strings
Cache Invalidations
Dựa trên TTL
Có thể flush cache bằng tay trên console
Cache Behaviors
Điều hướng traffics tới các origin khác nhau dựa trên path URL
Behavior mặc định sẽ là /*
Geo Restriction
List ra các quốc gia được phép access tới cloudfront
Có AllowList và BlockList
⇒ Dùng cho một số app giới hạn về vùng truy cập do vấn đề bản quyền
Signed URL / Signed Cookies
Dùng để distribute content
Config được một số thông tin như là
URL expiration
IP ranges whitelist (dạng content đặc biệt chỉ available cho các users trả tiền chẳng hạn)
Trusted signers (các AWS account có thể tạo Signed URLs)
Signed URL dùng để access tới một file, Signed Cookies dùng để access tới nhiều files
So sánh CloudFront Signed URL với S3 Pre-Signed URL
CloudFront Signed URL
S3 Pre-Signed URL
– Dùng để access tới data được cache trong các edge locations
Filter được theo IP, path, expiration
Lifetime rất dài
Ẩn được origin
Hỗ trợ access tới nhiều files | – Lifetime thường ngắn
Chỉ có thể access tới 1 file
Access tới data trực tiếp trong bucket nên luôn là lifetime (nhưng users sẽ biết là mình dùng S3 – có thể fail pentest) |
Price Classes
Có 3 classes:
All: available ở tất cả các regions
Class 200: loại trừ một số regions có giá cao
Class 100: các regions có giá rẻ nhất
Origin Groups
Một group sẽ bao gồm 1 primary origin và một secondary origin
Origin một mà fail thì sẽ dùng origin hai (cơ chế failover)
Field Level Encryption
Các thông tin nhạy cảm sẽ được encrypt ở các edge locations