# 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

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