Ở phần trước, chúng ta đã đề cập đến 2 loại cân bằng tải trên AWS là Classic Load Balancer - CLB và Application Load Balancer - ALB. Trong phần này, chúng ta sẽ cùng tìm hiểu về 2 loại cân bằng tải còn lại là Network Load Balancer - NLB và Gateway Load Balancer - GWLB.
Network Load Balancer - NLB (v2)
Network Load Balancer - NLB là phiên bản cân bằng tải thứ 3 được cung cấp bởi AWS vào năm 2017. Nó hoạt động ở lớp mạng (Layer 4 - TCP, UDP, TLS). NLB cho phép:
- Forward TCP & UDP traffic tới các instances khác nhau.
- Có thể handle hàng triệu request mỗi giây với độ trễ cực thấp (~100ms khi so với 400ms của ALB).
NLB chỉ có một static IP cho mỗi Availablity Zone, tuy nhiên việc Assign Elastic IP cho NLB cũng rất đơn giản. Điều này tương đối hữu ích khi ta muốn thiết lập các Whitelist IP cho ứng dụng của mình.
NLB nên được sử dụng cho các ứng dụng cần hiệu suất cực cao khi làm việc với TCP hoặc UDP traffic. Với các ưu điểm nói trên, dĩ nhiên NLB không nằm trong chương trình AWS Free Tier.
TCP (Layer 4) Based Traffic
Target Groups trên NLB
NLB có thể làm việc với nhiều loại target groups khác nhau, bao gồm:
- EC2 instances.
- IP addresses. Tuy nhiên cũng giống như ALB, NLB chỉ hỗ trợ Private IPs.
- Health checks được hỗ trợ với các giao thức TCP, HTTP and HTTPS.
Gateway Load Balancer
Gateway Load Balancer là phiên bản cân bằng tải thứ 4 được cung cấp bởi AWS vào năm 2021. Nó hoạt động ở cả Layer 3 và 4. Gateway Load Balancer không can thiệp bất cứ phần nào của gói tin. Gateway Load Balancer được thiết kế để xử lý hàng triệu yêu cầu/giây và có độ trễ cực kỳ thấp. GWLB cũng đồng thời đảm bảo được các yêu cầu về bảo mật, tuân thủ khi làm việc với các ứng dụng chạy trong các lớp mạng riêng biệt của bên thứ 3.
GWLB có khả năng làm việc với nhiều loại ứng dụng bảo mật trên các mạng của bên thứ 3 như Firewalls, Intrusion Detection and Prevention Systems, Deep Packet Inspection Systems, payload manipulation, ...
GWLB sử dụng giao thức GENEVE trên port 6081. GENEVE là một giao thức overlay network, được thiết kế để hỗ trợ các mạng ảo hóa. GWLB sử dụng GENEVE để gửi các gói tin từ các máy chủ đến các ứng dụng bảo mật của bên thứ 3. Các ứng dụng bảo mật của bên thứ 3 sẽ xử lý các gói tin này và trả về kết quả cho GWLB. GWLB sẽ tiếp tục gửi các gói tin này tới các máy chủ đích.
Target Groups trên GWLB
Do đặc thù nhiệm vụ của mình, Gateway Load Balancer chỉ hỗ trợ chuyển các gói tin tới các EC2 instances và các Private IP.