Cloud Load Balancing 總覽

負載平衡器會在應用程式的多個執行個體之間分配使用者流量。以負載平衡機制分配流量,即可降低應用程式發生效能問題的風險。Google 的 Cloud Load Balancing 採用 Maglev、Andromeda、Google Front Ends 和 Envoy 等可靠且高效能的技術,這些技術也為 Google 自家產品提供支援。

Cloud Load Balancing 提供完整的區域性應用程式和網路負載平衡器組合。使用我們的負載平衡器,在單一區域的後端之間,每秒分配數百萬個要求。您可以設定這些負載平衡器,透過單一 Anycast IP 位址存取。使用區域性 Proxy 負載平衡器,實施嚴格的管轄區控制,將後端和 Proxy 保留在您的區域中,不必擔心 TLS/SSL 卸載。使用區域性直通負載平衡器,以直接伺服器回傳 (DSR) 的高效能,快速將多種通訊協定路由至後端。

Cloud Load Balancing 總覽。
Cloud Load Balancing 總覽 (按一下可放大)。

Cloud Load Balancing 的主要功能

Cloud Load Balancing 提供下列負載平衡器功能:

  • 單一 Anycast IP 位址。Cloud Load Balancing 服務會使用單一 Anycast IP 位址,做為所有後端執行個體的前端。

  • 順暢無比的自動調度資源功能。Cloud Load Balancing 服務可以隨著使用者與流量的增加而調度資源。因此,面臨突如其來的尖峰流量時,也能將其導引至其他有能力承接流量的區域。自動調度資源功能不需暖機,只要短短幾秒,就能將服務規模從零擴展到滿檔流量。Cloud Load Balancing 能立即因應使用者、流量、網路、後端健康狀態和其他相關條件的變化。

  • 軟體定義型負載平衡。Cloud Load Balancing 是完全分散式的軟體定義型代管服務,可以處理您所有的流量。這項服務不是以執行個體或裝置為基礎的解決方案,因此您不會受制於實體負載平衡基礎架構,也不會面臨執行個體型負載平衡容易產生的高可用性、規模與管理問題。

  • 第 4 層和第 7 層負載平衡。使用第 4 層負載平衡,根據網路和傳輸層通訊協定的資料 (例如 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 ) 導向流量。使用第 7 層負載平衡,根據 HTTP 標頭和統一資源識別碼等屬性,新增要求路徑決策。

  • 外部和內部負載平衡。定義負載平衡器是否可用於外部或內部存取。如果用戶端需要從網際網路連上應用程式,可以使用外部負載平衡器。如果用戶端位於Trusted Cloud內部,可以使用內部負載平衡器。詳情請參閱外部與內部負載平衡

負載平衡器類型 Trusted Cloud

Cloud Load Balancing 提供兩種負載平衡器:應用程式負載平衡器和網路負載平衡器。如要為含有 HTTP(S) 流量的應用程式使用第 7 層負載平衡器,請選取應用程式負載平衡器。如要使用支援 TLS 卸載作業的第 4 層負載平衡器 (搭配 Proxy 負載平衡器),或需要支援 UDP、ESP 和 ICMP 等 IP 通訊協定 (搭配 passthrough 負載平衡器),請選取網路負載平衡器。

應用程式負載平衡器

應用程式負載平衡器是以 Proxy 為基礎的第 7 層負載平衡器,可讓您透過 Anycast IP 位址執行服務及調度服務資源。應用程式負載平衡器會將 HTTP 和 HTTPS 流量分配給託管於各種平台 (例如 Compute Engine 和 Google Kubernetes Engine (GKE)) 的後端,以及 Trusted Cloud 外部後端Trusted Cloud。

應用程式負載平衡器可部署在外部或內部,視應用程式是否連結網際網路或為內部應用程式而定。在這兩種情況下,這些負載平衡器僅支援單一區域的後端。

  • 區域性外部應用程式負載平衡器是透過 Envoy Proxy 實作的代管服務。用戶端可以從網際網路上的任何位置連線至這些負載平衡器。應用程式負載平衡器使用開放原始碼 Envoy Proxy,提供進階流量管理功能
  • 區域性內部應用程式負載平衡器是以 Andromeda 網路虛擬化堆疊和開放原始碼 Envoy Proxy 為基礎建構而成。這個負載平衡器會根據第 7 層應用程式資料,提供以 Proxy 為基礎的內部負載平衡。負載平衡器使用的內部 IP 位址,只能由相同虛擬私有雲網路中的用戶端,或連線至虛擬私有雲網路的用戶端存取。

下圖顯示應用程式負載平衡器的範例架構。

應用程式負載平衡器架構。
應用程式負載平衡器架構 (按一下即可放大)。

網路負載平衡器

網路負載平衡器是第 4 層負載平衡器,可處理 TCP、UDP 或其他 IP 通訊協定流量。這些負載平衡器可做為 Proxy 負載平衡器或直通式負載平衡器。您可以根據應用程式需求和需要處理的流量類型,選擇負載平衡器。如要設定支援進階流量控管的反向 Proxy 負載平衡器,並將後端部署於地端和其他雲端環境,請選擇 Proxy 網路負載平衡器。如果您想保留用戶端封包的來源 IP 位址、偏好伺服器直接傳回回應,或是想處理各種 IP 通訊協定 (例如 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6),請選擇 passthrough 網路負載平衡器。

Proxy 網路負載平衡器

Proxy 網路負載平衡器是第 4 層反向 Proxy 負載平衡器,可將 TCP 流量分配至 Trusted Cloud VPC 網路中的虛擬機器 (VM) 執行個體。流量會在負載平衡層終止,然後透過 TCP 轉送至最近的可用後端。

視應用程式是連結網際網路還是內部應用程式而定,Proxy 網路負載平衡器可部署在外部或內部。在這兩種情況下,這些負載平衡器僅支援單一區域的後端。

  • 區域外部 Proxy 網路負載平衡器是第 4 層負載平衡器,可將來自網際網路的流量分配至 Trusted Cloud VPC 網路、內部部署環境或其他雲端環境中的後端。
  • 區域內部 Proxy 網路負載平衡器是以 Envoy Proxy 為基礎的區域第 4 層負載平衡器,可讓您透過內部 IP 位址執行及擴充 TCP 服務流量。請注意,這類 IP 位址只能由相同虛擬私有雲網路中的用戶端,或連線至虛擬私有雲網路的用戶端存取。

下圖顯示 Proxy 網路負載平衡器架構範例。

Proxy 網路負載平衡器架構。
Proxy 網路負載平衡器架構 (按一下可放大)。

直通式網路負載平衡器

直通式網路負載平衡器屬於第 4 層區域性直通式負載平衡器,這些負載平衡器會將流量分配給與負載平衡器位於相同區域的後端。這些功能是透過 Andromeda 虛擬網路和 Google Maglev 實作。

顧名思義,這些負載平衡器不是 Proxy。後端 VM 會收到負載平衡的封包,且封包的來源和目的地 IP 位址、通訊協定,以及來源和目的地通訊埠 (如果通訊協定是以通訊埠為準) 都不會變更。負載平衡連線會在後端終止。來自後端 VM 的回應會直接傳送至用戶端,而不會透過負載平衡器傳回。業界稱這種機制為「伺服器直接回傳」(DSR)。

如下圖所示,這些負載平衡器會以兩種模式部署,視負載平衡器是面向網際網路還是內部而定。

  • 外部直通式網路負載平衡器是建構在 Maglev 上,無論用戶端的網路服務層級為何,都能從網際網路上的任何位置連線至這些負載平衡器。負載平衡器也可以接收來自 Trusted Cloud 具有外部 IP 位址的 VM,或 Trusted Cloud 可透過 Cloud NAT 或執行個體型 NAT 存取網際網路的 VM 的流量。

    外部直通式網路負載平衡器的後端可使用後端服務目標集區部署。如果是新部署作業,建議使用後端服務。

  • 內部直通式網路負載平衡器是以 Andromeda 網路虛擬化堆疊為基礎建構而成。內部直通式網路負載平衡器可讓您透過內部負載平衡 IP 位址,對 TCP/UDP 流量進行負載平衡。請注意,這類 IP 位址只能從同一個虛擬私有雲網路中的系統存取,或是從連線至虛擬私有雲網路的系統存取。這個負載平衡器只能在進階級別中設定。

下圖顯示直通式網路負載平衡器架構範例。

直通式網路負載平衡器架構。
直通式網路負載平衡器架構 (按一下可放大)。

負載平衡器的基礎技術 Trusted Cloud

下表列出各個Trusted Cloud 負載平衡器採用的基礎技術。

  • Google Front Ends (GFE) 是位於 Google 服務點 (PoP) 的軟體定義分散式系統,可搭配其他系統和控制層一起執行全球負載平衡。
  • Andromeda 是 Google Cloud 的軟體定義網路虛擬化堆疊。
  • Maglev 是網路負載平衡的分散式系統。
  • Envoy 是開放原始碼的邊緣和服務 Proxy,專為雲端原生應用程式設計。
負載平衡器 科技
區域性外部應用程式負載平衡器 Envoy
區域性內部應用程式負載平衡器 Envoy
區域性外部 Proxy 網路負載平衡器 Envoy
區域性內部 Proxy 網路負載平衡器 Envoy
外部直通式網路負載平衡器 Maglev
內部直通式網路負載平衡器 仙女座

選取負載平衡器

如要判斷使用哪個 Cloud Load Balancing 產品,請先判斷負載平衡器必須處理的流量類型。一般來說,如要保有操作彈性,則應選擇應用程式負載平衡器,以便處理含有 HTTP(S) 流量的應用程式。如要大規模執行 TLS 卸載作業、支援 UDP,或需要向應用程式提供用戶端 IP 位址,請選取網路負載平衡器。

您還可以根據應用程式是外部 (連結網際網路) 或內部應用程式,進一步縮減選項。

下圖顯示 Cloud Load Balancing 的所有可用部署模式。詳情請參閱「選擇負載平衡器」指南。

選擇負載平衡器。
選擇負載平衡器 (按一下即可放大)。

負載平衡器類型摘要 Trusted Cloud

下表提供詳細資料,例如每個負載平衡器運作的網路服務層級,以及負載平衡架構。

負載平衡器 部署模式 流量類型 網路服務級別 負載平衡架構1
應用程式負載平衡器 區域外部 HTTP 或 HTTPS 進階或標準級 EXTERNAL_MANAGED
區域內部 HTTP 或 HTTPS 進階級 INTERNAL_MANAGED
Proxy 網路負載平衡器 區域外部 TCP 進階或標準級 EXTERNAL_MANAGED
區域內部 不具備 SSL 卸載機制的 TCP 進階級 INTERNAL_MANAGED
直通式網路負載平衡器

外部

一律為區域

TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 進階或標準級 EXTERNAL

內部

一律為區域

TCP、UDP、ICMP、ICMPv6、SCTP、ESP、AH 和 GRE 進階級 INTERNAL

1 負載平衡架構是負載平衡器的轉送規則後端服務中的屬性,用於指明負載平衡器可否處理內部或外部流量。

EXTERNAL_MANAGEDINTERNAL_MANAGED 中的「代管」一詞表示負載平衡器是做為代管服務實作,可透過 Google 前端 (GFE) 或開放原始碼 Envoy Proxy 運作。在代管的負載平衡架構中,要求會轉送到 GFE 或 Envoy Proxy。

介面

您可以使用下列介面設定及更新負載平衡器:

  • Google Cloud CLIGoogle Cloud CLI 內含的指令列工具;說明文件經常會呼叫這個工具來完成工作。如需工具的完整總覽,請參閱 gcloud CLI 指南。您可以在 gcloud compute 指令群組中找到與負載平衡相關的指令。

    您也可以使用 --help 旗標,取得任何 gcloud 指令的詳細說明。

    gcloud compute http-health-checks create --help
    
  • Trusted Cloud 控制台:您可以使用 Trusted Cloud 控制台完成負載平衡工作。

  • REST API:所有負載平衡工作均可透過 Cloud Load Balancing API 完成。API 參考文件說明瞭您可使用的資源和方法。

  • Terraform:您可以使用開放原始碼的基礎架構即程式碼工具 (例如 Terraform),佈建、更新及刪除 Trusted Cloud負載平衡基礎架構。

後續步驟