內部直通式網路負載平衡器簡介

內部直通式網路負載平衡器是區域負載平衡器,以 Andromeda 網路虛擬化堆疊為基礎建構而成。

內部直通式網路負載平衡器會在虛擬私有雲 (VPC) 網路中,將流量分配至相同區域的內部虛擬機器 (VM) 執行個體。可讓您透過內部 IP 位址執行及調度服務資源。請注意,這類 IP 位址只能由相同虛擬私有雲網路中的系統,或連線至虛擬私有雲網路的系統存取。

在以下情況中使用內部直通式網路負載平衡器:

  • 您需要高效能的第 4 層直通式負載平衡器,適用於 TCP、UDP、ICMP、ICMPv6、SCTP、ESP、AH 和 GRE 通訊協定。
  • 如果透過 TLS (SSL) 提供流量,您可以接受由後端 (而非負載平衡器) 終止的 SSL 流量。內部直通式網路負載平衡器無法終止 SSL 流量。
  • 您必須轉送未經 Proxy 處理的原始封包。舉例來說,如果您需要保留用戶端來源 IP 位址。
  • 您有一個使用直通負載平衡器的現有設置,並且想要在不進行任何變更的情況下進行遷移。

內部直通式網路負載平衡器可解決許多應用實例問題。如需幾個高階範例,請參閱直通式網路負載平衡器總覽

內部直通式網路負載平衡器的運作方式

內部直通式網路負載平衡器具有前端 (轉送規則) 和後端 (後端服務)。您可以在後端服務上使用執行個體群組或 GCE_VM_IP 地區 NEG 做為後端。這個範例顯示執行個體群組後端。

內部直通式網路負載平衡器整體架構範例。
高層級內部直通式網路負載平衡器範例 (按一下可放大)。

與 Proxy 負載平衡器不同,內部直通式網路負載平衡器不會終止來自用戶端的連線,然後開啟連至後端的新連線。內部直通式網路負載平衡器會直接將連線從用戶端轉送至狀況良好的後端,不會中斷連線。來自健康狀態良好的後端 VM 的回應會直接傳送至用戶端,而不會透過負載平衡器傳回。TCP 回應會使用直接伺服器傳回。詳情請參閱「TCP 和 UDP 要求與傳回封包」。

負載平衡器會使用健康狀態檢查探測,監控後端健康狀態。詳情請參閱「健康狀態檢查」一節。

Google Cloud Linux 訪客環境Windows 訪客環境或同等程序會為每個後端 VM 設定負載平衡器的 IP 位址。如果是從 Google Cloud 映像檔建立的 VM,訪客代理程式 (舊稱 Windows 訪客環境或 Linux 訪客環境) 會安裝負載平衡器 IP 位址的本機路徑。以 Container-Optimized OS 為基礎的 Google Kubernetes Engine 執行個體會改用 iptables 來實作這項功能。

Google Cloud 虛擬網路會視情況管理流量傳輸和擴充作業。

通訊協定、機制和範圍

每個內部直通式網路負載平衡器都支援下列項目:

  • 一個負載平衡機制為 INTERNAL 的後端服務,以及支援的通訊協定。詳情請參閱後端服務
  • 後端 VM,指定方式如下:
  • 使用執行個體群組後端時,支援 IPv4 和 IPv6 流量。含有 GCE_VM_IP 端點的區域性網路端點群組 (NEG) 僅支援 IPv4 流量。
  • 一或多項轉送規則,每項規則都使用 TCPUDPL3_DEFAULT 通訊協定,與後端服務的通訊協定相符。
  • 每個轉送規則都有專屬的 IP 位址,或多個轉送規則共用一個 IP 位址
  • 每項轉送規則最多可設定五個通訊埠,或設定所有通訊埠。
  • 如果啟用全域存取權,任何區域的用戶端都能存取。
  • 如果停用全域存取權,則只有與負載平衡器位於相同區域的用戶端,

內部直通式網路負載平衡器不支援下列項目:

用戶端存取權

根據預設,負載平衡器僅支援與負載平衡器位於相同區域的用戶端。用戶端可與負載平衡器位於相同的網路中,或是位於透過 VPC 網路對等互連連線的 VPC 網路中。您可以啟用全域存取權,允許任何區域的用戶端存取內部直通式網路負載平衡器。

已啟用全域存取權的內部直通式網路負載平衡器。
具有全域存取權的內部直通式網路負載平衡器 (按一下可放大)。

下表摘要列出用戶端存取權。

全域存取權已停用 已啟用全域存取權
用戶端必須與負載平衡器位於相同區域。此外,這些執行個體必須與負載平衡器位於同一個 VPC 網路,或是透過 VPC 網路對等互連連線至負載平衡器 VPC 網路的 VPC 網路。 用戶端可位於任何區域。但仍須與負載平衡器位於同一個 VPC 網路,或位於透過 VPC 網路對等互連連線至負載平衡器 VPC 網路的 VPC 網路。
地端部署的用戶端可以透過 Cloud VPN 通道或 VLAN 連結存取負載平衡器。這些通道或附件必須與負載平衡器位於相同區域。 地端部署的用戶端可透過 Cloud VPN 通道或 VLAN 連結存取負載平衡器。這些通道或附件可以在任何區域。

要求和回傳封包的 IP 位址

後端 VM 從用戶端收到達到負載平衡的封包時,封包的來源和目的地如下:

  • 來源:用戶端的內部 IPv4、IPv6,或用戶端別名 IPv4 範圍的其中一個 IPv4 位址。
  • 目的地:負載平衡器轉送規則的 IP 位址。轉送規則會使用單一 內部 IPv4 位址內部 IPv6 範圍

由於負載平衡器是直通式負載平衡器 (而非 Proxy),封包抵達時會帶有負載平衡器轉送規則的目的地 IP 位址。設定在後端 VM 上執行的軟體,以執行下列操作:

  • 偵聽 (繫結) 負載平衡器的轉送規則 IP 位址或任何 IP 位址 (0.0.0.0::)
  • 如果負載平衡器轉送規則的通訊協定支援通訊埠:監聽 (繫結至) 負載平衡器轉送規則中包含的通訊埠

回傳封包會從負載平衡器的後端 VM 直接傳送至用戶端。回傳封包的來源和目的地 IP 位址取決於通訊協定:

  • TCP 是以連線為導向,因此後端 VM 必須使用來源 IP 位址與轉送規則 IP 位址相符的封包回覆,用戶端才能將回應封包與適當的 TCP 連線建立關聯。
  • UDP 沒有連線,因此後端 VM 可以傳送來源 IP 位址與轉送規則 IP 位址相符的回應封包,也可以傳送來源 IP 位址與 VM 任何指派 IP 位址相符的回應封包。實際上,大多數用戶端都希望回應來自傳送封包的相同 IP 位址。

下表摘要列出回應封包的來源和目的地:

流量類型 來源 目的地
TCP 負載平衡器轉送規則的 IP 位址 要求封包的來源
UDP 在大多數情況下,負載平衡器轉送規則的 IP 位址 1 要求封包的來源

1 您可以將回應封包的來源設為 VM NIC 的主要內部 IPv4 位址或別名 IP 位址範圍。如果 VM 啟用 IP 轉送,也可以使用任意 IP 位址來源。不使用轉送規則的 IP 位址做為來源是進階情境,因為用戶端會收到來自內部 IP 位址的回應封包,而該 IP 位址與用戶端傳送要求封包的 IP 位址不符。

架構

具有多個後端的內部直通式網路負載平衡器,會將連線分配到所有後端。如要瞭解分配方法和其設定選項,請參閱流量分配一節。

您可以選擇使用執行個體群組或可用區 NEG,但不能同時使用兩者,做為內部直通式網路負載平衡器的後端:

  • 如果選擇執行個體群組,可以使用非代管執行個體群組、區域代管執行個體群組、地區代管執行個體群組,或執行個體群組類型的組合。
  • 如果選擇可用區 NEG,則必須使用 GCE_VM_IP 可用區 NEG。

高可用性說明如何設計不依賴單一區域的內部負載平衡器。

做為內部直通式網路負載平衡器的後端 VM 的執行個體,必須執行適當的 Linux 或 Windows 訪客環境,或其他提供等效功能的處理程序。這個訪客環境必須能夠與中繼資料伺服器 (metadata.google.internal、169.254.169.254) 聯絡,並讀取執行個體中繼資料,以產生本機路徑,接收傳送至負載平衡器內部 IP 位址的流量。

這個架構圖說明瞭位於兩個單獨執行個體組中的 VM 之間的流量分配。從用戶端執行個體傳送至負載平衡器 IP 位址 (10.10.10.9) 的流量,會分配到任一執行個體群組的後端 VM。從任何服務後端 VM 傳送的回應,都會直接傳遞至用戶端 VM。

您可以將內部直通式網路負載平衡器與自訂模式或自動模式虛擬私人雲端網路搭配使用,也可以使用現有的舊版網路建立內部直通式網路負載平衡器。

內部直通式網路負載平衡器不支援下列項目:

內部 IP 位址

內部直通式網路負載平衡器支援僅限 IPv4、雙重堆疊和僅限 IPv6 的子網路。如要進一步瞭解各種類型,請參閱「子網路類型」。

內部直通式網路負載平衡器至少需要一個轉送規則。轉送規則會參照內部 IP 位址:

  • 如果是 IPv4 流量,轉送規則會參照主要 IPv4 子網路範圍的 IPv4 位址。
  • 如果是 IPv6 流量,轉送規則會參照子網路/64內部 IPv6 位址範圍中的/96內部 IPv6 位址範圍。子網路必須是雙重堆疊或單一堆疊的「僅限 IPv6」子網路 (搶先版),且具有內部 IPv6 位址範圍 (ipv6-access-type 設為 INTERNAL)。IPv6 位址範圍可以是保留的靜態位址或臨時位址。

    如要進一步瞭解 IPv6 支援,請參閱虛擬私有雲說明文件中的「IPv6 子網路範圍」和「IPv6 位址」。

防火牆設定

內部直通網路負載平衡器需要下列階層式防火牆政策和 VPC 防火牆規則設定:

詳情請參閱設定防火牆規則

轉送規則

轉送規則會指定負載平衡器接收流量的通訊協定和通訊埠。 由於內部直通式網路負載平衡器不是 Proxy,因此會透過相同的通訊協定和通訊埠將流量傳送至後端。

內部直通式網路負載平衡器至少需要一個內部轉送規則。您可以為同一個負載平衡器定義多個轉送規則

如要讓負載平衡器同時處理 IPv4 和 IPv6 流量,請建立兩個轉送規則:一個規則用於 IPv4 流量,指向 IPv4 (或雙重堆疊) 後端;另一個規則用於 IPv6 流量,僅指向雙重堆疊後端。IPv4 和 IPv6 轉送規則可以參照相同的後端服務,但後端服務必須參照雙重堆疊後端。

轉送規則必須參照與負載平衡器後端元件位於相同虛擬私有雲網路和區域的特定子網路。這項規定有下列影響:

  • 您為轉送規則指定的子網路不必與後端 VM 使用的任何子網路相同;但是,子網路必須與轉送規則位於同一個地區。
  • 如果是 IPv4 流量,內部轉送規則會參照您所選子網路主要 IPv4 位址範圍中的區域內部 IPv4 位址。系統會自動選取這個 IPv4 位址,您也可以使用靜態 (保留) IPv4 位址。
  • 如果是 IPv6 流量,轉送規則會參照子網路/64內部 IPv6 位址範圍的 /96 IPv6 位址範圍。子網路必須是雙重堆疊子網路,且 ipv6-access-type 設為 INTERNAL/96 IPv6 位址範圍會自動指派,您也可以使用預留的內部 IP 位址

轉送規則通訊協定

內部直通式網路負載平衡器支援下列 IPv4 通訊協定選項,適用於各項轉送規則:TCPUDPL3_DEFAULT

內部直通式網路負載平衡器支援下列 IPv6 通訊協定選項,適用於各項轉送規則:TCPUDP

L3_DEFAULT 選項可讓您平衡 TCP、UDP、ICMP、ICMPv6、SCTP、ESP、AH 和 GRE 通訊協定的負載。

除了支援 TCP 和 UDP 以外的通訊協定,L3_DEFAULT 選項還可讓單一轉送規則同時轉送多種通訊協定的流量。舉例來說,除了發出 HTTP 要求,您也可以對負載平衡器 IP 位址執行連線偵測 (ping)。

使用 TCPUDP 通訊協定的轉送規則,可以透過與轉送規則相同的通訊協定,或使用 UNSPECIFIED 通訊協定的後端服務,參照後端服務。

如果您使用 L3_DEFAULT 通訊協定,必須設定轉送規則,接受所有通訊埠的流量。如要設定所有連接埠,請使用 Google Cloud CLI 設定 --ports=ALL,或使用 API 設定 allPortsTrue

下表摘要說明如何針對不同通訊協定使用這些設定:

要進行負載平衡的流量 轉送規則通訊協定 後端服務通訊協定
TCP (IPv4 或 IPv6) TCP TCP or UNSPECIFIED
UDP (IPv4 或 IPv6) UDP UDP or UNSPECIFIED
TCP、UDP、ICMP、ICMPv6、SCTP、ESP、AH 和 GRE L3_DEFAULT UNSPECIFIED

轉送規則和全域存取權

即使啟用全域存取權,內部直通式網路負載平衡器的轉送規則仍屬於區域性。啟用全域存取權後,區域性內部轉送規則的 allowGlobalAccess 旗標會設為 true

轉送規則和通訊埠規格

建立內部轉送規則時,您必須選擇下列其中一種通訊埠規格:

  • 用數字指定至少一個 (最多五個) 通訊埠。
  • 指定 ALL 即可將流量轉送至所有通訊埠。

支援所有 TCP 通訊埠或所有 UDP 通訊埠的內部轉送規則,可讓後端 VM 執行多個應用程式,每個應用程式使用自己的通訊埠。系統會將傳送至特定通訊埠的流量傳遞至對應的應用程式,且所有應用程式都使用相同的 IP 位址。

如要轉送超過五個特定通訊埠的流量,請將防火牆規則與轉送規則合併。建立轉送規則時,請指定所有連接埠,然後建立輸入 allow 防火牆規則,只允許流量傳輸至所需連接埠。將防火牆規則套用至後端 VM。

轉送規則建立後即無法修改,如要變更內部轉送規則指定的通訊埠或內部 IP 位址,則必須先刪除該項規則並重新建立。

單一後端服務的多個轉送規則

您可以設定多個內部轉送規則,全部參照同一個內部後端服務。內部直通式網路負載平衡器至少需要一個內部轉送規則。

為同一個後端服務設定多個轉送規則,可讓您執行下列操作:

  • 將多個 IP 位址指派給負載平衡器。您可以建立多個轉送規則,每個規則使用一個專屬 IP 位址。每項轉送規則都能指定所有通訊埠,或最多五個通訊埠的組合。

  • 為負載平衡器指派一組特定通訊埠,並使用相同的 IP 位址。您可以建立多個共用相同 IP 位址的轉送規則,每個轉送規則最多可使用五個通訊埠。這是設定指定所有通訊埠的單一轉送規則的替代做法。

如要進一步瞭解涉及共用內部 IP 位址的兩個或多個內部轉送規則情境,請參閱包含共用 IP 位址的多個轉送規則

使用多個內部轉送規則時,請務必設定在後端 VM 上執行的軟體,將軟體繫結至所有轉送規則 IP 位址,或任何位址 (IPv4 為 0.0.0.0/0,IPv6 為 ::/0)。透過負載平衡器傳遞的封包目的地 IP 位址,是與對應內部轉送規則相關聯的內部 IP 位址。詳情請參閱「TCP 和 UDP 要求與傳回封包」。

後端服務

每個內部直通式網路負載平衡器都有一個區域內部後端服務,用於定義後端參數和行為。後端服務的名稱即為 Google Cloud 控制台中顯示的內部直通式網路負載平衡器名稱。

每個後端服務都會定義下列後端參數:

  • 通訊協定。後端服務支援 IPv4 和 IPv6 流量。 如果通訊協定有通訊埠的概念 (例如 TCPUDP),後端服務會將封包傳遞至傳送流量的同一目的地通訊埠上的後端 VM。

    後端服務支援下列 IPv4 通訊協定選項:TCPUDPUNSPECIFIED

    後端服務支援下列 IPv6 通訊協定選項:TCPUDP。 後端服務通訊協定必須與轉送規則通訊協調。

    如需轉送規則和後端服務通訊協定的可能組合,請參閱轉送規則通訊協定規格

  • 流量分配。後端服務可根據可設定的工作階段相依性分配流量

  • 健康檢查。後端服務必須有相關的健康狀態檢查

每個後端服務都在單一區域運作,並為單一虛擬私有雲網路中的後端 VM 分配流量:

執行個體群組後端和網路介面

在指定的 (代管或非代管) 執行個體群組中,所有 VM 執行個體的nic0網路介面都必須位於同一個虛擬私有雲網路。

  • 如果是代管執行個體群組 (MIG),執行個體群組的虛擬私有雲網路是在執行個體範本中定義。
  • 對於非代管執行個體群組,執行個體群組的虛擬私有雲網路定義為您新增至非代管執行個體群組的第一個 VM 執行個體所使用的 nic0 網路介面虛擬私有雲網路。
每個成員 VM 可以選擇性地擁有額外網路介面 (vNIC 或動態網路介面),但每個網路介面都必須連結至不同的 VPC 網路。這些網路也必須與執行個體群組相關聯的 VPC 網路不同。

如果動態 NIC 屬於負載平衡執行個體群組的 VM,可以刪除動態 NIC。

可用區性 NEG 後端和網路介面

使用 GCE_VM_IP 端點建立新的區域 NEG 時,必須先將 NEG 與虛擬私有雲網路的子網路建立關聯,才能將任何端點新增至 NEG。建立 NEG 後,子網路和 VPC 網路都無法變更。

在指定的 NEG 中,每個 GCE_VM_IP 端點實際上代表一個網路介面。網路介面必須位於與 NEG 相關聯的子網路中。從 Compute Engine 執行個體的角度來看,網路介面可以使用任何ID。從 NEG 端點的角度來看,網路介面是透過主要內部 IPv4 位址識別。

GCE_VM_IP 端點新增至 NEG 的方式有兩種:

  • 如果您在新增端點時只指定 VM 名稱 (不含任何 IP 位址), Google Cloud 會要求 VM 在與 NEG 相關聯的子網路中具有網路介面。端點選擇的 IP 位址,是與 NEG 相關聯子網路中,VM 網路介面的主要內部 IPv4 位址。 Google Cloud
  • 如果您在新增端點時同時指定 VM 名稱和 IP 位址,提供的 IP 位址必須是 VM 其中一個網路介面的主要內部 IPv4 位址。該網路介面必須位於與 NEG 相關聯的子網路中。請注意,指定 IP 位址是多餘的,因為與 NEG 相關聯的子網路中只能有一個網路介面。

如果動態 NIC 是負載平衡網路端點群組的端點,則無法刪除。

後端服務網路規格

建立後端服務時,可以使用 --network 旗標,明確將虛擬私有雲網路與後端服務建立關聯。後端服務網路規則會立即生效。

如果您在建立後端服務時省略 --network 標記,Google Cloud 會使用下列其中一個符合資格的事件,隱含地設定後端服務的相關聯 VPC 網路。設定完成後,後端服務的相關聯 VPC 網路就無法變更:

  • 如果後端服務尚未有任何相關聯的後端,且您設定第一個轉送規則來參照後端服務,Google Cloud 會將後端服務相關聯的 VPC 網路,設為包含此轉送規則所用子網路的 VPC 網路。

  • 如果後端服務尚未有參照該服務的轉送規則,且您將第一個執行個體群組後端新增至後端服務,則Google Cloud 會將後端服務的虛擬私有雲網路設為與該第一個執行個體群組後端相關聯的虛擬私有雲網路。也就是說,後端服務相關聯的 VPC 網路,是第一個執行個體群組後端中每個 VM 的 nic0 網路介面所使用的網路。

  • 如果後端服務尚未有參照該服務的轉送規則,且您將第一個區域 NEG 後端 (含 GCE_VM_IP 端點) 新增至後端服務,Google Cloud 會將後端服務的虛擬私有雲網路設為與第一個 NEG 後端相關聯的虛擬私有雲網路。

符合資格的事件設定後端服務的 VPC 網路後,您新增的任何其他轉送規則、後端執行個體群組或後端區域 NEG,都必須遵守後端服務網路規則

後端服務網路規則

後端服務與特定 VPC 網路建立關聯後,適用下列規則:

  • 設定轉送規則以參照後端服務時,轉送規則必須使用後端服務虛擬私有雲網路的子網路。轉送規則和後端服務無法使用不同的 VPC 網路,即使這些網路已連線也一樣 (例如使用 VPC 網路對等互連)。

  • 新增執行個體群組後端時,必須符合下列其中一項條件:

    • 與執行個體群組相關聯的 VPC 網路 (也就是執行個體群組中每個 VM 的網路介面所使用的 VPC 網路),必須與後端服務相關聯的 VPC 網路相符。nic0
    • 每個後端 VM 都必須在與後端服務相關聯的 VPC 網路中,具備nic0介面
  • 使用 GCE_VM_IP 端點新增區域 NEG 後端時,與 NEG 相關聯的虛擬私有雲網路必須與後端服務相關聯的虛擬私有雲網路相符。

雙重堆疊後端 (IPv4 和 IPv6)

如要讓負載平衡器使用雙重堆疊後端,同時處理 IPv4 和 IPv6 流量,請注意下列規定:

  • 後端必須在雙堆疊子網路中設定,且這些子網路與負載平衡器的 IPv6 轉送規則位於相同區域。後端可以使用 ipv6-access-type 設為 INTERNALEXTERNAL 的子網路。如果後端子網路的 ipv6-access-type 設為 EXTERNAL,您必須使用不同的雙重堆疊或僅限 IPv6 的子網路,並將 ipv6-access-type 設為 INTERNAL,才能建立負載平衡器的內部轉送規則。詳情請參閱新增雙堆疊子網路
  • 後端必須設定為雙堆疊,且 stack-type 設為 IPv4_IPv6。如果後端子網路的 ipv6-access-type 設為 EXTERNAL,則必須將 --ipv6-network-tier 設為 PREMIUM。詳情請參閱「建立具有 IPv6 位址的執行個體範本」。

僅限 IPv6 的後端

如要讓負載平衡器使用僅限 IPv6 的後端,請注意下列規定:

  • 系統僅支援非代管執行個體群組中的僅限 IPv6 執行個體。系統不支援其他後端類型。
  • 後端必須在雙重堆疊僅限 IPv6 的子網路中設定,且這些子網路與負載平衡器的 IPv6 轉送規則位於相同地區。對於後端,您可以使用 ipv6-access-type 設為 INTERNALEXTERNAL 的子網路。如果後端子網路的 ipv6-access-type 設為 EXTERNAL,則負載平衡器的內部轉送規則必須使用 ipv6-access-type 設為 INTERNAL 的其他僅限 IPv6 子網路。
  • 後端必須設為僅支援 IPv6,且 VM stack-type 設為 IPv6_ONLY。如果後端子網路的 ipv6-access-type 設為 EXTERNAL,則必須將 --ipv6-network-tier 設為 PREMIUM。詳情請參閱「建立具有 IPv6 位址的執行個體範本」。

請注意,您可以在雙重堆疊和僅限 IPv6 的子網路中建立僅限 IPv6 的 VM,但無法在僅限 IPv6 的子網路中建立雙重堆疊 VM。

後端子集

後端子集是選用功能,可限制流量分配的後端數量,進而提升效能。

如果單一負載平衡器需要支援超過 250 個後端 VM,建議您啟用子集。詳情請參閱內部直通式網路負載平衡器的後端子設定

健康狀態檢查

負載平衡器的後端服務必須與全域或區域健康狀態檢查建立關聯。 虛擬私有雲網路之外的特殊路徑,可協助健康狀態檢查系統與後端之間的通訊。

您可以使用現有的健康狀態檢查,或定義新的健康狀態檢查。內部直通式網路負載平衡器會使用健康狀態檢查狀態,判斷如何轉送新連線,詳情請參閱「流量分配」。

您可以使用下列任何健康狀態檢查通訊協定;健康狀態檢查的通訊協定不必與負載平衡器的通訊協定相符:

  • HTTP、HTTPS 或 HTTP/2。如果後端 VM 使用 HTTP、HTTPS 或 HTTP/2 提供流量,則最好使用符合該通訊協定的健康狀態檢查,因為 HTTP 型健康狀態檢查可提供該通訊協定適用的選項。透過內部直通式網路負載平衡器提供 HTTP 型流量,即代表「負載平衡器的通訊協定」為 TCP。
  • SSL 或 TCP。如果後端 VM 不提供 HTTP 型流量,建議使用 SSL 或 TCP 健康狀態檢查

無論您建立的健康狀態檢查類型為何, Google Cloud 都會將健康狀態檢查探測器傳送至內部直通式網路負載平衡器的轉送規則 IP 位址,以及負載平衡器後端服務所選虛擬私有雲網路中的網路介面。這會模擬負載平衡流量的傳送方式。在後端 VM 上執行的軟體必須回應負載平衡的流量,以及傳送至各轉送規則 IP 位址的健康狀態檢查探測器 (軟體必須監聽 0.0.0.0:_port_,而非指派給網路介面的特定 IP 位址)。詳情請參閱「探測封包的目的地」。

健康狀態檢查和 UDP 流量

Google Cloud 不提供使用 UDP 通訊協定的健康狀態檢查。 因此如果您對 UDP 流量使用內部直通式網路負載平衡器,則必須在後端 VM 上執行 TCP 型服務,以提供健康狀態檢查資訊。

在此設定中,系統會使用 UDP 通訊協定對用戶端要求進行負載平衡,並使用 TCP 服務向 Google Cloud 健康狀態檢查探測器提供資訊。舉例來說,您可以在每個後端 VM 上執行簡易 HTTP 伺服器,向 Google Cloud傳回 HTTP 200 狀態碼。在本範例中,建議您在後端 VM 上執行自己的邏輯,以確保 HTTP 伺服器只會在正確設定並執行 UDP 服務的情況下才傳回 200

高可用性架構

內部直通式網路負載平衡器在設計上具備高可用性。由於負載平衡器機制不會依賴單一裝置或 VM 執行個體,因此沒有特殊的步驟可以使負載平衡器高度可用。

如要將後端 VM 執行個體部署到多個區域,請按照下列部署建議操作:

  • 如果您可以使用執行個體範本部署軟體,請使用地區代管執行個體群組。地區代管執行個體群組會自動在多個區域之間分配流量,提供最佳方案,避免任何特定區域出現潛在問題。

  • 如果您使用區域代管執行個體群組或非代管執行個體群組,請對同一後端服務使用不同區域 (在同一區域中) 的多個執行個體群組。使用多個區域可以防範任何特定區域發生潛在問題。

共用 VPC 架構

下表彙整了搭配共用虛擬私有雲網路使用的內部直通網路負載平衡器元件需求。如需範例,請參閱「佈建共用虛擬私有雲」頁面中的建立內部直通網路負載平衡器

IP 位址 轉送規則 後端元件
必須在後端 VM 所屬的專案中定義 內部 IP 位址

如要在共用虛擬私有雲網路中使用負載平衡器, Google Cloud 內部 IP 位址必須在後端 VM 所在的服務專案中定義,必須參照主專案中所需共用虛擬私有雲網路的子網路。位址本身來自參照子網路的主要 IP 範圍。

如果您在服務專案中建立內部 IP 位址,且 IP 位址子網路位於服務專案的虛擬私有雲網路中,則內部直通網路負載平衡器會位於服務專案中。內部直通網路負載平衡器並非任何共用虛擬私有雲主專案的本機。
內部轉送規則必須在後端 VM 所屬的專案中定義。

如要在共用虛擬私有雲網路中使用負載平衡器,必須在後端 VM 所在的服務專案中定義內部轉送規則,該規則必須參照相關聯內部 IP 位址參照的相同子網路 (位於共用虛擬私有雲網路中)。

如果您在服務專案中建立內部轉送規則,且轉送規則的子網路位於服務專案的 VPC 網路中,則內部直通式網路負載平衡器會位於服務專案中。內部直通網路負載平衡器並非任何共用虛擬私有雲主專案的本機。
在共用虛擬私有雲情境中,後端 VM 位於服務專案中。必須在該服務專案中定義 地區內部後端服務和健康狀態檢查。

流量分配

內部直通式網路負載平衡器支援多種流量分配自訂選項,包括工作階段相依性、連線追蹤和容錯移轉。如要進一步瞭解內部直通式網路負載平衡器如何分配流量,以及這些選項如何相互影響,請參閱「內部直通式網路負載平衡器的流量分配」。

配額與限制

如要進一步瞭解配額和限制,請參閱負載平衡資源配額

限制

  • 您無法使用 Google Cloud 控制台,建立具有區域 NEG 後端的內部直通式網路負載平衡器。

後續步驟