AWS - ELB ALB/NLB/GLB/CLB
ELB Elastic Load Balancer
在 AWS 中我們可以透過 ELB 來分攤流量到不同的端點中,其中 AWS 細分了不同使用情境為他們量身定做的不同的 Load Balancer,我們來看看這些類型彼此之間有什麼樣的差異吧
ALB Application Load Balancer
ALB 可以讓你制定很多 Rule 用來決定要透過 ALB 導引到哪個 Target
NLB Network Load Balancer
NLB 會根據註冊的 Target 健康狀態,將流量導引到健康的 Target,NLB 收到請求會根據 Rule 從 Group 選擇 Target,對其嘗試開起 TCP 連線,連線到 Listener Config 中指定的 Port 目標,在連線的使用週期,每個個別的 TCP 連線都會路由到相同目標,UDP 也是同樣的方式。
GLB Gateway Load Balancer
你可以 Deploy/Manage/Scale-out 你的虛擬設備,比如 IDS,Firewall,深度封包檢測系統,為所有的設備建立單一進出點,根據需求擴展虛擬設備,可以用在 VPC 邊界交換流量。
在 GLB 可以用路由表建立規則,根據規則將流量導引到不同群組。GLB 接收 IP 封包並將流量轉送到目標群組。
CLB Classic Load Balancer
與傳統 Load Balancer 相同,支援 L4/L7 的場景,但僅有基本的 Load Balancing 功能
- 單一 Load Balancer 處理所有流量
- 不支援動態端口映射
- 每個 Instance 只能註冊一個端口
- 不支援 路徑基礎路由
- 不支援 主機基礎路由
- 容器化應用程式
- 固定 IP(NLB 才有)
- 不支援 Lambda 整合
Reference
- 應用程式、網路與閘道負載平衡之間有何差異?