AWS - ELB ALB/NLB/GLB/CLB


ELB Elastic Load Balancer

在 AWS 中我們可以透過 ELB 來分攤流量到不同的端點中,其中 AWS 細分了不同使用情境為他們量身定做的不同的 Load Balancer,我們來看看這些類型彼此之間有什麼樣的差異吧


ALB Application Load Balancer

image

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

  • 應用程式、網路與閘道負載平衡之間有何差異?