區域性網路端點群組簡介

網路端點群組 (NEG) 是網路端點的集合。NEG 中的每個端點都必須指向 VM 網路介面的專屬 IP 位址。一個網路端點只能屬於一個網路端點群組。單一 IP 位址「不得」由 NEG 中的多個端點參照。不過,不同 NEG 中的端點可以參照單一 IP 位址。下圖以風格化的方式呈現這個概念。在圖表中,「IP 位址 - 2」和「IP 位址 - 3」是由位於不同網路端點群組的網路端點參照。

網路端點群組是網路端點的集合。
網路端點群組 (按一下可放大)。

可用區 NEG 是可用區資源,代表單一虛擬私有雲子網路內 Google Cloud 資源的 IP 位址集合,或 IP 位址和通訊埠組合。可用區 NEG 可讓您執行下列操作:

  • 將封包轉送至 VM 執行個體的任何網路介面,包括 nic0 以外的介面。這樣一來,您就能建立 IP 位址和通訊埠的邏輯群組,代表軟體服務,而非整個 VM。

  • 建立一組彈性的不重複端點 IP 位址,或 IP 位址和通訊埠。

視組成 NEG 的網路端點類型而定,可用區 NEG 分為兩種類型。這兩種可用區 NEG 支援不同的用途和負載平衡器類型。

含有 GCE_VM_IP 個端點的 NEG

這些可用區 NEG 包含一或多個 GCE_VM_IP 端點,每個端點都具有下列其中一個 IP 位址:

  • Compute Engine VM 網路介面的主要內部 IPv4 位址。
  • 指派給 Compute Engine VM 網路介面的 /96 範圍內第一個 IPv6 位址 (/128)。

使用 GCE_VM_IP 端點時,您可以選取網路介面的主要內部 IPv4 位址或第一個 IPv6 位址,這提供的精細程度與直接選取網路介面類似。

GCE_VM_IP 端點無法指向別名 IPv4 範圍中的 IP 位址。GCE_VM_IP 端點參照的網路介面必須與 NEG 位於相同子網路。

如下表所示,GCE_VM_IP 端點可以參照堆疊類型為僅限 IPv4、僅限 IPv6 或雙重堆疊的 VM 網路介面。您「無法」將同時為 IPv4 和 IPv6 的端點 (雙重堆疊端點) 新增至 GCE_VM_IP 區域 NEG。換句話說,建立 GCE_VM_IP 端點時,只能使用一個 IP 位址。

網路端點 相容的 VM 網路介面
IPv4 端點 (主要) 僅限 IPv4 的介面
IPv4 端點 (主要) 雙協定介面
IPv6 端點 (範圍內第一個) (預先發布版) 僅限 IPv6 的介面
IPv6 端點 (範圍內第一個) (預先發布版) 雙協定介面

由於 GCE_VM_IP 端點會識別網路介面,因此您「無法」使用 GCE_VM_IP 端點指定通訊埠。

這類端點只能做為內部直通式網路負載平衡器和區域性外部直通式網路負載平衡器的後端服務中的後端。

含有 GCE_VM_IP_PORT 個端點的 NEG

這些可用區 NEG 包含一或多個 GCE_VM_IP_PORT 端點,每個端點都具有下列其中一種 IP 位址組合,以及目的地通訊埠:

  • 主要 IPv4 位址 + 通訊埠:VM 網路介面的主要內部 IPv4 位址,加上目的地通訊埠編號

  • 別名 IPv4 位址 + 通訊埠:指派給 VM 網路介面的別名 IP 位址範圍中的內部 IPv4 位址,加上目的地通訊埠編號

  • 主要 IPv4 位址 + 任何 IPv6 位址 + 通訊埠:VM 網路介面的主要內部 IPv4 位址,以及從指派給 VM 網路介面的 /96 範圍中取得的任何 IPv6 位址 (/128),加上目的地通訊埠編號

  • 別名 IPv4 位址 + 任何 IPv6 位址 + 通訊埠:指派給 VM 網路介面的別名 IP 位址範圍中的內部 IPv4 位址,以及指派給 VM 網路介面的 /96 範圍中的任何 IPv6 位址 (/128),加上目的地通訊埠編號

  • IPv6 位址 + 通訊埠:指派給 VM 網路介面的 /96 範圍中的任何 IPv6 位址 (/128),加上目的地通訊埠編號

相較於 GCE_VM_IP 端點,GCE_VM_IP_PORT 端點不僅能選取網路介面的主要 IP 位址,還能選取任何 IP 位址,因此 GCE_VM_IP_PORT 端點提供的精細程度高於僅選取網路介面。

GCE_VM_IP_PORT 端點參照的網路介面必須與 NEG 位於相同子網路。如果省略GCE_VM_IP_PORT端點的通訊埠號碼, Google Cloud 會使用 NEG 的預設通訊埠號碼。

如下表所示,GCE_VM_IP_PORT 端點可以參照 VM 的網路介面,其堆疊類型可以是僅限 IPv4、僅限 IPv6 或雙重堆疊。

網路端點 相容的 VM 網路介面
IPv4 端點 (主要或別名) 僅限 IPv4 的介面
IPv4 端點 (主要或別名) 雙協定介面
IPv6 端點 (/96 範圍內的任何端點) (預先發布版) 僅限 IPv6 的介面
IPv6 端點 (/96 範圍內的任何端點) (預先發布版) 雙協定介面

IPv4 (主要或別名) 和 IPv6 (/96 範圍內的任何位址) 端點

也稱為雙堆疊端點

雙協定介面

由於這些可用區 NEG 後端可讓您指定 IP 位址和通訊埠,因此您能以精細的方式,在 VM 執行個體「內」執行的應用程式或容器之間分配流量,也就是容器原生負載平衡。GKE 會將 GCE_VM_IP_PORT 端點用於:

您可以建立自行管理的負載平衡器,使用GCE_VM_IP_PORT端點由 GKE 管理的可用區 NEG。詳情請參閱「透過獨立可用區 NEG 使用容器原生負載平衡功能」。

應用程式負載平衡器和 Proxy 網路負載平衡器支援具有 GCE_VM_IP_PORT 端點的可用區 NEG。

端點規格

建立 NEG 時,請選取可用區、網路和子網路。

如果您選取的網路是自動模式虛擬私有雲網路,則可省略指定子網路。不過,子網路仍與可用區 NEG 相關聯。如果指定自動模式虛擬私有雲網路,但在建立可用區 NEG 時未指定子網路,則系統會使用自動建立的子網路,該子網路位於您為可用區 NEG 選取的可用區所在區域。

將端點新增至 NEG 時,對應的執行個體網路介面必須位於 NEG 的子網路中。如果只指定執行個體名稱,系統會自動選取該子網路中的執行個體介面。如果同時指定 IP 位址,該位址必須屬於該特定介面。如果是多 NIC 執行個體,您必須使用與介面子網路相關聯的 NEG,才能透過該介面接收流量。在所有情況下,只有在 NEG 子網路中的介面是負載平衡器目標介面時,才能成功連結。

建立 NEG 時,您會指定要建立的可用區 NEG 類型 (GCE_VM_IP 或 GCE_VM_IP_PORT),這會決定 NEG 支援的端點類型。

GCE_VM_IP 個可用區 NEG

在特定 NEG 中,每個 GCE_VM_IP 端點實際上都代表一個網路介面。

GCE_VM_IP 區域 NEG 必須符合下列條件:

  • 您必須為每個端點指定 VM 名稱。

  • 每個端點 VM 都必須與 NEG 位於相同可用區。

  • GCE_VM_IP NEG 中的每個端點都必須是專屬 IP 位址。一個不重複的端點 IP 位址可由多個 NEG 參照。

  • 每個 GCE_VM_IP NEG 一律會與網路和子網路建立關聯。只要多 NIC VM 執行個體的網路介面 IP 位址與 NEG 位於相同子網路,就能新增至 NEG。

  • 每個 NEG 支援的端點數量上限,請參閱「每個 NEG 的端點數量上限」。端點必須分散在所有不重複的 VM 中。多個端點無法位於單一 VM,因為 VM 不能有多個與相同子網路相關聯的網路介面。

為 GCE_VM_IP NEG 新增端點時,您可以選擇是否要指定 IP 位址:

  • 如果指定 IP 位址,則必須設為 VM 網路介面的主要內部 IPv4 位址或第一個 IPv6 位址 (/128)。

  • 如果省略 IP 位址,系統會根據 NEG 子網路中的網路介面選取 IP 位址。如果端點參照僅限 IPv4 或雙重堆疊網路介面,系統會選取 VM 網路介面的主要內部 IPv4 位址,做為端點 IP 位址。如果端點參照僅限 IPv6 的網路介面,系統會選取 VM 網路介面的第一個 IPv6 位址 (/128) 做為端點 IP 位址。

GCE_VM_IP_PORT 個可用區 NEG

在特定 NEG 中,每個 GCE_VM_IP_PORT 端點不僅可以代表網路介面的主要 IP 位址,也可以代表網路介面的任何 IP 位址。

GCE_VM_IP_PORT 區域 NEG 必須符合下列條件:

  • 您必須為每個端點指定 VM 名稱。

  • 每個端點 VM 都必須與 NEG 位於相同可用區。

  • NEG 中的每個端點都必須是專屬的 IP 位址和通訊埠組合。多個 NEG 可以參照同一個不重複的端點 IP 位址和通訊埠組合。

  • 每個端點 VM 都必須在與 NEG 相同的虛擬私有雲網路中,設有網路介面。端點 IP 位址必須與指定為 NEG 的子網路相關聯。

  • 每個 NEG 支援的端點數量上限,請參閱「每個 NEG 的端點數量上限」。端點可以分散在多個不重複的 VM,或全部位於同一個 VM。

為 GCE_VM_IP_PORT NEG 新增端點時,您可以選擇指定 IP 位址和通訊埠、僅指定 IP 位址,或兩者都不指定:

  • 如果指定 IP 位址和通訊埠,IP 位址可以是 IPv4 位址、IPv6 位址,或同時為 IPv4 和 IPv6 位址。使用的通訊埠由您選擇。如要瞭解 IP 位址和通訊埠的不同組合,請參閱本文的「具有 GCE_VM_IP_PORT 端點的 NEG」一節。

    IPv4 位址可以是主要內部 IPv4 位址,也可以是網路介面上別名 IP 位址範圍內的內部 IPv4 位址。IPv6 位址可以是從指派給 VM 網路介面的 /96 範圍中,選取的任何 IPv6 位址 (/128)。您可以自行選擇要使用的通訊埠。

  • 如果只指定 IP 位址,該位址可以是 IPv4 位址、IPv6 位址,或同時是 IPv4 和 IPv6 位址。使用的通訊埠是 NEG 的端點預設通訊埠編號。

    IPv4 位址可以是主要內部 IPv4 位址,也可以是網路介面上別名 IP 位址範圍內的內部 IPv4 位址。IPv6 位址可以是從指派給 VM 網路介面的 /96 範圍中,選取的任何 IPv6 位址 (/128)。使用的通訊埠是 NEG 的端點預設通訊埠編號。

  • 如果同時省略 IP 位址和通訊埠,系統會根據 NEG 子網路中的網路介面選取 IP 位址。如果端點參照僅限 IPv4 或雙重堆疊網路介面,系統會選取 VM 網路介面的主要內部 IPv4 位址,做為端點 IP 位址。如果端點參照僅限 IPv6 的網路介面,系統會選取 VM 網路介面的第一個 IPv6 位址 (/128) 做為端點 IP 位址。

    至於通訊埠, Google Cloud 會使用 NEG 的預設端點通訊埠編號。

使用可用區 NEG 進行負載平衡

可用做連至負載平衡器後端服務的後端群組。如果使用可用區 NEG 做為後端群組,後端服務的其他後端群組必須是具有相同類型端點 (全部為 GCE_VM_IP 或 GCE_VM_IP_PORT) 的可用區 NEG。您無法在同一項後端服務中,同時使用執行個體群組和可用區 NEG 做為後端群組。

您可以將同一個網路端點新增至多個可用區 NEG。您也可以將同一個可用區 NEG 做為多項後端服務的後端。

具有 GCE_VM_IP_PORT 端點的可用區 NEG 支援 Proxy 負載平衡器,平衡模式則定義於「應用程式負載平衡器和 Cloud Service Mesh 的平衡模式」和「Proxy 網路負載平衡器的平衡模式」。

直通式網路負載平衡器支援具有 GCE_VM_IP 端點的可用區 NEG,平衡模式則如「直通式網路負載平衡器的平衡模式」一節所述。

彈性端點分組

與執行個體群組一樣,您可以將同一個 NEG 做為多個直通式網路負載平衡器的後端。與執行個體群組不同,NEG 端點可以屬於多個 NEG,而每個 NEG 都能做為一或多個直通式網路負載平衡器的後端。與執行個體群組相比,您不會受到 VM 執行個體只能屬於單一執行個體群組的限制。

下圖顯示採用共用 VM 的內部直通式網路負載平衡器架構範例。

內部直通式網路負載平衡器,具有重疊的 `GCE_VM_IP` 可用區 NEG。
內部直通式網路負載平衡器,具有重疊的可用區 NEG (按一下即可放大)。

負載平衡網路介面和端點

可用區 NEG 支援將負載平衡流量分配給 nic0 vNIC、非 nic0 vNIC 和 Dynamic NIC。詳情請參閱「負載平衡器目標介面」。

如要瞭解如何搭配使用可用區 NEG 和直通式網路負載平衡器,請參閱下列文件:

GKE 和可用區 NEG

GKE 會使用具有 GCE_VM_IP 和 GCE_VM_IP_PORT 端點的可用區 NEG:

  • GKE 會在每個可用區為各項 LoadBalancer Service 建立專屬的 GCE_VM_IP NEG。這些 NEG 包含叢集節點 VM 做為端點,GKE 會根據服務的 externalTrafficPolicy 和叢集中的節點數量選取這些端點。詳情請參閱「關於 LoadBalancer 服務」文件中的「節點分組」一節。

  • GKE Gateway 和 Ingress 控制器會使用 GCE_VM_IP_PORT NEG,將流量直接轉送至 Pod (容器原生負載平衡)。GCE_VM_IP_PORT NEG 中的每個端點都包含 Pod 的 IP 位址和容器通訊埠 (targetPort)。GKE 建立這些 NEG 的方式取決於您使用的閘道或 Ingress 資源:

  • 您可以指示 GKE 建立獨立 GCE_VM_IP_PORT NEG 並維護其 Pod 端點,以便將這些 NEG 做為後端,附加至您自行管理的應用程式負載平衡器和 Proxy 網路負載平衡器。詳情請參閱「透過獨立可用區 NEG 使用容器原生負載平衡功能」。

限制

  • 可用區 NEG 無法與舊版網路搭配使用。
  • GCE_VM_IP 可用區 NEG 不支援 default-port 屬性。

配額

  • 如要瞭解 NEG 配額 (例如每項專案的 NEG 數量、每項後端服務的 NEG 數量,以及每個 NEG 的端點數量),請參閱負載平衡配額頁面。

後續步驟