使用共用 IP 位址的內部直通式網路負載平衡器轉送規則

內部直通式網路負載平衡器是一種區域負載平衡器,可讓您透過內部 IP 位址執行服務及調度服務資源,這類 IP 位址只能透過內部虛擬機器 (VM) 執行個體存取。

本頁面將說明如何使用多個轉送規則,且每個規則都使用相同的 IP 位址。如要瞭解內部直通式網路負載平衡器的一般資訊,請參閱「內部直通式網路負載平衡器總覽」。

使用內部轉送規則時,您最多可在十個轉送規則中使用共用內部 IP 位址。如要分享 IP 位址,請將 IP 位址的用途設為 SHARED_LOADBALANCER_VIP。您可以使用 TCPUDP 做為轉送規則通訊協定,並為轉送規則指派最多五個通訊埠,或是指定 --ports=ALL 來使用所有通訊埠。如要使用 L3_DEFAULT 通訊協定,您必須使用 --ports=ALL 選項的所有通訊埠。

您可以透過通訊協定和通訊埠的專屬組合,執行下列操作:

  • 使用 TCP 通訊協定,為每個轉送規則建立 50 個專屬的 TCP 通訊埠。

    如果轉送規則已設定為使用 TCP 通訊協定和所有通訊埠,則使用 TCP 通訊協定的其他轉送規則無法使用相同的共用 IP 位址。

  • 使用 UDP 通訊協定,為每個轉送規則建立 50 個專屬的 UDP 通訊埠。

    如果轉送規則已設定為使用 UDP 通訊協定和所有通訊埠,則使用 UDP 通訊協定的其他轉送規則無法使用相同的共用 IP 位址。

  • 建立 50 個 TCP 和 UDP 通訊埠的專屬組合,每個轉送規則都使用 TCPUDP 通訊協定。

  • 參照常見的後端服務 (單一負載平衡器) 或多個後端服務 (共用相同 IP 位址的多個負載平衡器)。

  • 使用 L3_DEFAULT 通訊協定設定轉送規則時,請使用所有通訊埠。IP 位址只能有一個 L3_DEFAULT 轉送規則,必要時可與其他 TCP 和 UDP 轉送規則共用。

如果轉送規則使用不同的通訊協定,您也必須有兩個不同的後端服務。單一內部直通式網路負載平衡器只適用於 TCP 或 UDP 流量 (不能同時適用),因為它只有一個後端服務,只使用其中一種通訊協定。

轉送規則的決策矩陣

請參考下表設計部署作業。

單一內部直通式網路負載平衡器

單一後端服務只支援 TCP 或 UDP,無法同時支援兩者。

如果您需要多個轉接規則,請使用 ⌈total number of ports / 5⌉ 公式計算所需的轉接規則數量,其中 ⌈⌉ 是天花板 (最小整數) 函式,表示無條件進位至最接近的整數。

舉例來說,假設您需要在負載平衡器的一個 IP 位址上使用 26 個 TCP 通訊埠,如果您不想使用 --ports=ALL 建立單一轉寄規則,則必須建立六個轉寄規則,因為 26 / 5 = 5 with a remainder of 1

預期的前端設定 所需轉送規則數量 --purpose=SHARED_LOADBALANCER_VIP 標記 IP 位址必須使用 轉送規則通訊埠規格
一個 IP 位址,所有通訊埠的流量 一個轉送規則 --ports=ALL
一個 IP 位址,特定通訊埠的流量

五個或以下的通訊埠:
一項轉送規則

六個以上通訊埠:
多個轉送規則

五個或以下的通訊埠:否

六個以上:是

--ports 設為一組最多五個連續或不連續的通訊埠編號。
多個 IP 位址,所有通訊埠的流量 每個 IP 位址一個轉送規則 --ports=ALL
多個 IP 位址,特定通訊埠上的流量 每個 IP 位址至少有一個轉送規則

如果每個 IP 位址使用五個或更少的通訊埠:否

如果每個 IP 位址使用六個以上的通訊埠:是

--ports 設為最多五個連續或不連續的通訊埠編號。

兩個內部直通式網路負載平衡器

如果您有兩個內部直通式網路負載平衡器,則可以有兩個後端服務,其中一個後端服務用於 TCP 流量,另一個後端服務用於 UDP 流量。

如果您需要多個轉寄規則,請使用以下公式計算所需的轉寄規則數量,其中 ⌈⌉ 是上限 (最小整數) 函式,表示無條件進位至最接近的整數:

 ⌈total number of TCP ports / 5⌉

 ⌈total number of UDP ports / 5⌉

舉例來說,假設您需要 26 個 TCP 通訊埠和 12 個 UDP 通訊埠。您必須建立九個轉送規則:

  • 26 / 5 = 5 with a remainder of 1,因此您需要為 TCP 通訊埠設定六個轉送規則。
  • 12 / 5 = 2 with a remainder of 2,因此您需要為 UDP 通訊埠設定三個轉送規則。
預期的前端設定 所需轉送規則數量 --purpose=SHARED_LOADBALANCER_VIP 標記 IP 位址必須使用 轉送規則通訊埠規格
一個 IP 位址,所有通訊埠的流量 兩個轉送規則:一個用於 TCP,另一個用於 UDP 因為 TCP 轉送規則和 UDP 轉送規則必須共用單一 IP 位址:是 --ports=ALL
一個 IP 位址,特定通訊埠的流量

五個以下的 TCP 通訊埠和五個以下的 UDP 通訊埠: TCP 和 UDP 各一個轉送規則

六個以上的 TCP 或 UDP 通訊埠:多個轉送規則,每個轉送規則支援一個通訊協定和五個以下的通訊埠

--ports 設為最多五個連續或不連續的通訊埠編號。
多個 IP 位址、所有通訊埠上的流量 (TCP 或 UDP)

至少有兩個轉送規則:一個是使用一個 IP 位址的 TCP,另一個是使用不同 IP 位址的 UDP

三個以上的轉送規則 (如果您需要三個以上的 IP 位址)

--ports=ALL
多個 IP 位址、特定通訊埠的流量 (TCP 或 UDP)

至少有兩個轉送規則:一個是使用一個 IP 位址的 TCP,另一個是使用另一個 IP 位址的 UDP

如需下列其中一項功能,則需要兩個以上的轉送規則:

  • 超過兩個 IP 位址
  • 在 IP 位址上有超過五個 TCP 流量通訊埠,或在 IP 位址上有超過五個 UDP 流量通訊埠

一個 IP 位址有五個或以下 TCP 通訊埠,另一個 IP 位址有五個或以下 UDP 通訊埠:否

六個以上的 TCP 或 UDP 通訊埠:是

--ports 設為一組最多五個連續或不連續的通訊埠編號。

限制

  • 兩個以上的轉送規則如果使用相同的 IP 位址和通訊協定,則通訊埠不得重疊。例如:
    • 當您使用通訊協定 TCP 和通訊埠 80 設定轉送規則時,就無法設定其他轉送規則來提供該通訊協定和通訊埠。舉例來說,您無法建立其他轉送規則來提供 TCP 通訊埠 808190
    • 設定 TCP 和 80808090 的轉送規則後,您就無法為 TCP 設定另一個會使用所有通訊埠的轉送規則。
  • 當兩個以上的轉送規則使用 --purpose=SHARED_LOADBALANCER_VIP 旗標共用相同的 IP 位址時,最多只有其中一個規則可以將通訊協定設為 L3_DEFAULT

用途

您可以部署多種不同類型的應用程式。以下範例使用一個 IP 位址,為兩個負載平衡器接受特定通訊埠上的流量。

範例 1

本範例使用不同的轉送規則,並搭配下列參數:

  • 相同的 IP 位址 (10.1.1.1)
  • 不同的通訊協定
  • 各個轉送規則指向的後端服務
  • 符合通訊協定:每個後端服務的通訊協定都與對應轉送規則的通訊協定相符
不同的轉送規則、相同的 IP 位址、不同的通訊協定和通訊埠。
不同的轉送規則、相同的 IP 位址、不同的通訊協定和通訊埠 (按一下可放大)。

範例 2

本範例使用不同的轉送規則,並搭配下列參數:

  • 相同的 IPv4 位址 (10.1.1.1)
  • 相同的通訊協定
  • 每項轉送規則的不同編號通訊埠
不同的轉送規則、相同的 IP 位址、相同的通訊協定,以及超過五個編號通訊埠。
不同的轉送規則、相同的 IP 位址、相同的通訊協定、超過五個編號通訊埠 (按一下可放大)。

設定步驟

您可以建立多個內部轉送規則,且這些規則具有相同的 IP 位址,前提是您必須同時執行下列兩項操作:

  1. 建立靜態 (已預約) 內部 IP 位址,供轉送規則使用。
  2. 將共用內部 IP 位址的 --purpose 旗標設為 SHARED_LOADBALANCER_VIP

如需設定範例,請參閱「使用兩個轉送規則在多個通訊埠上接收流量」一文。