路徑總覽

Google Cloud Platform (GCP) 路徑可定義網路流量從 VM 執行個體到其他目的地之間的路徑。這些目的地可能位於您虛擬私人雲端 (VPC) 網路的內部 (例如在其他 VM 中) 或外部。

每個路徑均由「目的地」與「下一個躍點」所組成。目的地 IP 屬於目的地範圍內的流量會傳送到下一個躍點進行遞送。本頁將概述路徑在 GCP 中的運作方式。

GCP 中的轉送方式

每個 VPC 網路皆採用可擴充的分散式虛擬轉送機制。雖然可自行選擇是否套用部分路徑,但 VPC 網路的路徑資料表是在 VPC 網路層級中統一定義。

每個 VM 執行個體都有個控制器,可以透過網路的路徑資料表掌握所有適用路徑。每個從 VM 傳送的封包都會根據轉送順序遞送到適用路徑的下一個適當躍點。當您新增或刪除路徑時,這些變更設定就會透過最終一致性設計推送到 VM 控制器。

路徑類型

GCP 有四種不同類型的路徑,可分為兩大類別。在您建立網路、新增子網路或修改子網路的次要 IP 範圍時,由系統產生的路徑會自動建立。自訂路徑則是您直接或透過雲端路由器建立並維護的路徑。下表為不同類型路徑的摘要說明:

類型 類別 目的地 下一個躍點 是否可以移除 套用對象
預設路徑 由系統產生 0.0.0.0/0 default-internet-gateway 網路中的所有執行個體
子網路路徑 由系統產生 主要與次要子網路 IP 範圍
VPC 網路,該網路會將封包轉送到子網路中的 VM 僅限子網路遭到刪除或變更子網路的次要 IP 範圍時 網路中的所有執行個體
靜態路徑 自訂 • 沒有跟任何子網路 IP 範圍發生部分或全部重疊的 IP 範圍
• 比子網路 IP 範圍「更廣泛」的 IP 範圍
下列其中一個項目:
• 特定名稱的執行個體
• 特定 IP 位址的執行個體
• Cloud VPN 通道
除非限制為具有網路標記的特定執行個體,否則為網路中的所有執行個體
動態路徑 自訂 • 沒有跟任何子網路 IP 範圍發生部分或全部重疊的 IP 範圍
• 比子網路 IP 範圍「更廣泛」的 IP 範圍
雲端路由器 BGP 對等點的 IP 位址 只限不再從 BGP 節點接收路徑時才由雲端路由器移除 • 如果 VPC 網路處於地區動態轉送模式,則為雲端路由器所在地區中的執行個體
• 如果 VPC 網路處於全域動態轉送模式,則為所有執行個體

預設路徑

建立 VPC 網路時,GCP 會建立由系統產生的預設路徑。這個路徑有兩個目的:

  • 定義從虛擬私人雲端網路連出的路徑,包含網際網路的路徑。如果執行個體需要存取網際網路,除了具有這個路徑外,還必須符合額外要求

  • 私人 Google 存取權提供標準路徑。

系統所產生預設路徑的優先順序為 1000。由於該路徑的目的地範圍最廣 (0.0.0.0/0),因此只有在封包不會套用目的地更明確的路徑時,GCP 才會使用該路徑。如要進一步瞭解目的地明確性與路徑優先順序在選取路徑時的運作方式,請參閱轉送順序一節。

如果您要將您的網路與網際網路完全隔離,或是將預設路徑替換為自訂路徑,您可以刪除預設路徑:

  • 如要將「網際網路流量」轉送到不同的下一個躍點,您可以將預設路徑替換為自訂靜態或動態路徑。舉例來說,您可以將預設路徑替換為下一個躍點為 Cloud VPN 通道或如 Proxy 伺服器等其他執行個體的自訂靜態路徑。

  • 如果您移除了預設路徑卻沒有改用其他路徑,則目的地 IP 範圍未由其他路徑涵蓋的封包會遭到捨棄。

子網路路徑

子網路路徑是由系統產生的路徑,定義 VPC 網路中每個子網路的路徑。

每個子網路至少會有一個目的地符合子網路主要 IP 範圍的子網路路徑。如果子網路具有次要 IP 範圍,GCP 會針對每個次要範圍建立具有對應目的地的子網路路徑。如要進一步瞭解子網路 IP 範圍,請參閱網路和子網路

沒有其他路徑的目的地會符合子網路路徑的目的地或是比該目的地更加明確。您「可以」建立目的地範圍「較廣」的自訂路徑,其中「包含」子網路路徑的目的地範圍。如果發生 IP 範圍重疊的情形:由於 GCP 採用目的地明確性做為轉送順序的首要條件,因此就目的地符合子網路路徑目的地範圍的封包而言,子網路路徑一律為下一個躍點的優先選擇。即使另一個路徑的目的地「包含」子網路路徑的目的地,並且具有較高路徑優先順序,這一點也完全相同。

下列要點說明如何建立及移除子網路路徑:

  • 建立子網路時,也會一起建立子網路主要 IP 範圍的對應子網路路徑。

    • 如果您將次要 IP 範圍新增至子網路,系統也會針對該次要範圍建立對應的子網路路徑。
  • 自動模式虛擬私人雲端網路會針對每個自動建立的子網路主要 IP 範圍,建立子網路路徑。如要刪除這些子網路,您必須將自動模式網路轉換為自訂模式。詳情請參閱虛擬私人雲端網路類型一文。

  • 除非您修改或刪除子網路,否則無法刪除子網路路徑:

    • 當您從子網路中移除次要範圍時,會自動刪除該次要範圍的子網路路徑。

    • 當您刪除子網路時,會自動刪除主要與次要範圍的所有子網路路徑。您無法以其他任何方式刪除子網路主要範圍的子網路路徑。

  • 使用虛擬私人雲端網路對等互連連結不同網路時,其中一個網路的子網路路徑會匯入另一個網路,反之亦然。因此,所有主要與次要的子網路 IP 範圍均不得重複。

    • 除非您中斷對等互連關係,否則無法移除對等網路內子網路的子網路路徑。中斷對等互連關係時,從其他網路匯入的所有子網路路徑會自動移除。

防火牆規則可以封鎖執行個體之間的通訊。如要進一步瞭解執行個體對執行個體的通訊,請參閱網路內部通訊

自訂路徑

自訂路徑為您手動建立的靜態路徑,或是由一或多個雲端路由器自動維護的動態路徑。

自訂路徑的目的地不能與網路中的任何子網路路徑相符或比該路徑更加明確

如果您是使用自動模式 VPC 網路,請勿使用落在 10.128.0.0/9 CIDR 區塊的目的地,因為該區塊定義了子網路路徑現在與未來的位址空間。詳情請參閱自動模式 IP 範圍。目的地位於 10.128.0.0/9 範圍內的靜態路徑在自動模式 VPC 網路中可能會隨時停用。如果新的 GCP 地區變為可用且系統自動建立新的子網路及子網路路徑,就可能會發生這種情形。詳情請仔細參閱自動模式網路的考量事項

靜態路徑

靜態路徑可使用任何的靜態路徑下一個躍點。建立靜態路徑的方法有二種:

  • 手動建立

  • 如果您使用 GCP 主控台建立採用依據政策的轉送或依據路徑的 VPN 的 Cloud VPN 通道,系統會為您建立遠端流量選取器的靜態路徑。如要進一步瞭解網路與通道轉送,請參閱 Cloud VPN 說明文件。

詳情請參閱靜態路徑參數

動態路徑

動態路徑由一或多個雲端路由器代管。這些路徑的目的地一律代表您 VPC 網路以外的 IP 範圍,而且下一個躍點也一律是 BGP 對等位址。雲端路由器可管理下列項目的動態路徑:

適用範圍與順序

適用的路徑

路徑會根據下列規則套用到執行個體:

  • 由系統產生的路徑會套用到虛擬私人雲端網路中的所有執行個體。 套用子網路路徑的執行個體範圍無法變更,不過您可以替換預設路徑

  • 視路徑的標記屬性而定,自訂靜態路徑可套用到所有執行個體或特定執行個體。 具有標記屬性的靜態路徑適用於具有對應網路標記的執行個體。如未指定任何標記屬性,則靜態路徑會套用到網路中的所有執行個體。

  • 動態路徑會根據虛擬私人雲端網路的動態轉送模式套用到執行個體。如果虛擬私人雲端網路處於地區性動態轉送模式,則所有雲端路由器會套用在各自地區中取得的路徑。如果網路處於全域動態轉送模式,則所有雲端路由器會套用在整個網路中取得的路徑。

轉送順序

針對從適用路徑的集區傳出的封包,GCP 會透過下列程序選取下一個躍點:

  1. 首先考量子網路路徑,因為 GCP 規定子網路路徑具有最明確的目的地,並且符合各自子網路的 IP 位址範圍。如果封包的目的地符合子網路路徑的目的地,則會將封包遞送到 GCP 子網路。您無法以任何其他類型的路徑覆寫子網路路徑。

    • GCP 不允許靜態路徑的目的地與子網路路徑的目的地相同或更加明確。

    • 針對動態路徑,在收到目的地與任何子網路路徑的目的地相同或更加明確的路徑時,每個雲端路由器都會予以忽略。

  2. 如果封包不符合子網路路徑的目的地,GCP 就會尋找目的地明確度最高的其他路徑。

    • 假設 VM 傳出封包的目的地為 10.240.1.4,並且有兩個目的地分別為 10.240.1.0/2410.240.0.0/16 的路徑。由於 10.240.1.4 最明確的目的地為 10.240.1.0/24,目的地為 10.240.1.0/24 的路徑會定義封包的下一個躍點。
  3. 如果多個路徑具有最高明確度相同的目的地,GCP 會考量路徑的優先順序

    • 如果優先順序最高的單一路徑可供使用,封包會傳送到該路徑的下一個躍點。

    • 如果多個路徑的最高優先順序相同且可供使用,則會採用 ECMP 轉送設計,針對相依性使用五個組合的雜湊碼,將流量分散到多個下一個躍點之間。這個雜湊碼是透過通訊協定、來源與目的地 IP 位址和所傳送封包的來源與目的地通訊埠計算得出,如果可用路徑的數量有所變更,就會重新計算。

  4. 如果找不到適用的目的地,GCP 就會捨棄封包,並回覆無法連線至 ICMP 目的地或網路的錯誤訊息。

靜態路徑參數

每個靜態路徑均由下列元件組成:

  • 名稱說明:這些欄位用來標示路徑。名稱為必要元件,但說明為選用元件。您的「專案」中的每個路徑名稱皆不得重複。

  • 網路:每個路徑皆只能與一個虛擬私人雲端網路相關聯。

  • 目的地範圍:目的地範圍是單一 IPv4 CIDR 區塊,包含接收傳入封包的系統 IP 位址。GCP 不支援 IPv6 目的地範圍。目的地必須以 CIDR 標記法表示,而且最廣的可能目的地為 0.0.0.0/0

  • 優先順序:如果多個路徑具有相同的目的地,優先順序可用來決定應使用哪個路徑。數字較低代表優先順序「較高」;舉例來說,優先順序數值為 100 的路徑與優先順序數值為 200 的路徑相比,前者的優先順序較高。

  • 下一個躍點:靜態路徑的下一個躍點可指向預設的網際網路閘道、GCP 執行個體或 Cloud VPN 通道。詳情請參閱靜態路徑下一個躍點一文。

  • 標記:您可以指定網路標記清單,讓路徑只會套用到至少有一個所列標記的執行個體。如果您沒有指定標記,GCP 會將路徑套用到網路中的所有執行個體。

靜態路徑下一個躍點

以下是靜態路徑有效的下一個躍點。如要進一步瞭解各個類型,請參閱 gcloud 參考資料說明文件

  • 下一個躍點閘道 (next-hop-gateway):您可以指定預設網際網路閘道以定義公開 IP 位址的路徑。

  • 下一個躍點執行個體 (next-hop-instance):您可以指定執行個體的「名稱」與「區域」,將流量導向 GCP 中的「現有執行個體」。流量會導向至網路中的主要內部 IP 位址。

    • 如果執行個體主要網路介面的內部 IP 位址變更,GCP 會自動更新路徑資料表,以便流量繼續傳送到新 IP 位址的執行個體。

    • 如果執行個體替換為相同區域中具有相同名稱的新執行個體,GCP 會自動更新路徑資料表,將流量導向替換後的執行個體。這點不會因執行個體是自動或是手動替換而受到影響。

  • 下一個躍點 IP (next-hop-address):您可以使用主要網路介面的「內部 IP 位址」來參照 GCP 中的「現有執行個體」

    • 如果執行個體替換為新的執行個體,則替換後的執行個體必須採用相同的內部 IP 位址。GCP 會將流量導向目前具有下一個躍點的指定內部 IP 位址的執行個體。

    • 下一個躍點 IP 位址必須是您的虛擬私人雲端網路中現有的執行個體。在與您的虛擬私人雲端網路連線的各個網路中,公開 IP 位址與私人 IP 位址並非有效的下一個躍點。

  • 下一個躍點 VPN 通道 (next-hop-vpn-tunnel):針對採用依據政策的轉送依據路徑的 VPN 的 Cloud VPN 通道,您可以建立下一個躍點指向特定 VPN 通道名稱與地區的路徑,將流量導向該通道。

將執行個體做為下一個躍點

使用「下一個躍點執行個體」或「下一個躍點 IP」建立下一個躍點為執行個體的靜態路徑時,做為下一個躍點的執行個體必須設為接收來自其他執行個體的傳入流量:

  • 做為下一個躍點的執行個體必須設為允許 IP 轉送 「僅限」建立 VM 時才可根據不同的 VM 來決定是否啟用 IP 轉送。針對自動建立為代管執行個體群組一部分的 VM,如要啟用這類 VM 的 IP 轉送,您必須在執行個體群組使用的執行個體範本上啟用 IP 轉送。

  • 做為下一個躍點的執行個體必須具有設定適當的防火牆規則。 設定路徑並指定執行個體做為下一個躍點,「不會」自動調整防火牆規則。除非您建立允許傳入流量的防火牆規則,否則默示拒絕輸入規則會封鎖傳入流量。詳情請參閱防火牆規則總覽一文。

  • 防火牆規則會套用到封包的來源與目的地,而非下一個躍點執行個體。下一個躍點執行個體應設為維持原本的封包來源與目的地。舉例來說,如果輸入防火牆規則的來源包含 IP 範圍 10.240.0.3/32,則防火牆規則將允許具有該來源的封包透過適當設定的 NAT 執行個體轉送,即使該 NAT 執行個體的 IP 位址並非 10.240.0.3 也是一樣。

  • 使用執行個體做為下一個躍點時,請記住執行個體為區域性資源。選取區域代表您已選取地區。GCP 不會考量路徑的地區距離,因此建立的路徑可以將流量傳送到位在不同地區的下一個躍點執行個體,但這會增加輸出成本並造成網路延遲現象。

  • 如果路徑的下一個躍點為執行個體,則只要該執行個體處於運作狀態,GCP 就會將該路徑視為有效。如果該執行個體中的軟體 (例如其作業系統或負責轉送封包的程序) 出現停滯情形或當機,系統就會捨棄封包。建議使用代管執行個體群組和自動修復功能,指示 GCP 在做為下一個躍點的執行個體未通過可設定的健康狀態檢查時,重新建立執行個體。

  • 即使您設定執行個體的訪客作業系統來停用網路介面,GCP 也仍會將該網路介面視為路徑的下一個躍點。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
虛擬私人雲端