內部直通式網路負載平衡器是區域負載平衡器,可讓您透過內部 IP 位址執行及擴充服務 (您只能從內部虛擬機器 (VM) 執行個體存取這個 IP 位址)。
本頁面將說明如何使用多個包含相同 IP 位址的轉送規則。如要瞭解內部直通式網路負載平衡器的一般資訊,請參閱「內部直通式網路負載平衡器總覽」。
使用內部轉送規則時,最多可讓十個轉送規則共用一個內部 IP 位址。如要共用 IP 位址,請將 IP 位址的用途設為 SHARED_LOADBALANCER_VIP。您可以為轉送規則通訊協定使用 TCP 或 UDP,並為轉送規則指派最多五個通訊埠,或指定 --ports=ALL 來使用所有通訊埠。如要使用 L3_DEFAULT 通訊協定,必須搭配 --ports=ALL 選項使用所有通訊埠。
透過通訊協定和通訊埠的專屬組合,您可以執行下列操作:
使用
TCP通訊協定,為每項轉送規則建立 50 個專屬 TCP 連接埠。如果轉送規則設定為使用
TCP通訊協定和所有通訊埠,則使用TCP通訊協定的其他轉送規則就無法使用相同的共用 IP 位址。使用
UDP通訊協定,為每個轉送規則建立 50 個不重複的 UDP 通訊埠。如果轉送規則設定為使用
UDP通訊協定和所有通訊埠,則使用UDP通訊協定的其他轉送規則就無法使用相同的共用 IP 位址。建立 50 種不重複的 TCP 和 UDP 通訊埠組合,每項轉送規則都使用
TCP或UDP通訊協定。參照通用後端服務 (單一負載平衡器) 或多個後端服務 (共用相同 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 |
至少兩個轉送規則:一個用於 TCP,使用一個 IP 位址;一個用於 UDP,使用不同的 IP 位址 如果您需要三個以上的 IP 位址,請建立三個以上的轉送規則 |
否 | --ports=ALL |
| 多個 IP 位址、特定通訊埠的流量 (TCP 或 UDP) |
至少兩個轉送規則:一個用於 TCP,使用一個 IP 位址;一個用於 UDP,使用不同的 IP 位址 如果需要下列其中一項功能,則須新增兩項以上的轉送規則:
|
一個 IP 位址最多有五個 TCP 連接埠,以及一個 IP 位址最多有五個 UDP 連接埠:否 六個以上的 TCP 或 UDP 連接埠:是 |
將 --ports 設為最多五個連續或不連續的通訊埠編號。 |
限制
- 如果兩個以上的轉送規則使用相同的 IP 位址和通訊協定,則通訊埠不得重疊。例如:
- 使用通訊協定 TCP 和通訊埠
80設定轉送規則後,您就無法設定其他轉送規則來提供該通訊協定和通訊埠。舉例來說,您無法建立其他轉送規則,用於 TCP 通訊埠80、81和90。 - 為 TCP 和通訊埠
80、8080和90設定轉送規則時,您無法為 TCP 設定會使用所有通訊埠的另一個轉送規則。
- 使用通訊協定 TCP 和通訊埠
- 如果兩個以上的轉送規則使用
--purpose=SHARED_LOADBALANCER_VIP旗標共用同一個 IP 位址,最多只能有一個規則將通訊協定設為L3_DEFAULT。
用途
您可以進行許多不同類型的部署。下列範例使用一個 IP 位址,接受兩個負載平衡器特定通訊埠的流量。
範例 1
這個範例會使用不同的轉送規則,並搭配下列參數:
- 相同的 IP 位址 (
10.1.1.1) - 不同通訊協定
- 每個轉送規則指向的個別後端服務
- 相符的通訊協定:每個後端服務的通訊協定都與對應轉送規則的通訊協定相符
範例 2
這個範例會使用不同的轉送規則,並搭配下列參數:
- 相同的 IPv4 位址 (
10.1.1.1) - 相同通訊協定
- 每項轉送規則的一組不同編號通訊埠
設定步驟
如果您同時執行下列兩項操作,即可建立多個具有相同 IP 位址的內部轉送規則:
- 建立靜態 (已預約) 內部 IP 位址,供轉送規則使用。
- 將共用內部 IP 位址的
--purpose旗標設為SHARED_LOADBALANCER_VIP值。
如需設定範例,請參閱「使用兩項轉送規則,在多個通訊埠上接收流量」。