ℹ️ Information: Application Load Balancer (ALB) là một dịch vụ cân bằng tải thông minh hoạt động ở tầng ứng dụng (Layer 7), cho phép định tuyến lưu lượng truy cập dựa trên nội dung yêu cầu và hỗ trợ nhiều tính năng nâng cao như path-based routing và host-based routing.
Ở giao diện quản lý EC2, ở bảng điều hướng bên trái:

Xuất hiện bảng Compare and select load balancer type:

💡 Pro Tip: Application Load Balancer là lựa chọn tối ưu cho các ứng dụng web hiện đại, đặc biệt là các ứng dụng microservices hoặc container-based, vì khả năng định tuyến thông minh và hỗ trợ WebSocket.
Trong bảng Create Application Load Balancer:
FCJ-Management-LB

⚠️ Warning: Đảm bảo chọn đúng public subnet cho Internet-facing Load Balancer. Việc chọn private subnet sẽ khiến Load Balancer không thể tiếp nhận lưu lượng từ internet.

🔒 Security Note: Security group cho Load Balancer nên chỉ cho phép lưu lượng HTTP/HTTPS từ internet, trong khi security group cho EC2 instance nên chỉ cho phép lưu lượng từ Load Balancer, tạo thành một kiến trúc bảo mật nhiều lớp.

Sau khi tạo Load Balancer, chọn FCJ-Management-LB để xem thông tin chi tiết:

ℹ️ Information: Sau khi tạo, Load Balancer sẽ cần vài phút để chuyển sang trạng thái “active”. Trong thời gian này, AWS đang cấp phát và cấu hình các tài nguyên cần thiết cho Load Balancer của bạn.

💡 Pro Tip: Sử dụng DNS name của Load Balancer (hiển thị trong tab Description) để truy cập ứng dụng của bạn. Không nên sử dụng địa chỉ IP trực tiếp vì AWS có thể thay đổi địa chỉ IP của Load Balancer theo thời gian.
Để kiểm tra xem Load Balancer đã hoạt động chính xác hay chưa, hãy truy cập vào DNS name của Load Balancer:

⚠️ Warning: Nếu bạn không thể truy cập ứng dụng thông qua Load Balancer, hãy kiểm tra các điểm sau:
Application Load Balancer (ALB) hoạt động ở tầng 7 (Application Layer) của mô hình OSI, cho phép nó hiểu và xử lý các yêu cầu HTTP/HTTPS. Dưới đây là quy trình hoạt động cơ bản:
💡 Pro Tip: ALB hỗ trợ path-based routing, cho phép bạn định tuyến các yêu cầu đến các dịch vụ backend khác nhau dựa trên URL path. Ví dụ: /api/* có thể được định tuyến đến API servers, trong khi /static/* có thể được định tuyến đến content delivery servers.
🔒 Security Note: Để tăng cường bảo mật, bạn nên cấu hình HTTPS cho Load Balancer bằng cách sử dụng AWS Certificate Manager (ACM) để cung cấp và quản lý SSL/TLS certificates.
AWS cung cấp nhiều công cụ để giám sát hiệu suất của Load Balancer:
💡 Pro Tip: Thiết lập CloudWatch Alarms để nhận thông báo khi các chỉ số hiệu suất vượt quá ngưỡng bạn đã xác định, giúp bạn phát hiện và giải quyết vấn đề trước khi chúng ảnh hưởng đến người dùng.
Chúng ta đã hoàn thành việc thiết lập Application Load Balancer cho ứng dụng FCJ-Management. Load Balancer này sẽ phân phối lưu lượng truy cập đến các EC2 instance trong Target Group, đảm bảo tính sẵn sàng cao và khả năng mở rộng cho ứng dụng của chúng ta.
Trong phần tiếp theo, chúng ta sẽ tích hợp Load Balancer này với Auto Scaling Group để tạo một hệ thống hoàn chỉnh, có khả năng tự động mở rộng và thu hẹp dựa trên nhu cầu thực tế.