內部直通式網路負載平衡器是以 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 負載平衡器不同,內部直通式網路負載平衡器不會終止來自用戶端的連線,然後開啟連至後端的新連線。內部直通式網路負載平衡器會直接將連線從用戶端轉送至符合資格的後端,用戶端與後端之間沒有 Proxy。系統會使用直接伺服器傳回功能,傳送每個所選後端的回應。詳情請參閱「內部直通網路負載平衡器的流量分配」和「要求和回傳封包的 IP 位址」。
負載平衡器會使用健康狀態檢查探測,監控後端健康狀態。詳情請參閱「健康狀態檢查」一節。
Google Cloud Linux 訪客環境、Windows 訪客環境或同等程序會為每個後端 VM 設定負載平衡器的 IP 位址。如果是從 Google Cloud 映像檔建立的 VM,訪客代理程式 (舊稱 Windows 訪客環境或 Linux 訪客環境) 會安裝負載平衡器 IP 位址的本機路徑。以 Container-Optimized OS 為基礎的 Google Kubernetes Engine 執行個體會改用 iptables 來實作這項功能。
Google Cloud 虛擬網路會視情況管理流量傳輸和擴充作業。
通訊協定、機制和範圍
每個內部直通式網路負載平衡器都支援下列項目:
- 一個負載平衡機制為
INTERNAL的後端服務,以及支援的通訊協定。詳情請參閱後端服務。 - 後端 VM,指定方式如下:
- 位於單一地區和 VPC 網路的代管和非代管執行個體群組。
- 後端區域網路端點群組 (NEG),其中包含位於相同區域和虛擬私有雲網路的
GCE_VM_IP類型端點。NEG 中的端點必須是主要內部 IP 位址,且位於 NEG 使用的相同子網路和區域。
- 使用執行個體群組後端時,支援 IPv4 和 IPv6 流量。具有
GCE_VM_IP端點的區域性網路端點群組 (NEG) 僅支援 IPv4 流量。 - 一或多項轉送規則,每項規則都使用
TCP、UDP或L3_DEFAULT通訊協定,與後端服務的通訊協定相符。 - 每個轉送規則都有專屬的 IP 位址,或多個轉送規則共用一個 IP 位址。
- 每項轉送規則最多可設定五個通訊埠,或設定所有通訊埠。
- 如果啟用全域存取權,任何區域的用戶端。
- 如果停用全域存取權,只有與負載平衡器位於相同區域的用戶端可以存取。
內部直通式網路負載平衡器不支援下列項目:
- 多個區域中的後端 VM。
- 平衡來自網際網路的流量,除非搭配外部負載平衡器使用。
- 具有片段化標頭的 IPv6 封包。
用戶端存取權
根據預設,負載平衡器僅支援與負載平衡器位於相同區域的用戶端。用戶端可與負載平衡器位於相同的網路中,或是位於透過 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。
您可以將內部直通網路負載平衡器與自訂模式或自動模式虛擬私有雲網路搭配使用,也可以使用現有的舊版網路建立內部直通式網路負載平衡器。
內部直通式網路負載平衡器不支援下列項目:
- 多個區域中的後端 VM
- 平衡來自網際網路的流量,除非搭配外部負載平衡器使用
- 具有片段化標頭的 IPv6 封包
內部 IP 位址
內部直通式網路負載平衡器支援僅限 IPv4、雙重堆疊和僅限 IPv6 的子網路。如要進一步瞭解各種類型,請參閱「子網路類型」。
內部直通式網路負載平衡器至少需要一項轉送規則。轉送規則會參照內部 IP 位址:
- 如果是 IPv4 流量,轉送規則會參照主要 IPv4 子網路範圍的 IPv4 位址。
如果是 IPv6 流量,轉送規則會參照子網路
/64內部 IPv6 位址範圍的/96內部 IPv6 位址範圍。子網路必須是雙重堆疊或單一堆疊的「僅限 IPv6」子網路,且具有內部 IPv6 位址範圍 (ipv6-access-type設為INTERNAL)。IPv6 位址範圍可以是保留的靜態位址或臨時位址。如要進一步瞭解 IPv6 支援,請參閱虛擬私有雲文件中的「IPv6 子網路範圍」和「IPv6 位址」。
防火牆設定
內部直通網路負載平衡器需要下列階層式防火牆政策和虛擬私有雲防火牆規則設定:
- 允許來自 IPv4 或 IPv6 健康狀態檢查來源範圍的連入流量。
- 允許來自用戶端 IPv4 或 IPv6 位址來源範圍的連入流量。
詳情請參閱設定防火牆規則。
轉送規則
轉送規則會指定負載平衡器接收流量的通訊協定和通訊埠。由於內部直通式網路負載平衡器不是 Proxy,因此會透過相同的通訊協定和通訊埠將流量傳送至後端。
內部直通式網路負載平衡器至少需要一個內部轉送規則。您可以為同一個負載平衡器定義多個轉送規則。
如要讓負載平衡器同時處理 IPv4 和 IPv6 流量,請建立兩項轉送規則:一項規則用於 IPv4 流量,指向 IPv4 (或雙重堆疊) 後端;另一項規則用於 IPv6 流量,僅指向雙重堆疊後端。IPv4 和 IPv6 轉送規則可以參照相同的後端服務,但後端服務必須參照雙重堆疊後端。
轉送規則必須參照與負載平衡器後端元件位於相同虛擬私有雲網路和區域的特定子網路。這項規定有下列影響:
- 您為轉送規則指定的子網路不必與後端 VM 使用的任何子網路相同;但是,子網路必須與轉送規則位於同一個地區。
- 如果是 IPv4 流量,內部轉送規則會參照您選取的子網路主要 IPv4 位址範圍中的區域內部 IPv4 位址。您可以指定保留的內部 IPv4 位址、自訂臨時 IPv4 位址,或讓 Google Cloud自動指派臨時 IPv4 位址,藉此指派 IPv4 位址。
如果是 IPv6 流量,轉送規則會參照子網路
/64內部 IPv6 位址範圍的/96IPv6 位址範圍。子網路必須是雙重堆疊子網路,且ipv6-access-type設為INTERNAL。您可以指定/96保留的內部 IPv6 位址、指定自訂臨時 IPv6 位址,或讓 Google Cloud自動指派臨時 IPv6 位址,藉此指派 IPv6 位址範圍。如要指定自訂暫時性 IPv6 位址,請使用 gcloud CLI 或 API。控制台不支援為轉送規則指定自訂暫時性 IPv6 位址。 Google Cloud
轉送規則通訊協定
內部直通式網路負載平衡器支援下列 IPv4 通訊協定選項,適用於各項轉送規則:TCP、UDP 或 L3_DEFAULT。
內部直通式網路負載平衡器支援下列 IPv6 通訊協定選項,適用於各項轉送規則:TCP 或 UDP。
L3_DEFAULT 選項可讓您對 TCP、UDP、ICMP、ICMPv6、SCTP、ESP、AH 和 GRE 通訊協定進行負載平衡。
除了支援 TCP 和 UDP 以外的通訊協定,L3_DEFAULT 選項還可讓單一轉送規則同時轉送多個通訊協定的流量。舉例來說,除了發出 HTTP 要求,您也可以對負載平衡器 IP 位址執行連線偵測 (ping)。
使用 TCP 或 UDP 通訊協定的轉送規則可以參照後端服務,方法是使用與轉送規則相同的通訊協定,或是使用 UNSPECIFIED 通訊協定的後端服務。
如果您使用 L3_DEFAULT 通訊協定,必須設定轉送規則,接受所有通訊埠的流量。如要設定所有連接埠,請使用 Google Cloud CLI 設定 --ports=ALL,或使用 API 將 allPorts 設為 True。
下表摘要說明如何針對不同通訊協定使用這些設定:
| 要進行負載平衡的流量 | 轉送規則通訊協定 | 後端服務通訊協定 |
|---|---|---|
| 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 流量。 如果通訊協定有通訊埠的概念 (例如
TCP或UDP),後端服務會將封包傳送至流量傳送的相同目的地通訊埠。後端服務支援下列 IPv4 通訊協定選項:
TCP、UDP或UNSPECIFIED。後端服務支援下列 IPv6 通訊協定選項:
TCP或UDP。 後端服務通訊協定必須與轉送規則通訊協調。如需轉送規則和後端服務通訊協定組合的表格,請參閱「轉送規則通訊協定規格」。
健康檢查。後端服務必須有相關的健康狀態檢查。
每個後端服務都在單一區域運作,並為單一虛擬私有雲網路中的後端 VM 分配流量:
一種後端,一個區域。後端可以是執行個體群組,也可以是區域 NEG,其中包含與後端服務和轉送規則位於相同地區的
GCE_VM_IP端點。執行個體群組後端可以是非代管執行個體群組、區域代管執行個體群組或地區代管執行個體群組。可用區性 NEG 後端必須使用GCE_VM_IP端點。一個虛擬私有雲網路。每個執行個體群組或 NEG 後端都有相關聯的 VPC 網路,即使該執行個體群組或 NEG 尚未連線至後端服務也一樣。如要進一步瞭解網路如何與各類後端建立關聯,請參閱「執行個體群組後端和網路介面」和「區域性 NEG 後端和網路介面」。後端服務資源本身也具有相關聯的虛擬私有雲網路,可明確或隱含定義。如要進一步瞭解後端服務的網路,請參閱「後端服務網路規格」和「後端服務網路規則」。
執行個體群組後端和網路介面
在指定的 (代管或非代管) 執行個體群組中,所有 VM 執行個體都必須在同一個虛擬私有雲網路中擁有 nic0 網路介面。
- 如果是代管執行個體群組 (MIG),執行個體群組的虛擬私有雲網路是在執行個體範本中定義。
- 對於非代管執行個體群組,執行個體群組的虛擬私有雲網路定義為您新增至非代管執行個體群組的第一個 VM 執行個體所使用的
nic0網路介面虛擬私有雲網路。
如果動態 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 是負載平衡網路端點群組的端點,則無法刪除動態 NIC。
後端服務網路規格
建立後端服務時,您可以使用 --network 旗標,明確將虛擬私有雲網路與後端服務建立關聯。後端服務網路規則會立即生效。
如果您在建立後端服務時省略 --network 標記,Google Cloud 會使用下列其中一個符合資格的事件,隱含地設定後端服務的相關聯 VPC 網路。設定完成後,後端服務的相關聯 VPC 網路就無法變更:
如果後端服務尚未有任何相關聯的後端,且您設定第一個轉送規則來參照後端服務,Google Cloud 會將後端服務相關聯的 VPC 網路,設為包含此轉送規則所用子網路的 VPC 網路。
如果後端服務尚未有參照該服務的轉送規則,且您將第一個執行個體群組後端新增至後端服務,則Google Cloud 會將後端服務的虛擬私有雲網路設為與該第一個執行個體群組後端相關聯的虛擬私有雲網路。也就是說,後端服務相關聯的 VPC 網路,是第一個執行個體群組後端中每個 VM 的
nic0網路介面所使用的網路。如果後端服務尚未有參照該服務的轉送規則,且您將第一個區域 NEG 後端 (含
GCE_VM_IP端點) 新增至後端服務,Google Cloud 會將後端服務的虛擬私有雲網路設為與第一個 NEG 後端相關聯的虛擬私有雲網路。
符合資格的事件設定後端服務的虛擬私有雲網路後,您新增的任何其他轉送規則、後端執行個體群組或後端區域 NEG,都必須遵守後端服務網路規則。
後端服務網路規則
後端服務與特定 VPC 網路建立關聯後,適用下列規則:
設定轉送規則以參照後端服務時,轉送規則必須使用後端服務虛擬私有雲網路的子網路。轉送規則和後端服務無法使用不同的虛擬私有雲網路,即使這些網路已連線也一樣 (例如使用虛擬私有雲網路對等互連)。
新增執行個體群組後端時,必須符合下列其中一項條件:
- 與執行個體群組相關聯的 VPC 網路 (也就是執行個體群組中每個 VM 的
nic0網路介面所使用的 VPC 網路),必須與後端服務相關聯的 VPC 網路相符。 - 每個後端 VM 都必須在與後端服務相關聯的 VPC 網路中,具備非
nic0介面。
- 與執行個體群組相關聯的 VPC 網路 (也就是執行個體群組中每個 VM 的
使用
GCE_VM_IP端點新增區域 NEG 後端時,與 NEG 相關聯的虛擬私有雲網路必須與後端服務相關聯的虛擬私有雲網路相符。
雙重堆疊後端 (IPv4 和 IPv6)
如要讓負載平衡器使用雙重堆疊後端,同時處理 IPv4 和 IPv6 流量,請注意下列規定:
- 後端必須在雙堆疊子網路中設定,且這些子網路與負載平衡器的 IPv6 轉送規則位於相同地區。如為後端,您可以使用子網路,並將
ipv6-access-type設為INTERNAL或EXTERNAL。如果後端子網路的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設為INTERNAL或EXTERNAL的子網路。如果後端子網路的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,建議啟用子集。詳情請參閱內部直通式網路負載平衡器的後端子設定。
健康狀態檢查
健康狀態檢查資訊可用於判斷哪些後端可接收新的連線,您也可以控管現有連線是否會繼續連線至健康狀態不良的後端。如要進一步瞭解符合資格的後端,請參閱「內部直通式網路負載平衡器的流量分配」。
健康狀態檢查類型、通訊協定和通訊埠
負載平衡器的後端服務必須參照全域或區域健康狀態檢查,並使用任何支援的健康狀態檢查通訊協定和通訊埠。健康狀態檢查通訊協定和通訊埠詳細資料不必與負載平衡器後端服務通訊協定和轉送規則 IP 通訊埠資訊相符。
由於所有支援的健康狀態檢查通訊協定都依賴 TCP,因此當您使用內部直通網路負載平衡器,平衡其他通訊協定的連線和流量時,後端 VM 必須執行 TCP 型伺服器,才能回應健康狀態檢查探測作業。舉例來說,您可以搭配使用 HTTP 健康狀態檢查,並在每個後端 VM 上執行 HTTP 伺服器。在本範例中,您的指令碼或軟體負責設定 HTTP 伺服器,只有在監聽負載平衡連線的軟體正常運作時,才會傳回狀態 200。
如要進一步瞭解支援的健康狀態檢查通訊協定和通訊埠,請參閱「健康狀態檢查類別、通訊協定和通訊埠」 和「健康狀態檢查運作方式」。
健康狀態檢查封包
健康狀態檢查探測器會將封包傳送至後端 VM 網路介面,該介面位於與後端服務網路規格相符的虛擬私有雲網路中。健康狀態檢查封包具有下列特性:
- 來自相關健康狀態檢查探測 IP 範圍的來源 IP 位址。
- 目的地 IP 位址,與參照內部直通式網路負載平衡器後端服務的轉送規則 IP 位址相符。
- 與您在健康狀態檢查中指定的通訊埠編號相符的目的地通訊埠。
後端 VM 上執行的軟體必須繫結並監聽相關的 IP 位址和通訊埠組合。最簡單的方法是將軟體設定為繫結至任何 VM IP 位址的相關連接埠 (0.0.0.0),並監聽這些連接埠。詳情請參閱「探查封包目的地」。
高可用性架構
內部直通式網路負載平衡器在設計上具備高可用性。由於負載平衡器機制不會依賴單一裝置或 VM 執行個體,因此沒有特殊的步驟可以使負載平衡器高度可用。
如要將後端 VM 執行個體部署到多個區域,請參考下列部署建議:
如果您可以使用執行個體範本部署軟體,請使用地區代管執行個體群組。地區代管執行個體群組會自動在多個區域之間分配流量,提供最佳方案,避免任何特定區域出現潛在問題。
如果您使用區域代管執行個體群組或非代管執行個體群組,請對同一後端服務使用不同區域 (在同一區域中) 的多個執行個體群組。使用多個區域可以防範任何特定區域發生潛在問題。
共用 VPC 架構
下表摘要列出搭配共用 VPC 網路使用的內部直通網路負載平衡器元件需求。如需範例,請參閱「佈建共用虛擬私有雲」頁面中的建立內部直通網路負載平衡器。
| IP 位址 | 轉送規則 | 後端元件 |
|---|---|---|
| 必須在後端 VM 所屬的專案中定義
內部 IP 位址。 如要在共用虛擬私有雲網路中使用負載平衡器, Google Cloud 內部 IP 位址必須在後端 VM 所在的服務專案中定義,且必須參照主專案中所需共用虛擬私有雲網路的子網路。位址本身來自參照子網路的主要 IP 範圍。 如果您在服務專案中建立內部 IP 位址,且 IP 位址子網路位於服務專案的虛擬私有雲網路中,則內部直通網路負載平衡器會位於服務專案中。內部直通網路負載平衡器並非任何共用虛擬私有雲主專案的本機。 |
內部轉送規則必須在後端 VM 所屬專案中定義。 如要在共用虛擬私有雲網路中使用負載平衡器,必須在後端 VM 所在的服務專案中定義內部轉送規則,且該規則必須參照相關聯內部 IP 位址參照的相同子網路 (位於共用虛擬私有雲網路中)。 如果您在服務專案中建立內部轉送規則,且轉送規則的子網路位於服務專案的虛擬私有雲網路中,則內部直通式網路負載平衡器會位於服務專案中。內部直通網路負載平衡器並非任何共用虛擬私有雲主專案的本機。 |
在共用虛擬私有雲情境中,後端 VM 位於服務專案中。必須在該服務專案中定義 地區內部後端服務和健康狀態檢查。 |
流量分配
內部直通式網路負載平衡器支援各種流量分配自訂選項,包括工作階段相依性、連線追蹤和容錯移轉。如要進一步瞭解內部直通式網路負載平衡器如何分配流量,以及這些選項如何相互影響,請參閱「內部直通式網路負載平衡器的流量分配」。
配額與限制
如要進一步瞭解配額和限制,請參閱負載平衡資源配額相關文章。
限制
- 您無法使用 Google Cloud 控制台,建立具有區域 NEG 後端的內部直通式網路負載平衡器。
後續步驟
- 如要設定及測試內部直通式網路負載平衡器,請參閱「設定內部直通式網路負載平衡器」。
- 如要為內部直通式網路負載平衡器設定 Cloud Monitoring,請參閱「內部直通式網路負載平衡器記錄和監控」。
- 如要排解內部直通式網路負載平衡器的問題,請參閱排解內部直通式網路負載平衡器的問題。
- 如要使用預建的 Terraform 範本,簡化 Google Cloud網路基礎架構的設定和管理作業,請瀏覽 Simplified Cloud Networking Configuration Solutions GitHub 存放區。