📢 [文章新增公告] 新增 為 Kubernetes 而生的 GitOps 工具 - ArgoCD 介紹與說明統一機密、身份與加密的管理系統 - HashiCorp Vault 介紹與說明 文章,歡迎點擊前方連結前往查看 💙
目前 Blog 頁籤支援折疊側邊欄功能,在閱讀文章會更方便,歡迎多加利用 💪
GCP Load Balancer 介紹

GCP Load Balancer 介紹

發布於 2025-05-26 · 最後更新於 2025-10-21

最近公司在導入 Multi-Zone,有發現大量的跨域費用產生,主要是不同 Cluster 或是 Cluster 跟 VM 之間的跨域流量,與 Google TAM 討論,他們有提出可以嘗試用 Service load balancing policy 的 Waterfall by zone,或是之後會推出的 Zone affinity,這些都會需要使用到 Load Balancer,簡單整理一下發現 GCP 的 Load Balancer 其實有很多種,因此,這篇文章就來介紹一下 GCP 的 Load Balancer。 (如果 Service load balancing policy 測試有結果,也會再寫一篇文章來介紹)


想知道自己用的 Load Balancer 是哪一種嗎?

由於以下會有多種的 Load Balancer 種類,且 gcloud CLI 沒辦法直接過濾相關 LB 名稱 (UI 可以,但需要每個都進去查看),因此有特別寫了一隻腳本,可以來掃描查詢,請參考: gcp-load-balancer-type


GCP 的 Load Balancer 主要分為三種,分別是:

Application Load Balancer (ALB) – 應用程式負載平衡器

  1. 層級:第 7 層(L7)
  2. 支援協定:HTTP、HTTPS
  3. 功能:
    1. 基於內容的路由(如 URL 路徑、主機名稱)
    2. SSL/TLS 終止
    3. 整合 Cloud CDN、Cloud Armor
    4. 支援全球負載平衡(Premium Tier)
  4. 適用場景:需要進行應用層路由、SSL 終止,以及全球流量分配的 Web 應用程式。

Application Load Balancer 又可以再另外分為五種 (包含內、外網以及不同的 Region):

Global external Application Load Balancer

將此負載平衡器用於具有全球分散用戶或多個區域的後端服務的外部 HTTP(S) 工作負載。 (官方建議使用)

資訊
  • 中文:全球外部應用程式負載平衡器
  • 縮寫:GLB
  • 內部/外部:Public facing (external)
  • 區域:Global
  • Load balancing scheme:EXTERNAL_MANAGED
  • 是否支援 Cloud CDN:✅
  • 是否支援 Cloud Armor:✅
  • 是否支援 Service load balancing policy:✅
  • 是否支援 SSL:✅
  • 是否支援 PROXY protocol:❌

特點

Global external Application Load Balancer

Global external Application Load Balancer


Classic Application Load Balancer

此負載平衡器在高階層中是全球性的。在 Premium 網路服務層,此負載平衡器提供多區域負載平衡,嘗試將流量引導至具有容量的最近的健康後端,並儘可能靠近使用者終止 HTTP(S) 流量。

在 Standard 網路服務層中,此負載平衡器只能將流量分配到單一區域內的後端。(建議不要再使用該 LB)

資訊

特點

Classic Application Load Balancer

Classic Application Load Balancer


Regional external Application Load Balancer

此負載平衡器包含現有的經典應用程式負載平衡器, 以及先進的流量管理能力。 如果您只想從一個地理位置提供內容,請使用此負載平衡器。

資訊
  • 中文:區域外部應用程式負載平衡器
  • 縮寫:ALB
  • 內部/外部:Public facing (external)
  • 區域:Regional
  • Load balancing scheme:EXTERNAL_MANAGED
  • 是否支援 Cloud CDN:❌
  • 是否支援 Cloud Armor:✅
  • 是否支援 Service load balancing policy:❌
  • 是否支援 SSL:✅
  • 是否支援 PROXY protocol:❌

特點

Regional external Application Load Balancer

Regional external Application Load Balancer


Cross-Region internal Application Load Balancer

這是一個多區域負載平衡器,它基於開源 Envoy 代理實現為託管服務。跨區域模式使您能夠將流量負載平衡到全球分佈的後端服務,包括確保流量定向到最近的後端的流量管理。此負載平衡器還具有高可用性。將後端放置在多個區域有助於避免單一區域故障。如果一個區域的後端發生故障,流量可以轉移到另一個區域。

資訊
  • 中文:跨區域內部應用程式負載平衡器
  • 縮寫:Cross-Region internal ALB
  • 內部/外部:Internal
  • 區域:Global
  • Load balancing scheme:INTERNAL_MANAGED
  • 是否支援 Cloud CDN:❌
  • 是否支援 Cloud Armor:❌
  • 是否支援 Service load balancing policy:✅
  • 是否支援 SSL:✅
  • 是否支援 PROXY protocol:❌

特點
  • 始終可在全球範圍內訪問。 VPC 中任何 Google Cloud 區域的用戶端都可以將流量傳送到負載平衡器
  • 負載平衡器可以將流量傳送到任何區域的後端 (可以跨多個專案)
  • 自動故障轉移到同一或不同區域的健康後端

Cross-Region internal Application Load Balancer

Cross-Region internal Application Load Balancer


Regional internal Application Load Balancer

這是一個區域負載平衡器,它基於開源 Envoy 代理程式作為託管服務實作。區域模式可確保所有用戶端和後端都來自指定區域,這在您需要區域合規性時很有幫助。此負載平衡器具備基於 HTTP(S)參數的豐富流量控制功能。負載平衡器配置完成後,它會自動指派 Envoy 代理程式來滿足您的流量需求。

資訊

特點
  • 預設無法由不同 Region 進行訪問,需要額外開啟全球訪問設定
  • 負載平衡器只能將流量傳送到與負載平衡器的代理程式位於相同區域的後端 (可以跨多個專案)
  • 自動故障轉移到同一區域內的健康後端

Regional internal Application Load Balancer

Regional internal Application Load Balancer


Proxy Network Load Balancer (PNLB) – 代理網路負載平衡器

  1. 層級:第 4 層(L4)
  2. 支援協定:TCP、SSL
  3. 功能:
    1. 作為反向代理,終止 TCP 或 SSL 連線
    2. 支援 SSL/TLS 終止(僅限 SSL Proxy 模式)
    3. 可選擇全球(Premium Tier)或區域性(Standard Tier)部署
  4. 適用場景:需要處理加密的 TCP 流量,並在負載平衡器層級終止 SSL 的應用程式。

Proxy Network Load Balancer 又可以再另外分為五種 (包含內、外網以及不同的 Region):

Global external Proxy Network Load Balancer

此負載平衡器適用於需要全球可用性和高效能的 TCP/SSL 應用程式。它支援使用 Zonal NEGs(包括 VM 和 GKE Pod)作為後端,並整合 Google Cloud Armor 進行安全防護。

資訊
  • 中文:全球外部代理網路負載平衡器
  • 縮寫:Global Proxy NLB
  • 內部/外部:Public facing (external)
  • 區域:Global
  • Load balancing scheme:EXTERNAL_MANAGED
  • 是否支援 Cloud CDN:❌
  • 是否支援 Cloud Armor:✅
  • 是否支援 Service load balancing policy:✅
  • 是否支援 SSL:✅
  • 是否支援 PROXY protocol:✅

特點
  • 只能使用 Premium 等級的 Network Service
  • 支援 TCP 和 SSL 協定
  • 支援 SSL/TLS 卸載
  • 支援使用 Zonal NEGs(包括 VM 和 GKE Pod)作為後端
  • 整合 Google Cloud Armor 進行 DDoS 防護

Global external Proxy Network Load Balancer

Global external Proxy Network Load Balancer


Classic Proxy Network Load Balancer

此負載平衡器適用於現有使用傳統實例群組(Instance Groups)的應用程式。在 Premium 網路服務層中,它可以作為全球性的負載平衡器;在 Standard 網路服務層中,僅限於區域性部署。它支援 TCP 和 SSL 協定,並支援 SSL/TLS 卸載。

資訊
  • 中文:經典代理網路負載平衡器
  • 縮寫:Classic Proxy NLB
  • 內部/外部:Public facing (external)
  • 區域:Global
  • Load balancing scheme:EXTERNAL
  • 是否支援 Cloud CDN:❌
  • 是否支援 Cloud Armor:✅
  • 是否支援 Service load balancing policy:❌
  • 是否支援 SSL:✅
  • 是否支援 PROXY protocol:✅

特點
  • 可以選擇 Standard 或是 Premium 等級的 Network Service
  • 支援 TCP 和 SSL 協定
  • 支援 SSL/TLS 卸載
  • 支援使用傳統實例群組作為後端
  • 在 Premium Tier 中可作為全球性負載平衡器,在 Standard Tier 中僅限於區域性部署

Classic Proxy Network Load Balancer

Classic Proxy Network Load Balancer


Regional external Proxy Network Load Balancer

此負載平衡器適用於需要在單一區域內處理 TCP 流量的應用程式。它在該區域內提供外部 IP,並將進來的 TCP 流量轉發至後端服務。此負載平衡器支援 TCP 協定,並可選擇使用 Premium 或 Standard 網路服務層級。

資訊
  • 中文:區域外部代理網路負載平衡器
  • 縮寫:Regional Proxy NLB
  • 內部/外部:Public facing (external)
  • 區域:Regional
  • Load balancing scheme:EXTERNAL_MANAGED
  • 是否支援 Cloud CDN:❌
  • 是否支援 Cloud Armor:❌
  • 是否支援 Service load balancing policy:❌
  • 是否支援 SSL:❌
  • 是否支援 PROXY protocol:✅

特點
  • 可以選擇 Standard 或是 Premium 等級的 Network Service
  • 支援 TCP 協定
  • 支援使用 Compute Engine 虛擬機(VM)作為後端服務
  • 相較於全球性負載平衡器,區域性負載平衡器的成本較低,適合預算有限的應用程式

Regional external Proxy Network Load Balancer

Regional external Proxy Network Load Balancer


Cross-Region internal Proxy Network Load Balancer

這是一個多區域負載平衡器,它基於開源 Envoy 代理實現為託管服務。跨區域模式可讓您將流量負載平衡到全球分佈的後端服務,包括確保流量定向到最近的後端的流量管理。此負載平衡器還具有高可用性。將後端放置在多個區域有助於避免單一區域故障。如果一個區域的後端發生故障,流量可以轉移到另一個區域。

資訊
  • 中文:跨區域內部代理網路負載平衡器
  • 縮寫:Cross-Region internal Proxy NLB
  • 內部/外部:Internal
  • 區域:Global
  • Load balancing scheme:INTERNAL_MANAGED
  • 是否支援 Cloud CDN:❌
  • 是否支援 Cloud Armor:❌
  • 是否支援 Service load balancing policy:✅
  • 是否支援 SSL:❌
  • 是否支援 PROXY protocol:✅

特點
  • 始終可在全球範圍內訪問。 VPC 中任何 Google Cloud 區域的用戶端都可以將流量傳送到負載平衡器
  • 負載平衡器可以將流量傳送到任何區域的後端
  • 自動故障轉移到同一或不同區域的健康後端

Cross-Region internal Proxy Network Load Balancer

Cross-Region internal Proxy Network Load Balancer


Regional internal Proxy Network Load Balancer

這是一個區域負載平衡器,它基於開源 Envoy 代理程式作為託管服務實作。區域模式可確保所有用戶端和後端都來自指定區域,這在您需要區域合規性時很有幫助。

資訊
  • 中文:區域內部代理網路負載平衡器
  • 縮寫:Regional internal Proxy NLB
  • 內部/外部:Internal
  • 區域:Regional
  • Load balancing scheme:INTERNAL_MANAGED
  • 是否支援 Cloud CDN:❌
  • 是否支援 Cloud Armor:❌
  • 是否支援 Service load balancing policy:❌
  • 是否支援 SSL:❌
  • 是否支援 PROXY protocol:✅

特點
  • 預設無法由不同 Region 進行訪問,需要額外開啟全球訪問設定
  • 負載平衡器只能將流量傳送到與負載平衡器的代理程式位於相同區域的後端
  • 自動故障轉移到同一區域內的健康後端

Regional internal Proxy Network Load Balancer

Regional internal Proxy Network Load Balancer


Passthrough Network Load Balancer (NLB) – 直通網路負載平衡器

  1. 層級:第 4 層(L4)
  2. 支援協定:TCP、UDP、ESP、GRE、ICMP、ICMPv6 等
  3. 功能:
    1. 不終止連線,將流量直接傳遞給後端
    2. 保留原始封包資訊(來源 IP、目的地 IP 等)
    3. 僅支援區域性部署
  4. 適用場景:需要低延遲、高效能,並保留原始封包資訊的內部服務,如資料庫、內部微服務通訊等。

Passthrough Network Load Balancer 主要分為兩種 (內、外網):

External passthrough Network Load Balancer

這是一種區域性的第 4 層(L4)負載平衡器,將來自網際網路的流量分配至同一區域內的後端服務。它不進行代理或 SSL/TLS 卸載,並保留原始的客戶端 IP 位址。

資訊

特點
  • 支援 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 等協定
  • 保留原始客戶端 IP 位址,適用於需要此資訊的應用程式
  • 支援使用區域性的後端服務或目標集(Target Pool)作為後端
  • 可與 Google Cloud Armor 整合,提供進階的 DDoS 防護
  • 支援 IPv4 和 IPv6 流量
  • 適用於需要低延遲和高效能的應用場景

External passthrough Network Load Balancer

External passthrough Network Load Balancer


Internal passthrough Network Load Balancer

這是一種區域性的第 4 層(L4)負載平衡器,將流量分配至同一 VPC 網路內的後端服務。它僅在內部網路中運作,適用於內部服務之間的通訊。

資訊

特點
  • 支援 TCP、UDP、ICMP、ICMPv6、SCTP、ESP、AH 和 GRE 等協定
  • 保留原始客戶端 IP 位址,適用於需要此資訊的內部應用程式
  • 支援使用區域性的後端服務作為後端
  • 可作為靜態路由的下一跳,實現更靈活的流量控制
  • 支援與 Service Directory 整合,方便服務發現與管理
  • 適用於需要高效能和低延遲的內部服務通訊

Internal passthrough Network Load Balancer

Internal passthrough Network Load Balancer


總結

負載平衡器類型層級協定功能適用場景
Application Load Balancer (ALB)L7HTTP, HTTPS基於內容的路由、SSL/TLS 終止、整合 Cloud CDN 和 Cloud ArmorWeb 應用程式需要應用層路由和 SSL 終止
Proxy Network Load Balancer (PNLB)L4TCP, SSL反向代理、SSL/TLS 終止處理加密的 TCP 流量,並在負載平衡器層級終止 SSL 的應用程式
Passthrough Network Load Balancer (NLB)L4TCP, UDP, ESP, GRE, ICMP 等不終止連線,保留原始封包資訊低延遲、高效能的內部服務,如資料庫、內部微服務通訊等

參考資料

Network Service Tiers:https://cloud.google.com/network-tiers?hl=zh-tw

External Application Load Balancer:https://cloud.google.com/load-balancing/docs/https

Internal Application Load Balancer:https://cloud.google.com/load-balancing/docs/l7-internal

Proxy Network Load Balancer:https://cloud.google.com/load-balancing/docs/proxy-network-load-balancer

Internal proxy Network Load Balancer:https://cloud.google.com/load-balancing/docs/tcp/internal-proxy

Passthrough Network Load Balancer:https://cloud.google.com/load-balancing/docs/passthrough-network-load-balancer

Internal passthrough Network Load Balancer:https://cloud.google.com/load-balancing/docs/internal