Load Balancer: Khái niệm, hoạt động và vai trò trong bảo mật mạng
Load Balancer (Cân bằng tải) là thiết bị hoặc phần mềm phân phối lưu lượng mạng hoặc ứng dụng đến nhiều server backend để tối ưu hóa hiệu suất, đảm bảo tính sẵn sàng cao (high availability) và tăng cường bảo mật.
Network Load Balancer (NLB) là gì và cách hoạt động?
Network Load Balancing sử dụng giao thức TCP/IP để phân phối lưu lượng. Tạo cụm ảo (virtual cluster) từ 2+ máy chủ độc lập chạy ứng dụng thành một thực thể thống nhất. Cung cấp độ tin cậy và hiệu suất cho web server và ứng dụng quan trọng.
Ví dụ Load Balancer phổ biến
- Phần mềm: HAProxy, NGINX (HTTP load balancer, hỗ trợ SSL termination), LVS (Linux Virtual Server - Layer 4)
- Đám mây: AWS Network Load Balancer (NLB), Application Load Balancer (ALB), Google Cloud Load Balancing, Azure Load Balancer
- Phần cứng: F5 BIG-IP, Citrix ADC (NetScaler), A10 Networks, Radware
Load Balancer dùng để làm gì?
- Phân phối traffic đến nhiều web server trong pool
- Ngăn chặn quá tải trên một server đơn lẻ
- Tối thiểu hóa thời gian phản hồi (response time)
- Đảm bảo high availability và fault tolerance
- Hỗ trợ scale out (thêm server) và scale in (bớt server) linh hoạt
Lợi ích của Load Balancer
- Hiệu suất: Giảm tải server, tối ưu traffic, giảm latency
- Khả dụng cao: Tự động chuyển traffic từ server lỗi sang server khỏe
- Mở rộng: Dễ dàng thêm/bớt server theo nhu cầu
- Bảo mật: Lớp bảo vệ thêm, offload SSL/TLS, che giấu cấu trúc backend
- Quản lý tập trung: Cấu hình SSL, WAF, rate limiting tại một nơi
Load Balancer có cung cấp bảo mật không?
Có. Vai trò bảo mật quan trọng:
- DDoS Protection: Offload tấn công DDoS, chuyển traffic tấn công sang cloud provider (AWS Shield, Cloudflare, Akamai)
- SSL/TLS Termination: Giải mã/mã hóa tại LB, giảm tải CPU backend server
- WAF Integration: Tích hợp Web Application Firewall lọc traffic độc hại (SQLi, XSS, bot)
- Access Control: IP whitelist/blacklist, geo-blocking, rate limiting
- Certificate Management: Quản lý chứng chỉ SSL tập trung, tự động gia hạn (Let's Encrypt, ACM)
Cách bảo mật Network Load Balancer
- Cấu hình Security Groups: chỉ cho phép traffic từ IP LB đến target
- Bật TLS 1.2/1.3, tắt các cipher yếu
- Cấu hình WAF rules (OWASP Top 10, custom rules)
- Bật access logging và monitoring (CloudWatch, CloudTrail)
- Sử dụng Private Link / VPC Endpoint cho traffic nội bộ
- Health checks thường xuyên để phát hiện backend bất thường
Network Load Balancer vs Application Load Balancer
| Tiêu chí | Network LB (Layer 4) | Application LB (Layer 7) |
|---|---|---|
| Giao thức | TCP, UDP, TLS | HTTP, HTTPS, gRPC |
| Routing | Dựa trên IP:Port | Dựa trên nội dung: path, header, query string, host |
| Hiệu suất | Cực cao, latency cực thấp (~microseconds) | Cao, latency thấp (~milliseconds) |
| Tính năng nâng cao | Hạn chế | WAF, redirect, fixed response, authentication, routing phức tạp |
| Use case | High-throughput TCP/UDP, gaming, IoT, TLS passthrough | Web app, API, microservices, HTTP-based traffic |
Các loại Load Balancer
- Layer 4 (Transport Layer): Dựa trên IP/Port (NLB, LVS)
- Layer 7 (Application Layer): Dựa trên nội dung HTTP (ALB, NGINX, HAProxy)
- Global Server Load Balancing (GSLB): Phân phối cross-region, DNS-based
- Hardware LB: Appliance vật lý (F5, Citrix)
- Software/Cloud LB: Chạy trên VM/Container/Serverless
Các thuật toán phân phối tải phổ biến
- Round Robin: Luân phiên từng server
- Weighted Round Robin: Theo trọng số (server mạnh hơn nhận nhiều hơn)
- Least Connections: Gửi đến server ít kết nối nhất
- IP Hash: Cùng client IP luôn về cùng server (session persistence)
- Least Response Time: Server phản hồi nhanh nhất
Kiểm tra Load Balancer hoạt động đúng?
- Truy cập cluster IP qua trình duyệt nhiều lần (refresh liên tục)
- Kiểm tra response header/server ID thay đổi theo thuật toán
- Sử dụng curl:
for i in {1..10}; do curl -s -o /dev/null -w "%{http_code} %{time_total}\\n" https://lb-ip; done - Kiểm tra health check status trên console LB
- Xem access log backend server xác nhận traffic được phân phối
Load Balancer trên AWS
AWS cung cấp 3 loại chính:
- Network Load Balancer (NLB): Layer 4, ultra-low latency, millions req/s, static IP, TLS offload
- Application Load Balancer (ALB): Layer 7, routing dựa trên content, WAF tích hợp, Lambda target
- Classic Load Balancer (CLB): Legacy, ít dùng cho dự án mới
- Gateway Load Balancer (GWLB): Triển khai thiết bị mạng ảo (firewall, IDS) inline