混合式連線網路端點群組總覽

Cloud Load Balancing 可將流量負載平衡至超出 Google Cloud的端點,例如可透過混合式連線存取的地端部署資料中心和其他公有雲。

混合式策略是務實的解決方案,可讓您因應不斷變化的市場需求,並逐步將應用程式現代化。這可能是暫時性的混合式部署,可讓您遷移至現代化的雲端解決方案,或是貴機構 IT 基礎架構的永久固定裝置。

設定混合負載平衡功能後,您還能將 Cloud Load Balancing 的網路功能優勢,運用在 Google Cloud以外的現有基礎架構中執行的服務。

下列 Google Cloud 負載平衡器支援混合型負載平衡:

內部部署和其他雲端服務會視為任何其他 Cloud Load Balancing 後端。主要差異在於您使用混合式連線 NEG 設定這些後端的端點。端點必須是有效的 IP:port 組合,負載平衡器可透過混合式連線產品 (例如 Cloud VPNCloud InterconnectRouter 應用程式 VM) 存取這些端點。

用途:將流量路由至內部部署位置或其他雲端

使用混合式 NEG 最簡單的用途,就是將流量從Google Cloud 負載平衡器路由至內部部署位置或其他雲端環境。用戶端可以從公開網際網路、 Google Cloud內部或內部用戶端產生流量。

公開用途的用戶端

您可以使用外部應用程式負載平衡器搭配混合 NEG 後端,將來自外部用戶端的流量轉送至內部部署或其他雲端網路中的後端。您也可以為在地端部署環境或其他雲端網路中的服務啟用下列附加價值網路功能:

  • 您可以使用全域外部應用程式負載平衡器和傳統版應用程式負載平衡器

    • 使用 Google 的全球邊緣基礎架構,在更靠近使用者的地點終止使用者連線,進而縮短延遲時間。
    • 使用 Google Cloud Armor 保護服務。這是一種邊緣分散式阻斷服務防禦/WAF 安全防護產品,適用於透過外部應用程式負載平衡器存取的所有服務。
    • 啟用服務,以便使用 Cloud CDN 最佳化傳送作業。您可以使用 Cloud CDN 在靠近使用者的位置快取內容。Cloud CDN 提供快取撤銷和 Cloud CDN 已簽署網址等功能。
    • 使用 Google 代管的 SSL 憑證。您可以重複使用其他 Google Cloud 產品已使用的憑證和私密金鑰。這樣就不必管理個別憑證。

    下圖顯示採用外部應用程式負載平衡器的混合型部署。

    與全域外部應用程式負載平衡器的混合式連線。
    混合式連線與全球外部應用程式負載平衡器 (按一下可放大)。

    在本圖中,來自公用網際網路的用戶端流量會透過負載平衡器 (例如外部應用程式負載平衡器) 進入私人內部或雲端網路。 Google Cloud 當流量抵達負載平衡器時,您可以套用網路邊緣服務,例如 Google Cloud Armor 分散式阻斷服務防護或 Identity-Aware Proxy (IAP) 使用者驗證。

  • 使用區域性外部應用程式負載平衡器,您可以將外部流量轉送至與負載平衡器資源位於同一 Google Cloud 區域的端點。如果您需要從單一地理位置提供內容 (例如為了遵守法規),或是想使用標準網路服務級別,請使用這個負載平衡器。

系統會根據網址對應的設定方式,決定要求的轉送方式 (是轉送至 Google Cloud 後端,還是轉送至內部端點/雲端端點)。負載平衡器會根據網址對應,為要求選取後端服務。如果所選後端服務已設定混合式連線 NEG (僅用於非Google Cloud 端點),負載平衡器會透過 Cloud VPN、Cloud Interconnect 或 Router 應用程式 VM 將流量轉送至指定的外部目的地。

內部用戶端 (位於 Google Cloud 或內部)

您也可以為Google Cloud內部的用戶端設定混合式部署。在這種情況下,用戶端流量來自Google Cloud VPC 網路、您的地端部署網路或其他雲端,並會路由至地端或其他雲端網路中的端點。

區域性內部應用程式負載平衡器是區域性負載平衡器,也就是說,它只能將流量轉送至與負載平衡器資源位於相同 Google Cloud 區域的端點。 跨區域內部應用程式負載平衡器是多區域負載平衡器,可將流量平均分配給全球分散的後端服務。

下圖顯示內部應用程式負載平衡器的混合型部署。

與區域內部應用程式負載平衡器的混合式連線。
混合式連線與區域性內部應用程式負載平衡器 (按一下可放大)。

用途:遷移至雲端

將現有服務遷移至雲端,可釋出地端部署容量,並降低維護地端基礎架構的成本和負擔。您可以暫時設定混合式部署,將流量路由至目前的內部部署服務和對應的Google Cloud 服務端點。

下圖顯示內部應用程式負載平衡器的這項設定。

遷移至 Google Cloud。
Migrate to Google Cloud (按一下可放大)。

如果您使用內部應用程式負載平衡器來處理內部用戶端,可以設定 Google Cloud 負載平衡器,以便使用以權重為依據的流量分割方式,在兩項服務之間分割流量。您可以先將 0% 的流量傳送至 Google Cloud 服務,再將 100% 的流量傳送至內部服務。接著,您可以逐漸提高傳送至 Google Cloud 服務的流量比重。最後,您將 100% 的流量傳送至 Google Cloud 服務,並可淘汰內部服務。

混合型架構

本節說明負載平衡架構和設定混合負載平衡部署作業所需的資源。

內部部署和其他雲端服務與其他 Cloud Load Balancing 後端相同。主要差異在於您使用混合式連線 NEG 設定這些後端的端點。端點必須是有效的 IP:port 組合,客戶才能透過混合式連線 (例如 Cloud VPN、Cloud Interconnect 或路由器設備 VM) 存取這些端點。

下圖顯示 Google Cloud 啟用外部應用程式負載平衡器和區域內部應用程式負載平衡器的混合負載平衡功能所需的資源。

全域外部 HTTP(S)

混合式連線的全域外部應用程式負載平衡器資源。
混合式連線的全球外部應用程式負載平衡器資源 (按一下可放大)。

區域性外部 HTTP(S)

混合式連線的區域性外部應用程式負載平衡器資源。
混合式連線的區域性外部應用程式負載平衡器資源 (按一下即可放大)。

區域內部 HTTP(S)

混合式連線的區域內部應用程式負載平衡器資源。
混合式連線的區域性內部應用程式負載平衡器資源 (按一下可放大)。

區域性內部 Proxy

混合式連線的區域性內部 Proxy 網路負載平衡器資源。
區域性內部 Proxy 網路負載平衡器資源,適用於混合式連線 (按一下可放大)。

區域與全球

Cloud Load Balancing 路由取決於已設定負載平衡器的範圍:

外部應用程式負載平衡器和外部 Proxy 網路負載平衡器。視所使用的網路層級而定,這些負載平衡器可設定為全域或區域路由。您可以在已設定混合式連線的相同網路和區域中,建立負載平衡器的混合式 NEG 後端。您也必須相應地設定非Google Cloud 端點,才能充分利用以距離為準的負載平衡功能。

跨區域內部應用程式負載平衡器和跨區域內部 Proxy 網路負載平衡器。這是一個跨區域負載平衡器,可將流量平均分配到遍布全球的後端服務。您可以在已設定混合式連線的相同網路和區域中,建立負載平衡器的混合式 NEG 後端。您也必須相應地設定非Google Cloud 端點,才能充分利用以距離為準的負載平衡功能。

區域性內部應用程式負載平衡器和區域性內部 Proxy 網路負載平衡器。這些是區域性負載平衡器。也就是說,它們只能將流量轉送至與負載平衡器位於同一個地區的端點。負載平衡器元件必須在已設定混合式連線的區域中設定。根據預設,存取負載平衡器的用戶端也必須位於相同的地區。不過,如果您啟用全域存取權,任何區域的用戶端都能存取負載平衡器。

舉例來說,如果 Cloud VPN 閘道或 Cloud Interconnect VLAN 連結是在 REGION_A 中設定,則負載平衡器所需的資源 (例如後端服務、混合式 NEG 或轉送規則) 必須REGION_A 區域中建立。根據預設,存取負載平衡器的用戶端也必須位於 REGION_A 區域。 不過,如果您啟用全域存取權,任何區域的用戶端都能存取負載平衡器。

網路連線需求

設定混合式負載平衡部署前,您必須先設定下列資源:

  • Google Cloud 虛擬私有雲網路。在 Google Cloud中設定的虛擬私有雲網路。這是用於設定 Cloud Interconnect/Cloud VPN 和 Cloud Router 的 VPC 網路。您也會在這個網路中建立負載平衡資源 (轉送規則、目標 Proxy、後端服務等)。內部部署、其他雲端和 Google Cloud 子網路 IP 位址和 IP 位址範圍不得重疊。如果 IP 位址重疊,系統會優先使用子網路路徑,而不是遠端連線。

  • 混合式連線您 Google Cloud 和內部部署或其他雲端環境必須透過混合式連線連線,使用 Cloud Interconnect VLAN 連結、Cloud Router 搭配 Cloud VPN 通道,或 Router 應用程式 VM。建議您使用高可用性連線。啟用全域動態轉送的 Cloud Router 會使用 BGP 取得特定端點的資訊,並將其編入Google Cloud VPC 網路。不支援地區動態轉送。也不支援靜態路徑。

    Cloud Interconnect/Cloud VPN/Router 裝置必須設定在同一個 VPC 網路中,才能用於混合式負載平衡部署作業。Cloud Router 也必須向貴機構的內部部署環境通告以下路徑

    • Google 健康狀態檢查探針使用的範圍:35.191.0.0/16130.211.0.0/22。 全域外部應用程式負載平衡器、傳統版應用程式負載平衡器、全域外部 Proxy 網路負載平衡器和傳統 Proxy 網路負載平衡器都需要這項資訊。

    • 區域的 Proxy 專用子網路範圍:適用於 Envoy 型負載平衡器 (區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器、 跨區域內部應用程式負載平衡器、區域性外部 Proxy 網路負載平衡器、 跨區域內部 Proxy 網路負載平衡器、 區域內部 Proxy 網路負載平衡器)。

      分散式 Envoy 健康狀態檢查也需要廣告區域的 Proxy 專用子網路才能運作。分散式 Envoy 健康狀態檢查是 Envoy 負載平衡器後方區域混合式連線 NEG (即 NON_GCP_PRIVATE_IP_PORT 端點) 的預設健康狀態檢查機制。

    您可以使用相同的網路,或在同一個專案中使用不同的虛擬私有雲網路,來設定混合式網路 (Cloud Interconnect 或 Cloud VPN) 和負載平衡器。注意事項:

    • 如果您使用不同的虛擬私有雲網路,則這兩個網路必須透過虛擬私有雲網路對等互連連線,或是必須是位於同一個 Network Connectivity Center 中樞虛擬私有雲網路輻條

    • 如果您使用相同的虛擬私有雲網路,請確認虛擬私有雲網路的子網路 CIDR 範圍不會與遠端 CIDR 範圍衝突。如果 IP 位址重疊,系統會優先使用子網路路徑,而不是遠端連線。

  • 在地端部署或其他雲端中的網路端點 (IP:Port)。在內部部署或其他雲端環境中設定一或多個 IP:Port 網路端點,可透過 Cloud Interconnect 或 Router 應用程式 VM 轉送。如果 IP 端點有多個路徑,轉送作業會遵循「VPC 路徑總覽」和「Cloud Router 總覽」中所述的行為。

  • 內部部署或其他雲端的防火牆規則。您必須在內部部署或其他雲端環境中建立下列防火牆規則:

    • 輸入允許防火牆規則可允許 Google 健康狀態檢查探測器的流量傳送至端點。允許的範圍為 35.191.0.0/16130.211.0.0/22。請注意,Cloud Router 也必須將這些範圍宣傳至您的內部部署網路。詳情請參閱「探測 IP 範圍和防火牆規則」。
    • 輸入允許防火牆規則可允許負載平衡的流量傳送至端點。
    • 針對以 Envoy 為基礎的負載平衡器 (區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器、 跨區域內部應用程式負載平衡器、區域性外部 Proxy 網路負載平衡器、 跨區域內部 Proxy 網路負載平衡器、 區域性內部 Proxy 網路負載平衡器),您也需要建立防火牆規則,允許來自區域Proxy 專用子網路的流量,存取內部或其他雲端環境中的端點。

負載平衡器元件

視負載平衡器類型而定,您可以使用標準或進階網路服務級別設定混合負載平衡部署。

混合型負載平衡器需要專門為後端服務設定的特殊設定。前端設定與其他負載平衡器相同。以 Envoy 為基礎的負載平衡器 (區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器、 跨區域內部應用程式負載平衡器、區域性外部 Proxy 網路負載平衡器、 跨區域內部 Proxy 網路負載平衡器、 區域性內部 Proxy 網路負載平衡器) 需要額外的僅限 Proxy 子網路,才能代表您執行 Envoy Proxy。

前端設定

混合型負載平衡不需要特殊的前端設定。轉送規則會依據 IP 位址、通訊埠和通訊協定,將流量轉送至目標 Proxy。然後目標 Proxy 終止來自用戶端的連線。

HTTP(S) 負載平衡器會使用網址對應,將要求透過網址轉送至適當的後端服務。

如要進一步瞭解這些元件,請參閱特定負載平衡器總覽的架構章節:

後端服務

後端服務會將設定資訊提供給負載平衡器,負載平衡器會利用後端服務中的資訊,將傳入流量導向至一或多個連接的後端。

如要設定混合型負載平衡部署作業,您必須為負載平衡器設定 Google Cloud內部和外部的後端。 Google Cloud

  • 非Google Cloud 後端 (地端部署或其他雲端)

    您可以使用 Google 的混合連線產品 (Cloud VPN、Cloud Interconnect 或 Router 應用程式虛擬機器) 存取的任何目的地,只要能透過有效的 IP:Port 組合存取,即可設定為負載平衡器的端點。

    請按照下列方式設定非Google Cloud 後端:

    1. 將每個非Google Cloud 網路端點的 IP:Port 組合新增至混合式連線網路端點群組 (NEG)。請確認這個 IP 位址和連接埠可透過 Google Cloud 混合式連線 (透過 Cloud VPN 或 Cloud Interconnect 或 Router 應用程式 VM) 存取。對於混合式連線 NEG,您可以將網路端點類型設為 NON_GCP_PRIVATE_IP_PORT
    2. 建立 NEG 時,請指定 Google Cloud 區域,盡可能縮短 Google Cloud 與您的地端部署或其他雲端環境之間的地理距離。舉例來說,如果您在德國法蘭克福的內部部署環境中託管服務,則可以在建立 NEG 時指定 europe-west3-a Google Cloud 區域。
    3. 將這項混合式連線 NEG 新增為後端服務的後端。

      混合式連線 NEG 只能包含非Google Cloud端點。如果混合 NEG 包含 Google Cloud 虛擬私有雲網路內資源的端點 (例如內部直通式網路負載平衡器的轉送規則 IP 位址),可能會導致流量遭到捨棄。按照下一節的說明設定 Google Cloud 端點。

  • Google Cloud 後端

    請按照下列方式設定 Google Cloud 端點:

    1. 為 Google Cloud 後端建立個別的後端服務。
    2. 在設定混合連線的同一區域中,設定多個後端 (GCE_VM_IP_PORT 區域 NEG 或執行個體群組)。

其他考量要點:

  • 每個混合式連線 NEG 只能包含相同類型的網路端點 (NON_GCP_PRIVATE_IP_PORT)。

  • 您可以使用單一後端服務,同時參照Google Cloud型後端 (使用區域 NEG 和 GCE_VM_IP_PORT 端點) 和地端部署或其他雲端後端 (使用混合連線 NEG 和 NON_GCP_PRIVATE_IP_PORT 端點)。不允許其他混合後端類型的組合。 Cloud Service Mesh 不支援在單一後端服務中混合後端類型。

  • 後端服務的負載平衡架構必須是下列其中一種:

    • EXTERNAL_MANAGED:全域外部應用程式負載平衡器、區域性外部應用程式負載平衡器、全域外部 Proxy 網路負載平衡器,以及區域性外部 Proxy 網路負載平衡器

    • EXTERNAL (適用於傳統版應用程式負載平衡器和傳統版 Proxy 網路負載平衡器)

    • INTERNAL_MANAGED (適用於內部應用程式負載平衡器和內部 Proxy 網路負載平衡器)

    INTERNAL_SELF_MANAGED 支援Cloud Service Mesh 多環境部署作業,且具有混合式連線 NEG

  • 應用程式負載平衡器的後端服務通訊協定必須為 HTTPHTTPSHTTP2,Proxy 網路負載平衡器則必須為 TCPSSL。如需各負載平衡器支援的後端服務通訊協定清單,請參閱「從負載平衡器到後端的通訊協定」。

  • 混合型 NEG 後端的平衡模式必須為應用程式負載平衡器的 RATE,或代理程式網路負載平衡器的 CONNECTION。如要進一步瞭解平衡模式,請參閱「後端服務總覽」。

  • 如要新增更多網路端點,請更新連結至後端服務的後端。

  • 如果您使用分散式 Envoy 健康狀態檢查搭配混合式連線 NEG 後端 (僅支援 以 Envoy 為基礎的負載平衡器),請務必為連結至相同後端服務的所有 NEG 設定不重複的網路端點。將相同的網路端點新增至多個 NEG 會導致未定義的行為。

集中式健康狀態檢查

使用混合型 NEG 時,全域外部應用程式負載平衡器、傳統版應用程式負載平衡器、全域外部 Proxy 網路負載平衡器和傳統 Proxy 網路負載平衡器,都需要使用集中式健康狀態檢查。其他以 Envoy 為基礎的負載平衡器會使用分散式 Envoy 健康狀態檢查,如下一個章節所述。

針對NON_GCP_PRIVATE_IP_PORT 以外的 Google Cloud端點,請在內部部署網路和其他雲端網路上建立防火牆規則。請與網路管理員聯絡,用於混合式連線的 Cloud Router 也必須通告 Google 健康檢查探針使用的範圍。要宣傳的範圍為 35.191.0.0/16130.211.0.0/22

針對 Google Cloud中的其他類型後端,請按照此範例所示,在Google Cloud 上建立防火牆規則。

相關說明文件:

分散式 Envoy 健康狀態檢查

健康狀態檢查設定會因負載平衡器類型而異:

  • 全域外部應用程式負載平衡器、傳統版應用程式負載平衡器、全域外部 Proxy 網路負載平衡器和傳統版 Proxy 網路負載平衡器。這些負載平衡器不支援分散式 Envoy 健康狀態檢查。這些檢查會使用 Google 的集中式健康狀態檢查機制,如「集中式健康狀態檢查」一節所述。
  • 區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器、區域性外部 Proxy 網路負載平衡器、區域性內部 Proxy 網路負載平衡器、跨區域內部 Proxy 網路負載平衡器,以及跨區域內部應用程式負載平衡器。這些負載平衡器會使用分散式 Envoy 健康狀態檢查,檢查混合型 NEG 的健康狀態。健康狀態檢查探測來自 Envoy 代理程式軟體本身。每個後端服務都必須與健康狀態檢查建立關聯,以便檢查後端的健康狀態。健康狀態檢查探測器來自該地區僅限 Proxy 子網路中的 Envoy Proxy。如要讓健康狀態檢查探測正常運作,您必須在外部環境中建立防火牆規則,讓僅限 Proxy 子網路的流量可到達外部後端。

    針對位於 Google Cloud以外的 NON_GCP_PRIVATE_IP_PORT 端點,您必須在內部部署網路和其他雲端網路上建立這些防火牆規則。請與網路管理員聯絡,您用於混合式連線的 Cloud Router 也必須宣傳該區域的僅限 Proxy 子網路範圍。

如要建立分散式 Envoy 健康狀態檢查,請使用相同的Google Cloud 控制台、gcloud CLI 和 API 程序建立集中式健康狀態檢查。無需其他設定。

注意事項:

  • 不支援 gRPC 健康狀態檢查。
  • 不支援啟用 Proxy 通訊協定第 1 版的健康狀態檢查。
  • 如果您使用混合式 NEG,其中單一後端服務結合了區域性 NEG (Google Cloud內的 GCE_VM_IP_PORT 端點) 和混合式 NEG ( Google Cloud外部的 NON_GCP_PRIVATE_IP_PORT 端點),您需要設定防火牆規則,允許來自 Google 健康檢查探針 IP 範圍 (130.211.0.0/2235.191.0.0/16) 的流量,連往Google Cloud上的區域性 NEG 端點。這是因為區域性 NEG 會使用 Google 的集中式健康檢查系統。
  • 由於 Envoy 資料層會處理健康狀態檢查,因此您無法使用Google Cloud 主控台、API 或 gcloud CLI 檢查這些外部端點的健康狀態。如果混合型 NEG 使用以 Envoy 為基礎的負載平衡器, Google Cloud 主控台會顯示健康狀態檢查狀態為 N/A。這是可預期的情況。

  • 每個 Envoy Proxy 都會指派至 VPC 網路中該區域的僅限 Proxy 子網路,並獨立啟動健康狀態檢查。因此,您可能會因為健康檢查而發現網路流量增加。費用增加的幅度取決於在某個區域中指派給虛擬私有雲網路的 Envoy Proxy 數量、這些 Proxy 收到的流量量,以及每個 Envoy Proxy 需要進行健康檢查的端點數量。在最糟糕的情況下,健康檢查所產生的網路流量會以平方 (O(n^2)) 的速度增加。

  • 分散式 Envoy 健康狀態檢查的健康狀態檢查記錄檔不包含詳細的健康狀態。如要進一步瞭解記錄內容,請參閱「健康狀態檢查記錄」。如要進一步排解 Envoy Proxy 與 NEG 端點之間的連線問題,請一併檢查各自的負載平衡器記錄。

相關說明文件:

限制

  • 用於混合式連線的 Cloud Router 必須啟用全域動態轉送。不支援區域動態轉送和靜態路徑。
  • 對於以 Envoy 為基礎的區域負載平衡器 (區域性外部應用程式負載平衡器、區域性外部 Proxy 網路負載平衡器、區域性內部 Proxy 網路負載平衡器,以及區域性內部應用程式負載平衡器),混合式連線必須與負載平衡器位於相同的區域。如果在不同區域中設定,後端可能會顯示為健康狀態,但用戶端要求不會轉送至後端。
  • 這裡說明的負載平衡器與後端之間加密連線的考量事項,也適用於混合式連線 NEG 中設定的非Google Cloud 後端端點。

    請務必檢查混合式連線設定的安全性設定。高可用性 VPN 連線預設為加密 (IPsec)。根據預設,Cloud Interconnect 連線不會加密。詳情請參閱「傳輸中資料加密」白皮書。

記錄

將混合型 NEG 中的端點做為 Proxy 的要求,會以與其他後端要求相同的方式記錄至 Cloud Logging。如果您為全域外部應用程式負載平衡器啟用 Cloud CDN,也會記錄快取命中。

如需詳細資訊,請參閱:

配額

您可以根據現有網路端點群組配額,設定任意數量的混合式網路端點群組。詳情請參閱「NEG 後端」和「每個 NEG 的端點」。

後續步驟