轉送規則總覽

轉送規則會指定將網路流量路由至負載平衡器後端服務的方式。轉送規則包含 IP 位址、IP 通訊協定,以及一或多個負載平衡器接受流量的通訊埠。部分Google Cloud 負載平衡器會限制您只能使用預先定義的一組通訊埠,其他負載平衡器則允許您指定任意通訊埠。

轉送規則和對應的 IP 位址是 Google Cloud 負載平衡器的前端設定。

視負載平衡器類型而定,以下敘述正確:

此外,全域和區域轉送規則可指定為 App Hub 應用程式中的服務。

內部轉送規則

內部轉送規則會轉送源自 Google Cloud 網路內部的流量。用戶端可以與後端位於同一個虛擬私有雲 (VPC) 網路,也可以位於已連線的網路。

下列 Google Cloud 負載平衡器會使用內部轉送規則:

  • 內部應用程式負載平衡器
  • 內部 Proxy 網路負載平衡器
  • 內部直通式網路負載平衡器

內部應用程式負載平衡器

內部應用程式負載平衡器支援 IPv4 和 IPv6 (預先發布版) 流量,並使用 HTTP、HTTPS 或 HTTP/2 通訊協定。

轉送規則的範圍取決於負載平衡器類型:

  • 每個區域性內部應用程式負載平衡器至少有一項區域性內部轉送規則。區域性內部轉送規則會指向負載平衡器的區域性目標 HTTP 或 HTTPS Proxy。轉送規則與區域性內部 IPv4 或 IPv6 位址相關聯。

連至目標 HTTP(S) Proxy 的內部代管轉送規則,支援 1 至 65535 之間的任何通訊埠編號 (含首尾)。

舉例來說,下圖顯示轉送規則如何融入區域性內部應用程式負載平衡器架構。

區域性內部應用程式負載平衡器轉送規則。
區域性內部應用程式負載平衡器轉送規則 (按一下即可放大)。

如要進一步瞭解內部應用程式負載平衡器,請參閱下列頁面:

內部 Proxy 網路負載平衡器

內部 Proxy 網路負載平衡器支援 IPv4 和 IPv6 (預先發布版) 流量類型,以及 TCP 通訊協定。

轉送規則的範圍取決於負載平衡器類型:

  • 每個區域性內部 Proxy 網路負載平衡器至少有一項區域性內部轉送規則。轉送規則會指定內部 IP 位址、通訊埠和區域性目標 TCP Proxy。用戶端會使用 IP 位址和通訊埠連線至負載平衡器的 Envoy Proxy,轉送規則的 IP 位址就是負載平衡器的 IP 位址 (有時稱為虛擬 IP 位址或 VIP)。

連至目標 TCP Proxy 的內部代管轉送規則,支援 1 至 65535 之間的任何通訊埠編號 (含首尾)。

下圖顯示轉送規則如何融入區域性內部 Proxy 網路負載平衡器架構。

區域性內部 Proxy 網路負載平衡器轉送規則。
區域性內部 Proxy 網路負載平衡器轉送規則 (按一下即可放大)。

如要進一步瞭解內部 Proxy 網路負載平衡器,請參閱下列頁面:

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

使用內部直通式網路負載平衡器時,支援的流量類型為 IPv4 或 IPv6。如要瞭解支援的通訊協定,請參閱「轉送規則通訊協定」。

每個內部直通式網路負載平衡器至少有一項區域性內部轉送規則。地區性內部轉送規則指向負載平衡器的地區性內部後端服務。下圖顯示轉送規則如何融入內部直通式網路負載平衡器架構。

內部直通式網路負載平衡器轉送規則。
內部直通式網路負載平衡器轉送規則 (按一下即可放大)。

下圖顯示負載平衡器元件在子網路和地區中的位置。

內部轉送規則必須在區域和子網路中定義。後端服務只需對應至該區域。

內部直通式網路負載平衡器的高階範例。
高階內部直通式網路負載平衡器範例 (按一下即可放大)。

如要進一步瞭解內部直通式網路負載平衡器,請參閱下列頁面:

外部轉送規則

外部轉送規則接受來自可存取網際網路的用戶端系統流量,包括:

  • Google Cloud以外的用戶端
  • 具備外部 IP 位址的 Google Cloud VM
  • 使用 Cloud NAT 或執行個體型 NAT 系統,且沒有外部 IP 位址的 Google Cloud VM

下列 Google Cloud 負載平衡器類型會使用外部轉送規則:

  • 外部應用程式負載平衡器
  • 外部 Proxy 網路負載平衡器
  • 外部直通式網路負載平衡器

外部應用程式負載平衡器

如果是外部應用程式負載平衡器,轉送規則和 IP 位址取決於負載平衡器模式,以及您為負載平衡器選取的網路服務級別。

在外部應用程式負載平衡器中,轉送規則會指向目標 HTTP(S) Proxy。連至目標 HTTP(S) Proxy 的外部轉送規則,支援 1 到 65535 之間的任何通訊埠編號 (含首尾)。

區域性外部應用程式負載平衡器會使用區域性外部 IPv4 位址和區域性外部轉送規則。

下圖顯示區域性轉送規則如何融入區域性外部應用程式負載平衡器的架構。

區域性外部應用程式負載平衡器架構。
區域性外部應用程式負載平衡器架構 (按一下即可放大)。

如要進一步瞭解外部應用程式負載平衡器,請參閱「外部應用程式負載平衡器總覽」。

外部 Proxy 網路負載平衡器

外部 Proxy 網路負載平衡器提供 TCP Proxy 功能。這些負載平衡器與外部應用程式負載平衡器類似,因為它們可以終止 TCP 工作階段。不過,這些負載平衡器不支援外部應用程式負載平衡器等路徑型重新導向。

在外部 Proxy 網路負載平衡器中,轉送規則會指向目標 TCP Proxy。連至目標 TCP Proxy 的外部轉送規則,支援 1 至 65535 之間的任何通訊埠編號 (含首尾)。

下圖顯示轉送規則如何融入區域性外部 Proxy 網路負載平衡器架構。

區域性外部 Proxy 網路負載平衡器架構。
區域性外部 Proxy 網路負載平衡器架構 (按一下即可放大)。

如要進一步瞭解外部 Proxy 網路負載平衡器,請參閱「外部 Proxy 網路負載平衡器總覽」。如要瞭解如何設定外部 Proxy 網路負載平衡器,請參閱「設定外部 Proxy 網路負載平衡器」。

外部直通式網路負載平衡器

如果是外部直通式網路負載平衡器,轉送規則和對應的 IP 位址取決於負載平衡器的類型。

區域性外部直通式網路負載平衡器

區域性外部直通式網路負載平衡器是一種直通式負載平衡器,可將流量分配給單一區域中的後端執行個體。區域性外部直通式網路負載平衡器會使用區域性外部轉送規則和區域性外部 IP 位址。從網際網路上的任何位置,以及具備網際網路連線能力的 Google Cloud VM,都能存取區域性外部 IP 位址。

如果是後端服務型區域性外部直通式網路負載平衡器,區域性外部轉送規則會指向後端服務。後端服務型區域性外部直通式網路負載平衡器支援 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量。詳情請參閱「後端服務型區域性外部直通式網路負載平衡器的轉送規則通訊協定」。後端服務型負載平衡器的轉送規則,可設定為使用 IPv4 或 IPv6 位址。後端服務型區域性外部直通式網路負載平衡器的轉送規則,支援下列進階功能:

  • 將來自特定來源 IP 位址範圍的流量,導向特定後端服務。詳情請參閱「流量引導」。
  • 使用加權負載平衡,根據 HTTP 健康狀態檢查回報的權重,在負載平衡器的後端執行個體之間分配流量。

如果是以目標集區為基礎的區域性外部直通式網路負載平衡器,轉送規則會指向目標集區。目標集區型區域性外部直通式網路負載平衡器僅支援 TCP 或 UDP 流量。以目標集區為基礎的區域性外部直通式網路負載平衡器,其轉送規則僅支援 IPv4 位址。

如要支援多個區域的後端執行個體,您必須在每個區域建立區域性外部直通式網路負載平衡器。

下圖顯示區域性外部直通式網路負載平衡器,其區域性外部轉送規則的 IP 位址為 120.1.1.1。負載平衡器正在處理 us-central1 區域中後端的要求。

區域性外部直通式網路負載平衡器範例。
區域性外部直通式網路負載平衡器範例 (按一下即可放大)。

如要進一步瞭解區域性外部直通式網路負載平衡器,請參閱「區域性外部直通式網路負載平衡器總覽」。如要瞭解如何設定區域性外部直通式網路負載平衡器,請參閱下列任一頁面:

IP 通訊協定規格

每項轉送規則都有相關聯的 IP 通訊協定,規則會為該通訊協定提供服務。預設通訊協定值為 TCP。

產品 負載平衡架構 IP 通訊協定選項
區域性外部應用程式負載平衡器 EXTERNAL_MANAGED TCP
區域性內部應用程式負載平衡器 INTERNAL_MANAGED TCP
區域性外部 Proxy 網路負載平衡器 EXTERNAL_MANAGED TCP
區域性內部 Proxy 網路負載平衡器 INTERNAL_MANAGED TCP
區域性外部直通式網路負載平衡器 EXTERNAL TCP、UDP 或 L3_DEFAULT
內部直通式網路負載平衡器 INTERNAL TCP、UDP 或 L3_DEFAULT
Cloud Service Mesh INTERNAL_SELF_MANAGED TCP

IP 位址規格

轉送規則必須具備 IP 位址,客戶才能透過該位址連線至負載平衡器。IP 位址可以是靜態或臨時位址。

如果您需要在刪除轉送規則後,保留與專案相關聯的位址以供重複使用,或需要多個轉送規則參照相同的 IP 位址,請使用預留靜態 IP 位址。

只要轉送規則存在,臨時 IP 位址就會保持不變。選擇臨時 IP 位址時, Google Cloud 會將 IP 位址與負載平衡器的轉送規則建立關聯。如果您需要刪除轉送規則再重新加入,該規則可能會獲得新的 IP 位址。

視負載平衡器類型而定,IP 位址可能具有多種屬性。下表根據負載平衡架構和轉送規則的目標,彙整有效的 IP 位址設定。

產品和方案 目標 IP 位址類型 IP 位址範圍 IP 位址級別 可預留的 IP 位址 附註
區域性外部應用程式負載平衡器

EXTERNAL_MANAGED
目標 HTTP Proxy
目標 HTTPS Proxy
外部 區域 進階級 有 (選用) 進階級和標準級 (預先發布版) 支援外部 IPv6 位址
區域性內部應用程式負載平衡器

INTERNAL_MANAGED
目標 HTTP Proxy
目標 HTTPS Proxy
內部 區域 進階級 有 (選用) 轉送規則位址必須位於相關聯子網路的主要 IPv4 位址範圍內。如需 IPv6 位址規定,請參閱「IPv6 位址格式」。(預覽)
區域性外部 Proxy 網路負載平衡器

EXTERNAL_MANAGED
目標 TCP Proxy 外部 區域 進階級 有 (選用) 進階級和標準級 (預先發布版) 支援外部 IPv6 位址
區域性內部 Proxy 網路負載平衡器

INTERNAL_MANAGED
目標 TCP Proxy 內部 區域 進階級 有 (選用) 轉送規則位址必須位於相關聯子網路的主要 IPv4 位址範圍內。如需 IPv6 位址規定,請參閱「IPv6 位址格式」。(預覽)
區域性外部直通式網路負載平衡器

外部
後端服務
目標集區
外部 區域 進階 (IPv4 或 IPv6 位址) 有 (選用) 如要支援 IPv6,必須使用後端服務型區域性外部直通式網路負載平衡器。轉送規則 IPv6 位址必須位於子網路的外部 IPv6 位址範圍內。外部 IPv6 位址來自子網路的外部 IPv6 位址範圍。轉送規則的網路級別必須與轉送規則所屬子網路的 IPv6 網路級別相符。
內部直通式網路負載平衡器

內部
後端服務 內部 區域 進階級 有 (選用)

如果是 IPv4 流量,轉送規則必須參照主要 IPv4 子網路範圍中的 IPv4 位址。

如果是 IPv6 流量,轉送規則必須參照雙重堆疊或單一堆疊 (僅限 IPv6) 子網路 /64 內部 IPv6 位址範圍中的 /96 內部 IPv6 位址範圍。

傳統版 VPN

外部
請參閱傳統版 VPN 說明文件 外部 區域 Cloud VPN 沒有網路服務級別 有 (必要) 不支援 IPv6
* 您可以將 EXTERNAL_MANAGED 後端服務附加至 EXTERNAL 轉送規則。不過,EXTERNAL 後端服務無法附加至 EXTERNAL_MANAGED 轉送規則。如要使用僅限全域外部應用程式負載平衡器的新功能,建議您按照「將資源從傳統版遷移至全域外部應用程式負載平衡器」一文所述的遷移程序,將現有的 EXTERNAL 資源遷移至 EXTERNAL_MANAGED。

多項轉送規則共用一個 IP 位址

如果符合下列規則,兩項以上的轉送規則可以使用相同的 IP 位址:

  • 不重複的通訊協定和通訊埠:任兩項轉送規則不得使用相同的通訊協定和通訊埠組合。如果有多項轉送規則設定特定 IP 通訊協定 (TCP 或 UDP),則設定的通訊埠不得重複。此外,直通式網路負載平衡器可以使用 L3_DEFAULT 通訊協定選項設定單一轉送規則,做為通用規則,可與通訊協定專屬轉送規則並存。

  • 相同範圍:轉送規則和 IP 位址必須全部為區域性或全域。(跨區域內部應用程式負載平衡器和跨區域內部 Proxy 網路負載平衡器例外,因為這兩者使用全域內部轉送規則,參照區域性內部 IP 位址)。

  • 相同網路服務級別:僅適用於外部轉送規則。轉送規則和 IP 位址必須使用相同的網路服務級別。

  • 負載平衡架構:轉送規則必須採用相同的負載平衡架構,但有下列例外狀況:

    • 下列負載平衡器的轉送規則,可使用相同的區域性外部 IP 位址:

      • 區域性外部直通式網路負載平衡器 (EXTERNAL 負載平衡架構)
      • 區域性外部應用程式負載平衡器 (EXTERNAL_MANAGED)
      • 區域性外部 Proxy 網路負載平衡器 (EXTERNAL_MANAGED)
    • 用途為 SHARED_LOADBALANCER_VIP 的相同區域性內部 IP 位址,可由下列負載平衡器的轉送規則使用:

      • 內部直通式網路負載平衡器 (INTERNAL 負載平衡架構)
      • 區域性內部應用程式負載平衡器 (INTERNAL_MANAGED)
      • 區域性內部 Proxy 網路負載平衡器 (INTERNAL_MANAGED)

範例:

  • 您可以在區域性外部直通式網路負載平衡器和區域性外部應用程式負載平衡器之間共用 IP 位址,例如,區域性外部直通式網路負載平衡器的轉送規則使用 L3_DEFAULT 通訊協定,而區域性外部應用程式負載平衡器的另一個轉送規則使用 TCP:80。

  • 您可以將相同的全域外部 IP 位址用於外部應用程式負載平衡器 (HTTP 和 HTTPS)。

如要瞭解詳情,請參考下列資源:

通訊埠規格

下表根據負載平衡架構及轉送規則的目標,簡要敘述有效的通訊埠設定。

產品 負載平衡架構 目標 通訊埠需求
區域性外部應用程式負載平衡器 EXTERNAL_MANAGED 目標 HTTP Proxy
目標 HTTPS Proxy
只能參照 1 到 65535 之間的單一通訊埠
區域性內部應用程式負載平衡器 INTERNAL_MANAGED 目標 HTTP Proxy
目標 HTTPS Proxy
只能參照 1 到 65535 之間的單一通訊埠
區域性外部 Proxy 網路負載平衡器 EXTERNAL_MANAGED 目標 TCP Proxy 只能參照 1 到 65535 之間的單一通訊埠
區域性內部 Proxy 網路負載平衡器 INTERNAL_MANAGED 目標 TCP Proxy 只能參照 1 到 65535 之間的單一通訊埠
區域性外部直通式網路負載平衡器 EXTERNAL 後端服務 如果轉送規則通訊協定為 TCP 或 UDP,您可以設定:
  • 最多五個 (連續或不連續) 通訊埠的清單,或
  • 單一通訊埠範圍 (連續),或
  • 所有通訊埠。如要設定所有通訊埠,請使用 gcloud 指令列工具設定 --ports=ALL,或使用 API 將 allPorts 設為 True。

如果轉送規則通訊協定為 L3_DEFAULT,則必須設定所有通訊埠。
  • 如要設定所有通訊埠,請使用 gcloud 指令列工具設定 --ports=ALL,或使用 API 將 allPorts 設為 True。
目標集區

必須是單一通訊埠範圍 (連續)

如果轉送規則用於以目標集區為基礎的區域性外部直通式網路負載平衡器,則可選擇是否指定通訊埠。如未指定通訊埠,系統會轉送所有通訊埠 (1-65535) 的流量。

內部直通式網路負載平衡器 INTERNAL 後端服務 如果轉送規則通訊協定為 TCP 或 UDP,您可以設定:
  • 最多五個 (連續或不連續) 通訊埠的清單,或
  • 單一通訊埠範圍 (連續),或
  • 所有通訊埠。如要設定所有通訊埠,請使用 gcloud 指令列工具設定 --ports=ALL,或使用 API 將 allPorts 設為 True。

如果轉送規則通訊協定為 L3_DEFAULT,則必須設定所有通訊埠。
  • 如要設定所有通訊埠,請使用 gcloud 指令列工具設定 --ports=ALL,或使用 API 將 allPorts 設為 True。
傳統版 VPN EXTERNAL 目標 VPN 閘道 只能參照下列其中一個通訊埠:500、4500

IAM 條件

您可以使用 Identity and Access Management (IAM) 條件,設定條件來控管要授予主體哪些角色。這項功能可讓您在符合設定條件時,將權限授予主體。

IAM 條件會檢查轉送規則中的負載平衡架構 (例如 INTERNAL 或 EXTERNAL),並允許 (或禁止) 建立轉送規則。如果主體在未經授權的情況下嘗試建立轉送規則,系統會顯示錯誤訊息。

詳情請參閱「IAM 條件」。

使用轉送規則

如果您使用 Google Cloud 控制台設定負載平衡器,系統會隱含設定轉送規則,做為前端設定的一部分。如果您使用 Google Cloud CLI 或 API,則必須明確設定轉送規則。

建立轉送規則後,您可以進行有限的變更。舉例來說,定義轉送規則後,您就無法變更其 IP 位址、通訊埠編號或通訊協定。不過,您可以編輯轉送規則相關聯的負載平衡器前端設定,更新特定設定。如要進行其他變更,請使用 gcloud CLI 或 API。

變更轉送規則的 IP 位址

您無法變更現有轉送規則的 IP 位址。如要更新轉送規則的 IP 位址,請按照下列步驟刪除並重新建立規則:

  1. 使用 gcloud compute forwarding-rules delete 指令或 forwardingRules.delete 方法刪除轉送規則。

  2. 使用 gcloud compute forwarding-rules create 指令或 forwardingRules.insert 方法重新建立轉送規則。

API

如要瞭解透過 REST API 使用轉送規則時可用的屬性和方法,請參閱下列內容:

Google Cloud CLI

如需 gcloud CLI 參考文件,請參閱下列內容:

gcloud compute forwarding-rules

  • 地區性:--region=[REGION]

後續步驟