全域外部直通式網路負載平衡器屬於第 4 層直通式負載平衡器,可將外部流量分配給位於多個 Cloud de Confiance 區域的後端 (執行個體群組或網路端點群組)。這類負載平衡器建構於磁浮上,服務範圍遍及全球,會透過 Google 的全球網路和控制層互相搭配運作。
全域外部直通式網路負載平衡器會自動將流量導向最接近使用者流量進入S3NS全球網路位置的後端區域。
前提是在兩個以上的區域中設定符合資格的後端:
如果某個地區容量已達上限,負載平衡器會自動將超出該地區容量的新使用者連線溢位至下一個最近且有可用容量的地區,同時將現有連線保留在目前地區。
如果某個地區停機,負載平衡器會自動將流量容錯移轉至下一個有可用容量的最接近區域。
全域外部直通式網路負載平衡器可接收來自下列來源的流量:
- 網際網路上的任何用戶端
- Cloud de Confiance 具備外部 IP 的 VM
- Cloud de Confiance 可透過 Cloud NAT 或執行個體型 NAT 存取網際網路的 VM
在以下情況中使用全域外部直通式網路負載平衡器:
您需要高效能的第 4 層直通負載平衡器,才能處理 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量。負載平衡器可處理 IPv4 和 IPv6 流量。
您必須接收未經 Proxy 處理的原始封包。 舉例來說,如果您需要保留用戶端來源 IP 位址。
您需要使用相同的 Anycast IP 位址,以低延遲率將流量提供給多個 Cloud de Confiance 區域 的後端。
您需要部署作業能夠抵禦區域後端故障和過載,並自動將流量順暢地重新導向至下一個具有可用容量的最近區域。
如要使用全域外部直通式網路負載平衡器,部署作業必須符合下列規定:
- 如果提供 TLS (SSL) 流量,後端必須終止 SSL 流量。全域外部直通式網路負載平衡器不支援 SSL 終止。
主要功能與特色
全域外部直通式網路負載平衡器支援下列主要功能。
高可用性設計
負載平衡器會提供兩個全域外部 Anycast IP 位址,每個位址都由不相連且隔離的全域負載平衡控制和資料層伺服器基礎架構 (也稱為可用性群組) 提供服務,確保高可用性。用戶端可以使用任一 IP 位址,連線至最近一個有可用容量且運作狀態良好的後端。
建立具有多個 Cloud de Confiance 區域後端的全域後端服務時,負載平衡器可讓您提高服務可用性。如果特定區域的後端停止運作,流量會順利容錯移轉至下一個最接近的區域。
建議您至少在三個 Cloud de Confiance 區域中部署後端,確保能抵禦區域服務中斷的影響。即使您可以在單一 Cloud de Confiance 區域中設定所有後端,也建議這麼做。
延遲時間和負載感知平衡
全域外部直通式網路負載平衡器只能使用進階級。使用進階級時,來自網際網路的連入流量會從最靠近使用者的連接點,進入 S3NS的高效能低延遲網路。同樣地,傳出流量會透過 S3NS的網路傳送,從最靠近使用者的連接點傳出。
全球分散式 Maglev 負載平衡器會將傳入流量,轉送至流量進入Cloud de Confiance 服務點網路時距離最近的S3NS區域,前提是該區域有健康狀態良好的後端,且具備可用容量。否則,負載平衡器會自動將流量順暢地溢出至下一個最接近的區域,該區域的後端運作狀態良好且有可用容量。
您可決定後端位置和容量,以獲得最佳封包延遲和後端效率。後端容量可根據每秒封包數 (PPS) 傳入速率上限、CPU 使用率上限或兩者而定。後端服務中設定的後端容量,會平均分配給參照該後端服務的所有轉送規則 IP 位址。
全域外部直通式網路負載平衡器運作方式
全球外部直通式網路負載平衡器具有前端 (轉送規則) 和後端 (後端服務及其後端群組)。您可以將執行個體群組或GCE_VM_IP區域 NEG 做為後端群組。
架構
下圖顯示全域外部直通式網路負載平衡器,將流量分配至多個 Cloud de Confiance 區域的後端。建立負載平衡器時,系統會指派兩個全域外部 Anycast IP 位址,並由不相連的獨立控制和資料層基礎架構 (也稱為可用性群組,AG0 和 AG1) 提供服務。 Cloud de Confiance
這兩個控制和資料層可為每個全域外部直通式網路負載平衡器提供高可用性、容錯能力和彈性。一個可用性群組的控制或資料層發生故障,不會影響其他可用性群組。設定正確的用戶端必須能夠連線至負載平衡器的兩個 IP 位址。舉例來說,如果用戶端無法連線至 AG0 IP 位址,就必須設定為連線至 AG1 IP 位址。
負載平衡器包含下列設定元件。
兩個全域外部 IP 位址,分別來自每個可用性群組 (AG0 和 AG1)。可以是靜態或限時動態。詳情請參閱「IP 位址」。
一個全域轉送規則,指定兩個全域外部 IP 位址,分別來自每個可用性群組 (AG0 和 AG1)。建立這項轉送規則時,系統會產生兩個唯讀子項轉送規則 (每個可用性群組各一個),確保高可用性。 Cloud de Confiance 詳情請參閱「轉送規則」。
一個全域後端服務,定義流量如何分配至多個Cloud de Confiance 區域的後端。後端群組可以是所有執行個體群組 (區域代管執行個體群組或區域非代管執行個體群組),也可以是所有區域 NEG 後端 (具有
GCE_VM_IP端點的區域 NEG)。詳情請參閱後端服務。
伺服器直接回傳
全域外部直通式網路負載平衡器與其他直通式網路負載平衡器一樣,不是 Proxy。 負載平衡器本身不會終止使用者連線,負載平衡封包會傳送至後端 VM,來源和目的地的 IP 位址、通訊協定和通訊埠 (如適用) 都不會變更。後端 VM 隨即終止使用者連線,並直接將傳回的封包傳送給用戶端。回應不會透過負載平衡器傳回。這項程序稱為「伺服器直接回傳」(DSR)。
負載平衡器 IP 位址的本機路由
與其他直通式網路負載平衡器一樣,全域外部直通式網路負載平衡器不會對 IP 位址或連接埠執行來源或目的地 NAT。
Cloud de Confiance 訪客環境會為每個後端 VM 設定負載平衡器的 IP 位址。VM 本機路由表中的項目會設定後端 VM 的負載平衡網路介面控制器 (NIC),以接受目的地 IP 位址與每個轉送規則 IP 位址相符的封包。詳情請參閱「檢查負載平衡器的 IP 位址的本機轉送表」。
要求和傳回封包的 IP 位址
後端 VM 從用戶端收到達到負載平衡的封包時,封包的來源和目的地如下:
- 來源:與用戶端、 Cloud de Confiance VM 或網際網路上的系統相關聯的外部 IP 位址。
- 目的地:負載平衡器轉送規則的其中一個 IP 位址。
雖然訪客環境會自動設定本機路徑,讓 VM 的作業系統接受目的地為負載平衡器 IP 位址的流量,但如果應用程式設定為僅監聽 VM 的指派內部 IP 位址,作業系統就無法將這些封包傳送至應用程式。
為確保作業系統將封包傳送至應用程式,請設定在後端 VM 上執行的應用程式,以執行下列操作:
- 偵聽 (繫結至) 負載平衡器的轉送規則 IP 位址或任何 IP 位址 (
0.0.0.0或::)
- 如果負載平衡器轉送規則的通訊協定支援通訊埠,請監聽 (繫結至) 負載平衡器轉送規則中包含的通訊埠
回傳封包會從負載平衡器的後端 VM 直接傳送至用戶端。回傳封包的來源 IP 位址取決於通訊協定:
- TCP 是以連線為導向,因此後端 VM 必須回覆封包,且封包的來源 IP 位址必須與要求封包的目的地 IP 位址相符,這樣用戶端才能將回應封包與適當的 TCP 連線建立關聯。
- UDP、ESP、GRE、ICMP 和 ICMPv6 都是無連線通訊協定。後端 VM 可以傳送回應封包,來源 IP 位址與轉送規則的 IP 位址相符,或與 VM 的任何指派外部 IP 位址相符。實際上,大多數用戶端都希望回應來自傳送封包的相同 IP 位址。
下表摘要說明回應封包的來源和目的地 IP 位址:
| 流量類型 | 來源 | 目的地 |
|---|---|---|
| TCP | 要求封包的目的地 | 要求封包的來源 |
| UDP、ESP、GRE、ICMP 和 ICMPv6 | 在大多數情況下,要求封包的目的地1 | 要求封包的來源 |
1 如果 VM 具有外部 IP 位址,或您使用 Cloud NAT,也可以將回應封包的來源 IP 位址設為 VM NIC 的主要內部 IPv4 位址。 Cloud de Confiance 或 Cloud NAT 會將回應封包的來源 IP 位址變更為 NIC 的外部 IPv4 位址或 Cloud NAT 外部 IPv4 位址,以便將回應封包傳送至用戶端的外部 IP 位址。不使用轉送規則的 IP 位址做為來源是進階情境,因為用戶端會從外部 IP 位址收到回應封包,而該 IP 位址與傳送要求封包的 IP 位址不符。
元件
以下各節將詳細說明全域外部直通式網路負載平衡器的各個設定元件。
IP 位址
全域外部直通式網路負載平衡器需要兩個全域外部 IP 位址,才能提供高可用性。負載平衡器的轉送規則會使用這些位址接受連入流量,且必須屬於相同的 IP 版本 (IPv4 或 IPv6)。 Cloud de Confiance 會從全球所有連線點宣傳負載平衡器的 IP 位址。每個負載平衡器 IP 位址都是全域任播 IP 位址,僅支援進階級。
這兩個 IP 位址都必須來自屬於不同可用性群組的全域外部 IP 位址集區。IP 位址不會與虛擬私有雲網路中的子網路建立關聯。在 API 中,可用性群組會以 globalAddresses 資源的 purpose 欄位表示:
PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0:適用於可用性群組 0 的地址。PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1:適用於可用性群組 1 的地址。
轉送規則資源的 IPAddresses 欄位會指定零、一或兩個 IP 位址:
- 如省略此欄位, Cloud de Confiance 會指派兩個暫時的 IP 位址,每個可用性群組各一個。
- 如果您指定一個 IP 位址,參照某個可用性群組的現有靜態 IP 位址資源, Cloud de Confiance 會從另一個可用性群組指派臨時 IP 位址。
- 如果您指定兩個參照現有靜態 IP 位址資源的 IP 位址,則必須來自不同的可用性群組。
如果您需要保留與專案相關聯的位址,以便在刪除轉送規則後重複使用,或是需要多個轉送規則參照相同的 IP 位址,請為轉送規則使用保留的靜態 IP 位址。
如果是全域外部直通式網路負載平衡器轉送規則,IP 位址可以是下列其中一種:
- 來自 Google 擁有的全域 IP 位址集區的靜態或臨時 IPv4 位址。
- 來自 Google 擁有的全域 IP 位址集區,屬於靜態或暫時性的外部 IPv6 位址
/96範圍。 - 來自全域公開委派前置字串的靜態 IPv4 BYOIP 位址。
全域外部直通式網路負載平衡器僅支援 IPv4 位址的自備 IP 位址 (BYOIP)。目前僅支援 v1 BYOIP API。新的 IPv4 範圍最多可能需要 4 週才能完成佈建,且沒有任何 API 可供您控管 BGP 播送狀態。詳情請參閱「自備 IP 設定」。
轉送規則的 IPAddresses 欄位只能在建立時設定,無法更新。
無論來源為何 (Google 擁有或 BYOIP), Cloud de Confiance 中的全域外部 IP 位址都是從三種不同的全域外部 IP 位址集區中提取:
- 全域外部直通式網路負載平衡器用於可用性群組 AG0 的 IP 位址集區
- 全域外部直通式網路負載平衡器用於可用性群組 AG1 的 IP 位址集區
- 全球外部 Proxy 型負載平衡器使用的 IP 位址集區
因此,全域外部直通式網路負載平衡器無法與任何其他全域或區域負載平衡器共用 IP 位址。
通用轉送規則
全球外部直通網路負載平衡器轉送規則會構成負載平衡器的前端,指定負載平衡器接收流量的目的地 IP 位址、通訊協定和通訊埠。全域外部直通式網路負載平衡器不是 Proxy,因此會將流量傳送至後端,且不會修改來源和目的地 IP 位址、通訊協定和通訊埠 (如果通訊協定攜帶通訊埠資訊)。
您設定的全域外部直通式網路負載平衡器轉送規則會指定下列項目:
- 負載平衡架構指定為
EXTERNAL_PASSTHROUGH。 IPAddresses[]欄位中的一對全域 IP 位址,每個可用性群組各一個。- 通訊協定 (
TCP、UDP或L3_DEFAULT) 和通訊埠。
針對您建立的每個全域外部直通式網路負載平衡器轉送規則 (也稱為「父項」轉送規則), Cloud de Confiance會為每個負載平衡堆疊產生兩個唯讀「子項」轉送規則,分別是 AVAILABILITY_GROUP0 和 AVAILABILITY_GROUP1。子項轉送規則的 IP 通訊協定、通訊埠和後端服務設定與父項轉送規則相同,但只有父項轉送規則的其中一個 IP 位址。
子轉送規則會附加 -ag0 和 -ag1 至上層轉送規則名稱,因此可明確識別。不會消耗額外配額或產生額外費用。監控指標和健康狀態會在子項轉送規則層級回報。
傳入流量會與轉送規則比對,將封包的目的地 IP 位址、通訊協定和通訊埠,與轉送規則欄位的組合比對,包括兩個 IP 位址、通訊協定,以及通訊協定是否以通訊埠為基礎,如果是,則為一或多個通訊埠、通訊埠範圍或所有通訊埠。轉送規則隨後會將流量導向負載平衡器的後端服務。
全域外部直通式網路負載平衡器的轉送規則可設定為 IPv4 或 IPv6 位址。如要讓負載平衡器同時處理 IPv4 和 IPv6 流量,請建立兩項轉送規則:
IPv4 流量的轉送規則,指向僅限 IPv4 或雙重堆疊後端
指向僅限 IPv6 或雙重堆疊後端的 IPv6 流量轉送規則
IPv4 和 IPv6 轉送規則可以參照同一個後端服務,但後端服務必須參照具有雙重堆疊 VM 網路介面的後端。
轉送規則的 IP 版本應與後端 VM 網路介面的堆疊類型相符。
| 後端 VM 網路介面的堆疊類型 | 轉送規則 |
|---|---|
僅支援 IPv4 (IPV4_ONLY) 的 VM 網路介面 |
只能做為 IPv4 轉送規則的後端。 |
僅支援 IPv6 (IPV6_ONLY) 的 VM 網路介面 |
只能做為 IPv6 轉送規則的後端。 |
雙堆疊 (IPV4_IPV6) VM 網路介面 |
可做為 IPv4 轉送規則、IPv6 轉送規則或兩者的後端。 |
轉送規則通訊協定
全域外部直通式網路負載平衡器支援下列各項轉送規則的通訊協定選項:TCP、UDP 和 L3_DEFAULT。
使用 TCP 和 UDP 選項,分別設定 TCP 或 UDP 負載平衡。L3_DEFAULT 通訊協定選項可讓全域外部直通式網路負載平衡器,平衡 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量。
除了支援 TCP 和 UDP 以外的通訊協定,L3_DEFAULT 也讓單一轉送規則能夠服務多個通訊協定。舉例來說,IPsec 服務通常會處理 ESP 和以 UDP 為基礎的 IKE 和 NAT-T 流量。L3_DEFAULT 選項可設定單一轉送規則,處理所有這些通訊協定。
如果您使用 L3_DEFAULT 通訊協定,必須設定轉送規則,接受所有通訊埠的流量。由於 L3_DEFAULT 是適用於所有情況的規則,因此根據安全最佳做法,您應設定輸入允許防火牆規則,只允許所需的 IP 通訊協定和通訊埠。
多個轉送規則
您可以設定多個轉送規則,規則類型有兩種:
相同 IP 位址的多個轉送規則。只要沒有兩個轉送規則使用相同的通訊協定和通訊埠組合,您就可以為同一個 IP 位址組合設定多個轉送規則。每項轉送規則可以有不同的後端服務,多項轉送規則也可以有相同的後端服務。
參照同一個後端服務的多個轉送規則。您可以設定多個參照相同後端服務的轉送規則。根據第一點所述條件,兩個以上的轉送規則可以使用相同的 IP 位址配對,或者每個轉送規則可以使用唯一的 IP 位址配對。參照相同後端服務的所有轉送規則,其所有 IP 位址的流量會公平共用後端目標容量。
不過,全域外部直通式網路負載平衡器和全域外部應用程式負載平衡器/全域外部 Proxy 網路負載平衡器,無法共用同一個全域外部 IP 位址。
使用多個轉送規則時,請務必設定在後端 VM 上執行的應用程式,將應用程式繫結至負載平衡器轉送規則的所有外部 IP 位址。
對於下列使用案例,不妨試著設定多個轉送規則:
- 您必須為同一個後端服務設定多個外部 IP 位址配對。舉例來說,一個轉送規則用於 IPv4 位址,另一個用於 IPv6 位址。
- 您必須為同一個外部 IP 位址配對設定多個轉送規則,但通訊協定或不重疊的通訊埠/通訊埠範圍必須不同。轉送規則可以使用相同或不同的後端服務。
多個轉送規則的通訊協定和通訊埠限制
Cloud de Confiance 最多會選取一項轉送規則來處理傳入封包。使用相同全域外部 IP 位址配對的兩個以上轉送規則,必須根據下列限制條件,採用不重複的通訊協定和通訊埠組合:如果為通訊協定的所有通訊埠設定轉送規則,就無法使用相同的通訊協定和 IP 位址配對建立其他轉送規則。
使用
TCP或UDP通訊協定的轉送規則可以設定為使用所有通訊埠,也可以設定為使用特定通訊埠。舉例來說,如果您使用 IP 位址配對 (
136.124.69.214和136.124.83.205)、TCP通訊協定和所有通訊埠建立轉送規則,就無法使用相同的 IP 位址配對和TCP通訊協定建立任何其他轉送規則。如果每個規則都有不重複的通訊埠或不重疊的通訊埠範圍,您可以使用 IP 位址配對和
TCP通訊協定建立兩個轉送規則。舉例來說,您可以建立兩個使用相同 IP 位址配對和TCP通訊協定的轉送規則,其中一個轉送規則的連接埠為80,443,另一個則使用連接埠範圍81-442。每個 IP 位址配對只能建立一個
L3_DEFAULT轉送規則。這是因為根據定義,
L3_DEFAULT通訊協定會使用所有通訊埠。 在此情況下,「所有通訊埠」一詞包含不含通訊埠資訊的通訊協定。單一
L3_DEFAULT轉送規則可與使用特定通訊協定 (TCP或UDP) 和相同 IP 位址配對的其他轉送規則共存。如果 IP 位址配對已附加特定 TCP 或 UDP 轉送規則,您也可以將
L3_DEFAULT轉送規則附加至該 IP 位址配對,做為不符合特定轉送規則的任何流量的備援。只有在封包的目的地 IP 位址、通訊協定和目的地通訊埠與通訊協定專屬轉送規則不符時,L3_DEFAULT轉送規則才會處理傳送至目的地 IP 位址的封包。為說明這點,請參考以下兩種情境。在這兩種情況下,轉送規則都使用相同的 IP 位址配對:
136.124.69.214和136.124.83.205。情境 1。第一個轉送規則使用
L3_DEFAULT通訊協定。第二個轉送規則會使用TCP通訊協定和所有通訊埠。 傳送至任一 IP 位址任何目的地通訊埠的 TCP 封包,都會由第二個更明確的轉送規則處理。使用不同通訊協定的封包會由第一個轉送規則處理。情境 2。第一個轉送規則使用
L3_DEFAULT通訊協定。第二條轉送規則使用TCP通訊協定和通訊埠8080。傳送至任一 IP 位址 8080 通訊埠的 TCP 封包,都會由第二個轉送規則處理。所有其他封包 (包括傳送至不同目的地通訊埠的 TCP 封包) 都會由第一個轉送規則處理。
選取轉送規則
Cloud de Confiance 使用這項淘汰程序,從與封包目的地 IP 位址相符的轉送規則候選項目集開始,選取一或零個轉送規則來處理傳入的封包:
刪除通訊協定與封包通訊協定不符的轉送規則,
L3_DEFAULT轉送規則除外。使用L3_DEFAULT通訊協定的轉送規則永遠不會在這個步驟中遭到淘汰,因為L3_DEFAULT會比對所有通訊協定。舉例來說,如果封包的通訊協定是 TCP,系統只會排除使用UDP通訊協定的轉送規則。刪除通訊埠與封包通訊埠不符的轉送規則。 為所有通訊埠設定的轉送規則永遠不會在此步驟中遭到淘汰,因為所有通訊埠的轉送規則會比對任何通訊埠。
此時,其餘轉送規則候選項目會歸入下列其中一類:
系統會保留兩項轉送規則:
L3_DEFAULT轉送規則和通訊協定專屬轉送規則。使用通訊協定專用轉送規則,將封包路由傳送。只會保留一項轉送規則,也就是
L3_DEFAULT轉送規則或通訊協定專屬轉送規則。用於封包路徑。沒有任何轉送規則候選人,因此封包遭到捨棄。
全域後端服務
全域外部直通式網路負載平衡器的後端服務會將傳入流量分配到附加的後端,這些後端可位於多個 Cloud de Confiance 區域。每個後端均由一個執行個體群組或網路端點群組,以及後端的負載能力資訊組成。後端服務規模可依據 CPU 使用率、每秒傳入封包數 (PPS) 或兩者。後端服務會根據設定的相依性和容量設定,管理流量分配。
後端服務會定義下列後端參數:
負載平衡架構。如要為全域外部直通式網路負載平衡器指定後端服務,負載平衡架構必須明確設為
EXTERNAL_PASSTHROUGH。通訊協定。後端服務通訊協定欄位是多餘的,只能設為
UNSPECIFIED。無論轉送規則通訊協定為何,使用UNSPECIFIED通訊協定的後端服務都可以搭配任何轉送規則使用。流量分配。後端服務會根據設定的工作階段相依性、連線追蹤政策、負載平衡模式和後端容量,以及負載平衡區域政策來分配流量。您也可以設定後端服務,啟用連線排除功能、調降後端容量,以及指定偏好的後端。這些設定大多都有預設值,可協助您快速上手。
健康狀態檢查。後端服務必須有相關聯的健康狀態檢查。
後端。後端是實際接收負載平衡流量的端點。全域外部直通式網路負載平衡器可將流量分配至位於多個 Cloud de Confiance 區域的執行個體群組或可用區 NEG:
VM 網路介面與轉送規則的相容性
由於全域外部直通式網路負載平衡器不會終止或轉譯流量,後端 VM 網路介面的堆疊類型必須與轉送規則 IP 位址版本相容。
| 轉送規則 | 後端 VM 網路介面的堆疊類型 |
|---|---|
| 僅限 IPv4 轉送規則 | 僅限 IPv4 (IPV4_ONLY) 或雙重堆疊 (IPV4_IPv6) |
| 僅限 IPv6 轉送規則 | 僅限 IPv6 (IPV6_ONLY) 或雙重堆疊 (IPV4_IPv6) |
| IPv4 和 IPv6 轉送規則 | 雙堆疊 (IPV4_IPv6) |
後端 VM 的網路介面與 VPC 子網路的相容性
如上表所示,您可以設定全域外部直通式網路負載平衡器,讓後端包含僅限 IPv4 的介面、雙堆疊介面和僅限 IPv6 的介面。下表摘要列出哪些後端 VM 的網路介面類型與各虛擬私有雲子網路堆疊類型相容。
| 虛擬私有雲子網路的堆疊類型 | 後端 VM 網路介面的堆疊類型 |
|---|---|
IPV4_ONLY (單一堆疊)僅限 IPv4 子網路範圍 |
僅限 IPv4 (IPV4_ONLY) |
IPV4_IPV6 (雙重堆疊)IPv4 和 IPv6 子網路範圍 |
僅支援 IPv4 (IPV4_ONLY)、雙重堆疊 (IPV4_IPv6) 和僅支援 IPv6 (IPV6_ONLY) |
IPV6_ONLY (單一堆疊)僅限 IPv6 子網路範圍 |
僅限 IPv6 (IPV6_ONLY) |
注意事項:
指派給 VM 網路介面的 IP 位址,是直接從基礎虛擬私有雲子網路分配而來。
如要使用 IPv6 連線,當 VM 網路介面指派給啟用 IPv6 的
/64子網路時, Cloud de Confiance 會從子網路/64外部 IPv6 位址範圍的前半部 (/65),為 VM 網路介面分配/96位址範圍。詳情請參閱「外部 IPv6 規格」。當 VM 網路介面的堆疊類型為雙重堆疊 (
IPV4_IPv6) 或僅限 IPv6 (IPV6_ONLY) 時,您需要選擇如何透過將 VPC 子網路上的--ipv6-access-type設定設為EXTERNAL或INTERNAL,存取 VM 網路介面的 IPv6 位址。如果子網路的--ipv6-access-type設為EXTERNAL,您也必須將 VM 網路介面上的--ipv6-network-tier設為PREMIUM。詳情請參閱「IPv6 子網路範圍」。
執行個體群組後端和網路介面
在指定的 (代管或非代管) 執行個體群組中,每個成員 VM 的 nic0 網路介面一律位於同一個虛擬私有雲網路:
- 如果是代管執行個體群組 (MIG),執行個體群組的虛擬私有雲網路來自執行個體範本中定義的
nic0介面。 - 對於非受管理執行個體群組,執行個體群組的虛擬私有雲網路會設為您新增至非受管理執行個體群組的第一個 VM 執行個體所使用的
nic0網路介面虛擬私有雲網路。即使移除您新增至群組的第一個執行個體,您也無法在之後變更執行個體群組的 VPC 網路。
成員 VM 可以有額外網路介面 (vNIC 或動態網路介面)。每個非 nic0 介面可位於執行個體群組的虛擬私有雲網路 (nic0 介面使用的網路),或位於其他虛擬私有雲網路。
nic0 網路介面,您無法使用執行個體群組後端。請改用具有 GCE_VM_IP 端點的區域 NEG。詳情請參閱「後端服務和虛擬私有雲網路」。
可用區性 NEG 後端和網路介面
建立含有 GCE_VM_IP 端點的新區域 NEG 時,您必須先將 NEG 與虛擬私有雲網路的子網路建立關聯,才能將任何端點新增至 NEG。NEG 建立後,子網路和 VPC 網路都無法變更。
在指定的 NEG 中,每個 GCE_VM_IP 端點實際上都代表網路介面。網路介面必須位於與 NEG 相關聯的子網路中。從 Compute Engine 執行個體的角度來看,網路介面可以使用任何識別碼。從 NEG 端點的角度來看,網路介面是透過主要內部 IPv4 位址識別。詳情請參閱「具有 GCE_VM_IP 端點的 NEG」。
將 GCE_VM_IP 端點新增至 NEG 的方式有兩種:
- 新增端點時,如果只指定 VM 名稱 (不含任何 IP 位址), Cloud de Confiance 會要求 VM 在與 NEG 相關聯的子網路中具有網路介面。端點選擇的 IP 位址,是與 NEG 相關聯子網路中,VM 網路介面的主要內部 IPv4 位址。 Cloud de Confiance
- 如果您在新增端點時同時指定 VM 名稱和 IP 位址,提供的 IP 位址必須是 VM 網路介面的主要內部 IPv4 位址。該網路介面必須位於與 NEG 相關聯的子網路中。請注意,指定 IP 位址是多餘的,因為與 NEG 相關聯的子網路中只能有一個網路介面。
後端服務和虛擬私有雲網路
後端服務不會與任何虛擬私有雲網路建立關聯,但如先前所述,每個後端執行個體群組或區域性 NEG 都會與虛擬私有雲網路建立關聯。只要所有後端都位於同一個專案,且所有後端都是相同類型 (執行個體群組或區域 NEG),負載平衡器及其後端就能位於相同或不同的虛擬私有雲網路。
如要將封包分配至非 nic0 介面,必須符合下列兩項規定:
您必須使用區域 NEG (含
GCE_VM_IP端點),而非執行個體群組。非
nic0和nic0網路介面必須位於不同的虛擬私有雲網路。(NEG 的虛擬私有雲網路不得包含nic0介面和所需的非nic0介面)。
偏好的後端
您可以將特定後端指定為偏好的後端。系統必須先將要求傳送至這些後端,直到達到容量上限 (即後端平衡模式指定的目標容量),才會將要求傳送至其餘後端。
全域外部直通式網路負載平衡器的後端服務最多只能有一個偏好的後端群組,且不允許在同一個 Cloud de Confiance 區域中同時有偏好和非偏好的後端。
詳情請參閱「使用進階負載平衡最佳化功能」。
健康狀態檢查
健康狀態檢查資訊可用於判斷哪些後端可接收新連線,以及控制現有連線是否會持續連線至健康狀態不佳的後端。負載平衡器會分別為每個轉送規則 IP 位址傳送健康狀態檢查探測。因此,系統會針對每個 IP 位址探測具有兩個 IP 位址的全域外部直通式網路負載平衡器轉送規則,使每個後端的探測頻率加倍。詳情請參閱「多個探測器和頻率」。
健康狀態檢查類型、通訊協定和通訊埠
負載平衡器的後端服務必須參照全域健康狀態檢查,並使用任何支援的健康狀態檢查通訊協定和通訊埠。健康狀態檢查通訊協定和通訊埠詳細資料不必與轉送規則通訊協定和通訊埠資訊相符。
由於所有支援的健康狀態檢查通訊協定都依賴 TCP (不支援 UDP 健康狀態檢查),因此當您使用全域外部直通網路負載平衡器,平衡其他通訊協定的連線和流量時,後端 VM 必須執行 TCP 型伺服器,才能回應健康狀態檢查探測器。舉例來說,您可以搭配使用 HTTP 健康狀態檢查,並在每個後端 VM 上執行 HTTP 伺服器。在本範例中,您的指令碼或軟體負責設定 HTTP 伺服器,只有在監聽負載平衡連線的軟體正常運作時,才會傳回狀態 200。
如要進一步瞭解支援的健康狀態檢查通訊協定和通訊埠,請參閱「健康狀態檢查類別、通訊協定和通訊埠」 和「健康狀態檢查運作方式」。
健康狀態檢查封包
如果是執行個體群組後端,健康狀態檢查探測器會將封包傳送至每個後端 VM 的nic0網路介面。如果是GCE_VM_IP區域 NEG 後端,健康狀態檢查探測器會將封包傳送至NEG 的虛擬私有雲子網路中的網路介面。健康狀態檢查封包具有下列特性:
- 來自相關健康狀態檢查探測 IP 範圍的來源 IP 位址。
- 目的地 IP 位址符合轉送規則的任一 IP 位址,該規則會參照全域外部直通式網路負載平衡器後端服務。健康狀態檢查封包會傳送至這兩個 IP 位址。
- 與您在健康狀態檢查中指定的通訊埠編號相符的目的地通訊埠。
在後端 VM 上執行的應用程式必須繫結並監聽相關的 IP 位址和通訊埠組合。如要達成這個目標,請將應用程式設定為繫結至 VM 任何 IP 位址 (0.0.0.0 或 ::/0) 的相關通訊埠,並監聽這些通訊埠。詳情請參閱「探測封包的目的地」。
防火牆規則
由於全域外部直通式網路負載平衡器不是 Proxy,因此會將流量傳遞至後端 VM,且不會修改來源和目的地 IP 位址、通訊協定和通訊埠 (如果通訊協定攜帶通訊埠資訊)。因此,您必須建立輸入允許防火牆規則或輸入允許階層式防火牆政策,控管負載平衡器後端 VM 的存取權,具體來說,就是允許健康狀態檢查和您要負載平衡的流量。否則,隱含拒絕輸入防火牆規則會封鎖來自所有外部來源 IP 位址的輸入封包。
轉送規則和輸入允許防火牆規則或階層式防火牆政策的運作方式如下:轉送規則會指定封包必須符合的目的地 IP 位址、通訊協定和 (如果已定義) 通訊埠需求,才能轉送至後端 VM。輸入允許防火牆規則可控管防火牆是否將轉送的封包傳送至 VM,或捨棄封包。 Cloud de Confiance 預設的虛擬私有雲網路包含一組有限的預先填入輸入允許防火牆規則。
如要接受來自網際網路上任何 IP 位址的流量,您必須建立來源範圍為
0.0.0.0/0或::/0的允許輸入防火牆規則。如要只允許來自特定 IP 位址範圍的流量,請使用限制較嚴格的來源範圍。根據安全最佳做法,輸入允許防火牆規則應只允許您需要的 IP 通訊協定和通訊埠。使用通訊協定設為
L3_DEFAULT的轉送規則時,限制通訊協定 (以及通訊埠,如果可以的話) 設定就特別重要。L3_DEFAULT轉送規則會轉送所有支援 IP 通訊協定的封包 (如果通訊協定和封包有通訊埠資訊,則會轉送所有通訊埠的封包)。全域外部直通式網路負載平衡器使用 Cloud de Confiance 健康狀態檢查。因此,您一律必須允許來自健康狀態檢查 IP 位址範圍的流量。 您可以根據負載平衡器健康狀態檢查的通訊協定和通訊埠,設定這些允許輸入的防火牆規則。
流量分配
如果是全域外部直通式網路負載平衡器,流量分配取決於不同屬性,例如工作階段相依性、連線追蹤政策、負載平衡模式和後端容量、偏好的後端,以及負載平衡區域政策。這些功能會共同組成協調式工作流程,協助您調整負載平衡設定,確保效能穩定可靠,並有效運用資源。
Shared VPC 架構
針對全域外部直通式網路負載平衡器,請注意下列與共用 VPC 架構相關的要點:
除了 IP 位址資源,與全域外部直通式網路負載平衡器相關的所有其他資源 (轉送規則、後端服務、健康狀態檢查和後端群組 (執行個體群組或 NEG)) 都必須位於同一個專案中,而這個專案可以是主專案或服務專案。
如果負載平衡資源位於主專案中,IP 位址資源也必須位於主專案中。
如果負載平衡資源位於服務專案中,IP 位址資源可以位於同一個服務專案,也可以位於主專案。
下表列出全域外部直通網路負載平衡器的不同元件,在 Shared VPC 架構中的位置。
| 負載平衡資源的位置1 | IP 位址資源的必要位置 |
|---|---|
| 主專案 | 主專案 |
| 服務專案 | 服務專案或主專案 |
1 包含轉送規則、後端服務、健康狀態檢查和後端 (執行個體群組或 NEG)
限制
後端只能部署在下列 Cloud de Confiance 區域:
- 北美洲:
us-west1、us-west4、us-east4、us-east5 - 歐洲:
europe-west2、europe-west3 - 亞洲:
asia-southeast1、asia-south1、asia-northeast1 - 南美洲:
southamerica-east1 - 非洲:
africa-south1 - 澳洲:
australia-southeast1
- 北美洲:
全域外部直通式網路負載平衡器只能在進階級中設定。
您無法使用 Cloud de Confiance 控制台設定全域外部直通式網路負載平衡器。請改用 Google Cloud CLI 或 REST API。
您無法使用地區代管執行個體群組後端。您可以使用區域代管執行個體群組、區域非代管執行個體群組,以及具有
GCE_VM_IP端點的區域 NEG。在後端服務中使用執行個體群組的現有限制和指引,也適用於全域外部直通式網路負載平衡器。在全域外部直通式網路負載平衡器和區域直通式網路負載平衡器 (區域外部直通式網路負載平衡器或內部直通式網路負載平衡器) 之間共用的執行個體群組,必須設定為在全域外部直通式網路負載平衡器上使用
RATE平衡模式。區域直通式網路負載平衡器一律使用CONNECTION平衡模式。只要設定的通訊協定和連接埠沒有衝突,您就能在多個全域外部直通式網路負載平衡器轉送規則之間共用同一個全域外部 IP 位址。不過,全域外部直通式網路負載平衡器和全域外部應用程式負載平衡器/全域外部 Proxy 網路負載平衡器無法共用同一個全域外部 IP 位址。
全域外部直通式網路負載平衡器僅支援 IPv4 位址的自備 IP 位址 (BYOIP)。目前僅支援 v1 BYOIP API。新的 IPv4 範圍最多可能需要 4 週才能完成佈建,且沒有任何 API 可供您控管 BGP 播送狀態。詳情請參閱「自備 IP 設定」。
一個專案最多只能建立 10 項轉送規則,且一個後端服務最多只能新增 25 個後端群組。詳情請參閱「配額與限制」。
全域外部直通式網路負載平衡器後端服務最多只能有一個後端群組。
PREFERRED您無法在同一個 Cloud de Confiance 區域中,同時擁有PREFERRED和非PREFERRED後端群組。您無法在 GKE 中部署全域外部直通式網路負載平衡器。
您無法使用 Google Cloud Armor 為全域外部直通式網路負載平衡器提供進階網路 DDoS 防護。詳情請參閱「設定進階網路 DDoS 防護」。
負載平衡器的後端服務設定的負載平衡位置政策不支援
WEIGHTED_MAGLEV選項。全域外部直通式網路負載平衡器僅支援MAGLEV。不支援
PER_SESSION連線追蹤模式。 僅支援PER_CONNECTION連線追蹤模式。系統僅支援下列負載平衡模式:
RATE和UTILIZATION。速率的定義並非每秒要求數,而是每秒傳入的封包數。執行個體群組支援RATE和UTILIZATION,NEG 則僅支援RATE。不支援轉送規則導向 (以來源 IP 為準的流量導向)。
附加至後端服務的所有後端都必須是相同類型。 後端服務無法同時包含執行個體群組和區域性 NEG。
監控指標無法使用父項全域轉送規則查詢或篩選,必須使用系統產生的子項轉送規則查詢。 Cloud de Confiance
定價
如要查看定價資訊,請參閱「網路定價:Cloud Load Balancing」。