直通式網路負載平衡器屬於第 4 層區域性直通式負載平衡器,這些負載平衡器會將流量分配給與負載平衡器位於相同區域的後端。顧名思義,直通式網路負載平衡器並非 Proxy。後端 VM 會收到負載平衡的封包,且封包的來源和目的地 IP 位址、通訊協定,以及來源和目的地通訊埠 (如果通訊協定是以通訊埠為準) 都不會變更。負載平衡連線會在後端終止。來自後端 VM 的回應會直接傳送至用戶端,而不會透過負載平衡器傳回。業界稱這種機制為「伺服器直接回傳」(DSR)。
下圖顯示直通式網路負載平衡器架構範例。
在下列情況下,您會使用直通式網路負載平衡器:
- 您必須將原始用戶端封包轉送至後端,且不得經過 Proxy 處理,例如需要保留用戶端來源 IP 位址時。
- 您需要負載平衡 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量,或是需要負載平衡其他負載平衡器不支援的 TCP 通訊埠。
- 您可以接受由後端 (而非負載平衡器) 解密的 SSL 流量。直通式網路負載平衡器無法執行此任務。當後端解密 SSL 流量時,VM 上的 CPU 負擔更大。
- 您可以自行管理後端 VM 的 SSL 憑證。Google 代管的 SSL 憑證僅適用於 Proxy 負載平衡器。
- 您有一個使用直通負載平衡器的現有設置,並且想要在不進行任何變更的情況下進行遷移。
直通式網路負載平衡器可透過下列部署模式使用。
| 範圍 | 流量類型 | 網路服務級別 | 負載平衡架構 † | IP 位址 | 前端通訊埠 | 連結 | |
|---|---|---|---|---|---|---|---|
| 外部直通式網路負載平衡器
為來自網際網路用戶端的流量進行負載平衡。 |
區域 | TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 | 進階或標準 | EXTERNAL | IPv4 和 IPv6 | 單一通訊埠、通訊埠範圍或所有通訊埠 | 架構詳細資料 |
| 內部直通式網路負載平衡器
平衡虛擬私有雲網路或連線至虛擬私有雲網路的網路流量。 |
區域 | TCP、UDP、ICMP、ICMPv6、SCTP、ESP、AH 和 GRE | 進階 | INTERNAL | IPv4 和 IPv6 | 單一通訊埠、通訊埠範圍或所有通訊埠 | 架構詳細資料 |
外部直通式網路負載平衡器
外部直通式網路負載平衡器屬於第 4 層區域性負載平衡器,可將外部流量分配給與負載平衡器位於相同區域的後端 (執行個體群組或網路端點群組 (NEG))。這些後端必須位於相同區域和專案,但可以位於不同的 VPC 網路。這些負載平衡器是以 Maglev 和 Andromeda 網路虛擬化堆疊為基礎建構而成。
外部直通式網路負載平衡器可接收來自下列來源的流量:
- 網際網路上的任何用戶端
- Google Cloud 具備外部 IP 的 VM
- Google Cloud 可透過 Cloud NAT 或執行個體型 NAT 存取網際網路的 VM
外部直通式網路負載平衡器不是 Proxy。負載平衡器本身不會終止使用者連線,負載平衡的封包會傳送至後端 VM,來源和目的地 IP 位址、通訊協定和通訊埠 (如適用) 都不會變更。後端 VM 隨即終止使用者連線。來自後端 VM 的回應會直接傳送至用戶端,而不會透過負載平衡器傳回。這個程序稱為伺服器直接回傳 (DSR)。
下圖顯示在 us-central1 區域中設定的外部直通式網路負載平衡器,後端位於相同區域。流量會從新加坡的使用者路由至 us-central1 的負載平衡器 (轉送規則 IP 位址 120.1.1.1)。
如果負載平衡器的 IP 位址位於進階級別,流量會透過 Google 的優質全球骨幹網路傳輸,封包會盡可能透過靠近用戶端的 Google 邊緣對等互連點進出。如果負載平衡器的 IP 位址位於標準級,流量會透過距離負載平衡器設定Google Cloud 區域最近的對接點,進出 Google 網路。
外部直通式網路負載平衡器的架構取決於您是使用後端服務還是目標集區設定後端。
以後端服務為基礎的負載平衡器
您可以透過區域性後端服務建立外部直通式網路負載平衡器,藉此定義負載平衡器的行為,以及該負載平衡器如何將流量分配給後端。以後端服務為基礎的外部直通網路負載平衡器支援 IPv4 和 IPv6 流量、多種通訊協定 (TCP、UDP、ESP、GRE、ICMP 和 ICMPv6)、代管和非代管執行個體群組後端、具有 GCE_VM_IP 端點的區域網路端點群組 (NEG) 後端、精細的流量分配控制項、容錯移轉政策,以及與分配流量類型 (TCP、SSL、HTTP、HTTPS 或 HTTP/2) 相符的非舊版健康狀態檢查。
系統會使用內建的 GKE 服務控制器,處理 Google Kubernetes Engine (GKE) 的負載平衡。此外,後端服務型外部直通式網路負載平衡器支援 App Hub。
如需架構詳細資料及支援功能的相關資訊,請參閱「後端服務型外部直通式網路負載平衡器總覽」一文。
您可以從現有以目標集區為基礎的負載平衡器改用後端服務。如需操作說明,請參閱「將負載平衡器從目標集區遷移至後端服務」。
以目標集區為基礎的負載平衡器
目標集區是外部直通式網路負載平衡器支援的舊版後端。目標集區定義了應從負載平衡器接收傳入流量的執行個體群組。
目標集區型負載平衡器支援 TCP 或 UDP 流量。以目標集區為準的外部直通式網路負載平衡器轉送規則,僅支援外部 IPv4 位址。
如需架構詳細資料,請參閱「以目標集區為基礎的外部直通式網路負載平衡器總覽」。
內部直通式網路負載平衡器
內部直通式網路負載平衡器會在虛擬私有雲 (VPC) 網路中,相同區域的內部虛擬機器 (VM) 執行個體之間分配流量。您可透過這些負載平衡器,在內部 IP 位址後方執行及調度服務資源。請注意,這類 IP 位址只能由相同虛擬私有雲網路中的系統,或連線至虛擬私有雲網路的系統存取。
這些負載平衡器是以 Andromeda 網路虛擬化堆疊為基礎建構而成。這類負載平衡器只支援區域後端,因此您可以跨區域自動調度資源,避免服務發生區域性故障。此外,這個負載平衡器只能在進階級中設定。
內部直通式網路負載平衡器可解決許多應用實例問題。以下各節將提供幾個概略範例。
存取連線的網路
您可以使用下列方法,從已連線的網路存取虛擬私有雲網路中的內部直通式網路負載平衡器:
- 虛擬私有雲網路對等互連
- Cloud VPN 和 Cloud Interconnect
如需詳細範例,請參閱內部直通網路負載平衡器和已連線網路。
三層式網路服務
您可以將內部直通式網路負載平衡器與其他負載平衡器搭配使用。舉例來說,如果您納入外部應用程式負載平衡器,外部應用程式負載平衡器就是網路層,並依賴內部直通式網路負載平衡器後方的服務。
下圖說明使用外部應用程式負載平衡器和內部直通式網路負載平衡器的三層設定範例:
具備全域存取權的三層式網路服務
如果啟用全域存取權,網頁層 VM 就能位於其他區域,如下圖所示。
這個多層式應用程式範例會顯示下列內容:
- 可供全球使用的網際網路面向網路層級,可透過外部應用程式負載平衡器進行流量負載平衡。
us-east1區域中的內部後端負載平衡資料庫層,可供全域網路層存取。- 用戶端 VM 是
europe-west1地區中網路層的一部分,可存取位於us-east1的內部負載平衡資料庫層。
使用內部直通式網路負載平衡器做為下一個躍點
內部直通式網路負載平衡器有另外一個應用實例,那就是依據路徑將封包轉送至最終目的地時使用的下一個閘道。如要這麼做,請將負載平衡器設為靜態路徑中的「下一個躍點」。
無論您在建立負載平衡器時指定了哪些轉送規則和後端服務通訊協定,下一個躍點內部直通式網路負載平衡器都會處理所有支援的流量。
這項功能支援使用 IPv4 或 IPv6 位址。
以下是架構範例,使用內部直通式網路負載平衡器做為 NAT 閘道的下一個躍點。您可以透過內部直通式網路負載平衡器,將流量轉送至防火牆或閘道虛擬設備後端。
其他用途包括:
- 軸輻式架構:使用虛擬私有雲網路對等互連交換下一個躍點路徑 - 您可以使用下一個躍點防火牆虛擬設備來設定軸輻式拓撲,不過該項設備必須位於
hub虛擬私有雲網路。在hub虛擬私有雲網路中,使用負載平衡器做為下一個躍點的路徑,可在每個spoke網路中使用。 - 將負載平衡至後端 VM 上的多個網路介面 (透過
nic0nic7)。
如要進一步瞭解這些使用案例,請參閱以內部直通式網路負載平衡器為下一個躍點。
內部直通式網路負載平衡器和 GKE
如要瞭解 GKE 如何為服務建立內部直通式網路負載平衡器,請參閱 GKE 說明文件中的「LoadBalancer 服務概念」。
內部直通式網路負載平衡器和 App Hub
內部直通式網路負載平衡器使用的資源,可在 App Hub 應用程式中指定為服務。
Private Service Connect 連接埠對應
Private Service Connect 埠對應服務會使用埠對應 NEG,且設定與內部直通式網路負載平衡器類似。不過,通訊埠對應服務不會進行流量負載平衡。Private Service Connect 會根據接收流量的用戶端目的地通訊埠,將流量轉送至服務供應商 VM 上的服務通訊埠。
如果從與服務相同的虛擬私有雲網路傳送流量至通訊埠對應服務,封包會遭到捨棄。
詳情請參閱「關於 Private Service Connect 埠對應」。
後續步驟
- 如要深入瞭解內部直通式網路負載平衡器的架構,請參閱內部直通式網路負載平衡器架構總覽。
- 如要瞭解外部直通式網路負載平衡器的詳細架構資訊,請參閱「外部直通式網路負載平衡器架構總覽」。