Cloudfront alb ec2
1. CloudFront truy cập backend HTTP¶
- Khả năng của CloudFront:
CloudFront có thể kết nối tới bất kỳ backend HTTP nào, chẳng hạn: - EC2 instances.
- Application Load Balancer (ALB).
2. Kịch bản sử dụng EC2 làm backend¶
-
Mô hình hoạt động:
-
Người dùng truy cập CloudFront thông qua Edge Locations.
-
Các Edge Locations sẽ gửi yêu cầu đến EC2 backend.
-
Yêu cầu:
- EC2 instance phải là public:
- Vì CloudFront không hỗ trợ kết nối private VPC, EC2 cần có IP công khai.
- Cấu hình Security Group cho EC2:
- Phải cho phép danh sách các public IP của Edge Locations (của CloudFront) kết nối vào.
- Danh sách các IP này có thể tìm tại AWS CloudFront IP Ranges.
3. Kịch bản sử dụng ALB làm backend¶
-
Mô hình hoạt động:
-
Người dùng truy cập CloudFront thông qua Edge Locations.
- Edge Locations gửi yêu cầu đến ALB (public).
-
ALB chuyển tiếp yêu cầu tới EC2 instances (private) thông qua kết nối private VPC.
-
Yêu cầu:
- ALB phải là public:
- Có thể nhận yêu cầu từ Edge Locations.
- EC2 instances có thể private:
- Vì ALB có kết nối private đến các instance backend.
- Cấu hình Security Group:
- Security Group của EC2 phải cho phép truy cập từ Security Group của ALB.
- Security Group của ALB phải cho phép truy cập từ các public IP của Edge Locations của CloudFront.
4. Các lưu ý quan trọng¶
- Danh sách IP của CloudFront:
Phải thường xuyên cập nhật danh sách public IP của Edge Locations để đảm bảo tính tương thích và bảo mật. - Bảo mật:
Đảm bảo chỉ mở các cổng (như HTTP/HTTPS) cần thiết trong Security Group, hạn chế tấn công từ bên ngoài.
Tóm tắt mô hình¶
Thành phần | Vai trò |
---|---|
CloudFront Edge | Nhận yêu cầu từ người dùng và chuyển tiếp đến backend. |
EC2 Public | Backend trực tiếp, yêu cầu IP công khai và mở đúng Security Group. |
ALB Public | Làm trung gian giữa Edge Locations và các EC2 private backend. |
EC2 Private | Backend phía sau ALB, bảo mật hơn do không cần IP công khai. |