路徑
Google Cloud 路徑會定義網路流量從虛擬機器 (VM) 執行個體到其他目的地的路徑。這些目的地可能位於您 Google Cloud 虛擬私有雲 (VPC) 網路的內部 (例如在其他 VM 中) 或外部。
在虛擬私有雲網路中,路徑由採用 CIDR 格式的單一「目的地」前置字串和單一「下一個躍點」組成。當虛擬私有雲網路中的執行個體傳送封包時,如果封包的目的地位址位於路徑的目的地範圍內, Google Cloud 會將封包遞送到路徑的下一個躍點。
本頁將概述路徑在 Google Cloud中的運作方式。
Google Cloud中的轉送方式
每個 VPC 網路皆採用可擴充的分散式虛擬轉送機制。沒有指派給網路的實體裝置。雖然可自行選擇是否套用部分路徑,但 VPC 網路的路徑資料表是在 VPC 網路層級中統一定義。
每個 VM 執行個體都有個控制器,可以透過網路的路徑資料表掌握所有適用路徑。每個從 VM 傳送的封包都會根據轉送順序遞送到適用路徑的下一個適當躍點。當您新增或刪除路徑時,這些變更設定就會透過最終一致性設計推送到 VM 控制器。
路徑類型
下表摘要說明 Google Cloud 如何分類 VPC 網路中的路徑。
類型和目的地 | 下一個躍點 | 附註 |
---|---|---|
策略路徑:系統會先評估策略路徑,再評估其他類型的路徑。 | ||
策略路徑 策略路徑可根據來源 IP 位址、目的地 IP 位址、通訊協定或上述條件的組合,套用至封包。 |
|
以政策為準的路徑可套用至網路中的所有 VM、透過網路標記選取的特定 VM,或透過 Cloud Interconnect 的 VLAN 連結進入虛擬私有雲網路的流量 (僅限一個或所有地區)。 策略路徑絕不會透過虛擬私有雲網路對等互連交換。 |
子網路路徑:所有子網路路徑類型都會在以政策為依據的路徑之後,但在自訂路徑之前評估。 | ||
本機子網路路徑 系統會為每個子網路 IP 位址範圍自動建立路徑 |
虛擬私有雲網路 | 由 Google Cloud在子網路生命週期事件期間自動建立、更新及移除。 本機子網路路徑會套用至整個虛擬私有雲端網路。 |
對等互連子網路路徑 代表使用 VPC 網路對等互連連線的不同 VPC 網路中的子網路 IP 位址範圍 |
對等互連虛擬私有雲網路中的下一個躍點 | 虛擬私有雲網路對等互連提供交換子網路路徑的選項。 由 Google Cloud在子網路生命週期事件期間自動建立、更新及移除。 匯入的對等互連子網路路徑會套用至整個 VPC 網路。 |
Network Connectivity Center 子網路路徑 代表虛擬私有雲 Spoke 中的子網路 IP 位址範圍 (連線至 Network Connectivity Center 中樞的不同虛擬私有雲網路) |
Network Connectivity Center 中樞 | Network Connectivity Center 輪輻管理員可以 排除匯出子網路路徑。 由 Google Cloud在子網路生命週期事件期間自動建立、更新及移除。 匯入的 Network Connectivity Center 子網路路徑會套用至整個 VPC 網路。 |
自訂路徑:自訂路徑會在評估政策型路徑和子網路路徑後評估。 | ||
本機靜態路徑 支援各種 目的地 |
將封包轉送至靜態路徑下一個躍點 | 如要瞭解各個靜態路徑下一個躍點的詳細資料,請參閱下列注意事項: |
本機動態路徑 與子網路路徑或靜態路徑不衝突的目的地 |
Cloud Router 上 BGP 工作階段的對等互連 | 系統會根據虛擬私有雲網路中 Cloud Router 的學習路徑,自動新增及移除路徑。 路徑會根據虛擬私有雲網路的動態轉送模式套用至 VM。 |
對等互連靜態路徑、對等互連動態路徑 使用 VPC 網路對等互連連線的不同 VPC 網路中的靜態或動態路徑 |
對等互連虛擬私有雲網路中的下一個躍點 |
虛擬私有雲網路對等互連提供交換靜態路徑的選項。 匯入的對等互連靜態路徑會套用至整個虛擬私有雲網路。 虛擬私有雲網路對等互連提供交換動態路徑的選項。 對等互連動態路徑會根據匯出路徑的 VPC 網路 動態轉送模式,套用至 VPC 網路的一個或所有區域。 |
Network Connectivity Center 動態路徑 從位於不同 VPC 網路的 Network Connectivity Center 混合式輪輻匯入的動態路徑 |
Network Connectivity Center 中樞 |
Network Connectivity Center 中樞可以同時有虛擬私有雲輪輻和混合式輪輻。 網路連線中心動態路徑會根據包含混合式 Spoke 的 VPC 網路動態轉送模式,套用至 VPC 網路的一個或所有區域。 |
系統產生的路線 | ||
系統產生的預設路徑
0.0.0.0/0 IPv4
::/0 IPv6 |
default-internet-gateway |
適用於整個 VPC 網路 可移除或取代 |
子網路路徑
每個子網路至少都有一個與子網路相關聯的 IP 位址範圍的子網路路徑。如要進一步瞭解子網路 IP 範圍,請參閱子網路。
子網路路徑類型
虛擬私有雲網路可包含下列類型的子網路路徑:
- 同一 VPC 網路中子網路的子網路路徑,稱為本機子網路路徑。
- 從 Network Connectivity Center 中樞的虛擬私有雲支點匯入的 Network Connectivity Center 子網路路徑。
- 從透過 VPC 網路對等互連連線的網路匯入的對等互連子網路路徑。
所有類型的子網路路徑目的地範圍不得重複。詳情請參閱:
虛擬私有雲網路對等互連說明文件中的子網路路徑交換選項和子網路與對等互連子網路路徑互動
混合型子網路路徑
如果對應的子網路設定為混合式子網路,則本機子網路路徑和對等互連子網路路徑可以是混合式子網路路徑。
子網路路徑的生命週期
子網路的所有 IP 位址範圍 (主要 IPv4 位址範圍、次要 IPv4 位址範圍和 IPv6 位址範圍) 都有對應的子網路路徑。 Google Cloud 會在下列情況建立及刪除子網路路徑:
您變更子網路設定,例如:
- 新增或刪除子網路。
- 擴展主要 IPv4 範圍。
- 新增或刪除次要 IPv4 範圍。
- 新增或刪除 IPv6 範圍。
Google Cloud 新增地區,並自動將新子網路新增至自動虛擬私有雲模式網路。如要瞭解各區域中每個子網路的 IPv4 位址範圍,請參閱「自動模式 IPv4 範圍」。
動態路徑
Cloud Router 會根據收到的邊界閘道通訊協定 (BGP) 訊息、適用的 BGP 路徑政策 (搶先版) 和 Cloud Router 自訂學習路徑,指示 VPC 網路建立、更新及移除動態路徑。
系統會在一個或所有區域中建立動態路徑,具體取決於包含 Cloud Router 的 VPC 網路動態轉送模式和最佳路徑選取模式。詳情請參閱下列文章:
動態路徑的下一個躍點可以是下列其中一項:
Cloud VPN 通道,可以是高可用性 VPN 通道,也可以是設定為使用動態轉送的傳統版 VPN
如果動態路徑的下一個躍點無法存取,管理 BGP 工作階段的 Cloud Router 會指示 VPC 網路移除該動態路徑。詳情請參閱「BGP 狀態變更」。
動態路徑類型
虛擬私有雲網路可包含下列類型的動態路徑:
- 相同 VPC 網路中 Cloud Router 取得的動態路徑稱為本機動態路徑。
- 透過自訂路徑交換從使用 VPC 網路對等互連連線的網路匯入的對等互連動態路徑。
- Network Connectivity Center 動態路徑,從位於 Network Connectivity Center 中樞不同虛擬私有雲網路的混合式輪輻匯入。
Google Cloud 解決動態路由與子網路路由之間的衝突,詳情請參閱「與動態路由的互動」。
系統產生的預設路徑
預設路徑的目的地範圍最廣:IPv4 為 0.0.0.0/0
,IPv6 為 ::/0
。 Google Cloud 只有在封包與路徑順序中更明確的路徑不符時,才會使用預設路徑傳送封包。
即使沒有預設路徑,您的網路也不一定會與網際網路隔離,因為外部直通式網路負載平衡器和外部通訊協定轉送的特殊路徑不依賴預設路徑。
建立虛擬私有雲網路時,Google Cloud 會將系統產生的 IPv4 預設路徑新增至虛擬私有雲網路。系統產生的 IPv4 預設路徑是本機靜態路徑,具有 0.0.0.0/0
目的地和預設網際網路閘道下一個躍點。具有 0.0.0.0/0
目的地和預設網際網路閘道下一個躍點的本機靜態路徑,可提供通往外部 IPv4 位址的路徑,包括網際網路上的 IPv4 位址。下列範例資源會使用這個路徑:
- 如果 VM 的網路介面已指派外部 IPv4 位址,且傳送的封包來源與網路介面的主要內部 IPv4 位址相符,則可傳送封包。
- 公開 Cloud NAT 閘道:設定為向 VM 網路介面使用的子網路提供 NAT 服務。無論是 NAT44 或 NAT64,公開 Cloud NAT 閘道一律會依附於使用預設網際網路閘道下一個躍點的本機 IPv4 靜態路徑。如要進一步瞭解公有 Cloud NAT 閘道可轉換的流量,請參閱一般規格。
建立具有外部 IPv6 位址範圍的子網路時,如果虛擬私有雲網路還沒有系統產生的 IPv6 預設路徑,Google Cloud 會新增一條。系統產生的 IPv6 預設路徑是本機靜態路徑,具有 ::/0
目的地和預設網際網路閘道下一個躍點。具有::/0
目的地和預設網際網路閘道下一個躍點的本機靜態路徑,可提供前往外部 IPv6 位址的路徑,包括網際網路上的 IPv6 位址。這個路徑可供下列項目使用:
- VM 的網路介面已指派
/96
外部 IPv6 位址範圍,且傳送的封包來源位於該/96
位址範圍內。
存取全球 Google API 有時取決於本機 IPv4 或 IPv6 預設路徑,且該路徑的下一個躍點為預設網際網路閘道:
如果您將封包傳送至全球 Google API 的 Private Service Connect 端點,即可存取全球 Google API 和服務,您的虛擬私有雲網路不需要預設路徑,也不需要預設網際網路閘道下一個躍點。 Google Cloud 會在端點中加入特殊轉送路徑。
如果您將封包傳送至預設網域的 IPv4 或 IPv6 位址,藉此存取全域 Google API 和服務,或是傳送至
private.googleapis.com
的 IPv4 或 IPv6 位址,或是傳送至restricted.googleapis.com
的 IPv4 或 IPv6 位址,則可以使用具有預設網際網路閘道下一個躍點的預設 IPv4 和 IPv6 路徑,也可以建立及使用具有更具體目的地和預設網際網路閘道下一個躍點的 IPv4 和 IPv6 靜態路徑:- 如果 VM 只有內部 IP 位址,請參閱私人 Google 存取權的路由選項。
- 如果 VM 具有外部 IP 位址,請參閱路由選項。
路線互動
以下各節說明子網路路由與其他路由類型之間的互動。
子網路路由與靜態路由之間的互動
Google Cloud 針對本機子網路路徑、對等互連子網路路徑和網路連線中心子網路路徑,強制執行下列規則除非對應子網路已設定為混合式子網路。
Google Cloud 如果新靜態路徑的目的地與現有本機、對等互連或 Network Connectivity Center 子網路路徑的目的地完全相符或位於其中,您就無法建立新的靜態路徑。例如:
如果存在目的地為
10.70.1.0/24
的本機、對等互連或網路連線中心子網路路徑,您就無法為10.70.1.0/24
、10.70.1.0/25
、10.70.1.128/25
或任何其他符合10.70.1.0/24
的目的地建立新的靜態路徑。如果存在目的地為
2001:0db8:0a0b:0c0d::/64
的本機或對等互連子網路路徑,您就無法為2001:0db8:0a0b:0c0d::/64
、2001:0db8:0a0b:0c0d::/96
或任何符合2001:0db8:0a0b:0c0d::/64
的目的地建立新的靜態路徑。
Google Cloud 不允許您對子網路進行任何變更,導致子網路 IP 位址範圍與現有本機或對等互連靜態路徑的目的地完全相符或包含該目的地。例如:
如果虛擬私有雲網路有目的地為
10.70.1.128/25
的靜態路徑,您就無法建立新的子網路,其主要或次要 IPv4 位址範圍為10.70.1.128/25
、10.70.1.0/24
,或是包含10.70.1.128/25
中所有 IPv4 位址的任何其他 IP 位址範圍。如果虛擬私有雲網路有
2001:db8:a0b:c0d:e0f:f0e::/96
目的地 Google Cloud 的靜態路徑,系統會禁止建立新的本機或對等互連子網路路徑,該路徑的 IPv6 位址範圍為2001:db8:a0b:c0d::/64
,或包含2001:db8:a0b:c0d:e0f:f0e::/96
中所有 IPv6 位址的任何其他範圍。
子網路路由與動態路由之間的互動
Google Cloud 會強制執行下列規則,除非子網路已設定為混合子網路。
Google Cloud 如果 Cloud Router 傳送的前置字元與現有的本機、對等互連或 Network Connectivity Center 子網路路徑目的地完全相符或位於該目的地內,就不會建立動態路徑。例如:
如果存在具有
10.70.1.0/24
目的地的本機、對等互連或 Network Connectivity Center 子網路路徑,且虛擬私有雲網路、對等互連虛擬私有雲網路或包含 Network Connectivity Center 混合式 Spoke 的網路中的 Cloud Router 收到10.70.1.128/25
、10.70.1.0/24
或任何符合10.70.1.0/24
的前置字元, Google Cloud 就不會為收到的衝突前置字元建立任何本機、對等互連或 Network Connectivity Center 動態路徑。如果存在目的地為
2001:0db8:0a0b:0c0d::/64
的本機、對等互連或 Network Connectivity Center 子網路路徑,且虛擬私有雲網路、對等互連虛擬私有雲網路或包含 Network Connectivity Center 混合式 Spoke 的網路中的 Cloud Router 收到2001:0db8:0a0b:0c0d::/96
、2001:0db8:0a0b:0c0d::/64
或任何符合2001:0db8:0a0b:0c0d::/64
的前置字元, Google Cloud 不會為收到的衝突前置字元建立任何本機、對等互連或 Network Connectivity Center 動態路徑。
Google Cloud 如果變更子網路導致建立新的本機、對等互連或 Network Connectivity Center 子網路路徑,且目的地與現有本機、對等互連或 Network Connectivity Center 動態路徑的目的地完全相符或包含該目的地,則會移除所有現有的動態路徑。例如:
如果虛擬私有雲網路有目的地為
10.70.1.128/25
的本機、對等互連或網路連線中心動態路由,當系統為10.70.1.128/25
、10.70.1.0/24
或包含10.70.1.128/25
中所有 IPv4 位址的任何其他 IP 位址範圍,建立新的本機、對等互連或網路連線中心子網路路由時,Google Cloud 會移除該動態路由。如果虛擬私有雲網路有目的地為
2001:db8:a0b:c0d::/96
的本機、對等互連或 Network Connectivity Center 動態路徑,當系統為2001:db8:a0b:c0d::/64
建立新的本機、對等互連或 Network Connectivity Center 子網路路徑時,就會移除該動態路徑。 Google Cloud
適用範圍與順序
適用的路徑
每個執行個體、Cloud VPN 通道和 VLAN 連結都有一組適用路徑,也就是適用於該特定資源的路徑。適用路徑是虛擬私有雲網路中所有路徑的子集。
下列路徑類型一律會套用至所有 VM 執行個體、VLAN 連結和 Cloud VPN 通道:
您可以設定下列路徑類型,只套用至特定 VM 執行個體、VLAN 連結或 Cloud VPN 通道:
策略路徑可套用至:
- 所有 VM 執行個體、VLAN 連結和 Cloud VPN 通道
- 僅限以網路標記識別的 VM 執行個體
- 僅限特定區域的 VLAN 連結
靜態路徑可套用至:
- 所有 VM 執行個體、VLAN 連結和 Cloud VPN 通道
- 僅限以網路標記識別的 VM 執行個體
動態路徑可套用至 VM 執行個體、VLAN 連結,以及動態路徑下一個躍點所在區域或所有區域的 Cloud VPN 通道,具體視 VPC 網路的動態轉送模式而定。
特殊轉送路徑
虛擬私有雲網路會為特定服務提供專屬路徑。這些特殊路徑不會顯示在 VPC 網路路由表中。你無法移除任何特殊路徑。不過,您可以使用虛擬私有雲防火牆規則或防火牆政策,允許或拒絕封包。
外部直通式網路負載平衡器和外部通訊協定轉送的路徑
外部直通式網路負載平衡器和外部通訊協定轉送會使用 Maglev 系統,將網際網路上的用戶端封包路由至 VPC 網路中的後端 VM 和目標執行個體。這些 Maglev 系統會將封包導向與外部轉送規則目的地相符的目的地。
外部直通式網路負載平衡器或外部通訊協定轉送的每項轉送規則,也會為後端 VM 或目標執行個體提供路由路徑,將封包傳送至 VPC 網路外的目的地:
- 後端 VM 或目標執行個體傳送的封包可以是輸出回應封包 (傳回給用戶端),也可以是啟動新連線的輸出封包。
- 封包來源必須與轉送規則的 IP 位址相符。封包通訊協定和來源通訊埠不必與轉送規則的通訊協定和通訊埠規格相符。
- 轉送規則路徑不依賴預設路徑,也不會使用預設網際網路閘道下一個躍點。
- 後端 VM 和目標執行個體不需要啟用 IP 轉送功能。
Google Front End 和後端之間的路徑
外部應用程式負載平衡器和外部 Proxy 網路負載平衡器會使用 Google Front End (GFE)。第二層 GFE 會開啟與後端 VM 的 TCP 連線,並從下列來源傳送封包:
- IPv4 的
35.191.0.0/16
和130.211.0.0/22
2600:2d00:1:1::/64
(適用於 IPv6)
Google Cloud 會使用 Google 網路中的路徑,將封包從這些來源範圍傳遞至虛擬私有雲網路中的後端 VM。每個 VPC 網路都包含路由路徑,可讓 VM 將回應封包傳送至這些範圍。
健康狀態檢查路徑
所有負載平衡器和代管執行個體群組自動修復的健康狀態檢查,都會從健康狀態檢查探測器 IP 位址範圍,將封包傳送至後端 VM。
Google Cloud 會使用 Google 網路中的路徑,將封包從健康狀態檢查探查系統傳送至虛擬私有雲網路中的 VM。每個 VPC 網路都包含路徑,可讓 VM 將回應封包傳送至健康狀態檢查探測系統。
Identity-Aware Proxy (IAP) 的路徑
使用 IAP 進行 TCP 轉送時,會將 35.235.240.0/20
用於 IPv4,並將 2600:2d00:1:7::/64
用於 IPv6,做為僅限內部使用的範圍,下一個躍點完全位於 Google 網路中。Google 不會在網際網路上發布這些範圍的路徑。
使用 IAP TCP 轉送時,Google 網路中的路徑會將封包從 35.235.240.0/20
或 2600:2d00:1:7::/64
傳送至虛擬私有雲網路中的 VM。每個 VPC 網路都包含轉送路徑,可讓 VM 將回應封包傳送至這些範圍。
Cloud DNS 和 Service Directory 的路徑
下列 Cloud DNS 和 Service Directory 功能會使用 35.199.192.0/19
做為僅限內部使用的範圍,且下一個躍點完全位於 Google 網路內。Google 不會在網際網路上發布 35.199.192.0/19
的路徑。
使用這些 Cloud DNS 和 Service Directory 功能時,Google 網路中的路徑會將封包從 35.199.192.0/19
傳送至虛擬私有雲網路中的 VM。每個 VPC 網路都包含轉送路徑,可讓 VM 將回應封包傳送至 35.199.192.0/19
。
無伺服器虛擬私有雲存取的路徑
無伺服器虛擬私有雲存取會使用 35.199.224.0/19
做為僅限內部使用的範圍,下一個躍點完全位於 Google 網路內。Google 不會在網際網路上發布 35.199.224.0/19
的路徑。
Google 網路中的路由會將封包從 35.199.224.0/19
傳送到無伺服器虛擬私有雲存取連接器執行個體。每個 VPC 網路都包含轉送路徑,可讓連接器執行個體將回應封包傳送至 35.199.224.0/19
。
全球 Google API 的 Private Service Connect 端點路徑
建立全域 Google API 的 Private Service Connect 端點時, Google Cloud 會為端點新增一條路徑至虛擬私有雲網路。路徑的目的地是端點的全域內部 IP 位址。
轉送順序
特定封包可能有多個適用路徑。下列步驟模擬 Google Cloud 選取路線的程序。
特殊路徑:部分Google Cloud 特殊路徑不會顯示在虛擬私有雲網路路徑表中。詳情請參閱「特殊路徑」。
如果適用特殊路徑,路線選取模型只會包含特殊路徑。系統會忽略所有其他路徑,並在這個步驟停止評估。
依據政策的路徑:系統會在評估特殊路徑後,評估依據政策的路徑,但會先於其他類型的路徑。如果虛擬私有雲網路中沒有任何以政策為準的路徑,系統會Google Cloud 略過這個步驟,並繼續執行子網路路徑步驟。
Google Cloud 只會依優先順序評估策略路徑。 Google Cloud 會評估每個策略路徑的封包來源和目的地,從優先順序最高的策略路徑開始。如果封包的特徵與策略路由不符,Google Cloud 會忽略該策略路由,並繼續評估排序清單中的下一個策略路由。要評估的下一個策略路由可能與遭忽略的策略路由具有相同優先順序,也可能優先順序較低。
如果封包特性在評估路由選取模型中的所有策略路徑後,不符合任何策略路徑,Google Cloud 會忽略所有策略路徑,並繼續執行子網路路徑步驟。
如果封包的特徵符合優先順序最高的策略式路徑, Google Cloud 會先忽略所有優先順序較低的策略式路徑。如果清單中留下兩個以上的策略路徑, Google Cloud 會評估優先順序相同的其餘策略路徑。如果封包特徵不符, Google Cloud 會忽略任何其餘策略路徑。完成這個步驟後,路線選取模型可能包含一或多個以政策為依據的路線。
如果路線選取模型包含兩個以上相符的最高優先順序策略路徑, Google Cloud 會使用內部演算法選取單一策略路徑。所選的以政策為準路徑可能不是封包來源或目的地的最明確相符項目。為避免這種模稜兩可的情況,建議您建立具有不重複優先順序的以政策為準路線。
如果您的路徑選取模型只包含一個優先順序最高的策略路由,且該路由已設定為略過其他策略路由, Google Cloud會略過所有策略路由,並繼續執行子網路路由步驟。
如果您的路徑選取模型只包含優先順序最高的單一策略路由,且未設定為略過其他策略路由, Google Cloud 會將封包傳送至下一個躍點內部直通式網路負載平衡器,並忽略所有非策略路由。
子網路路徑: Google Cloud 判斷封包目的地是否符合虛擬私有雲網路中本機、對等互連或 Network Connectivity Center 子網路路徑的目的地範圍。
沒有相符的子網路路徑:如果封包的目的地不符合任何子網路路徑的目的地範圍, Google Cloud 會忽略所有子網路路徑。從路徑選取模型中移除所有子網路路徑,然後繼續執行「最明確的目的地」步驟,評估靜態和動態路徑。
符合一般子網路路徑:對於大多數子網路,如果封包的目的地符合一般子網路路徑的目的地範圍,Google Cloud 系統會專門使用子網路路徑。 Google Cloud系統會忽略所有其他路徑,並在這個步驟停止評估。如果封包目的地未與資源建立關聯,或屬於已停止的 VM 執行個體,系統就會捨棄封包。
相符的混合式子網路路徑:如果封包的目的地符合混合式子網路路徑的目的地範圍,且目的地符合與執行中 VM 執行個體或內部轉送規則相關聯的 IP 位址, Google Cloud會使用混合式子網路路徑轉送封包。 Google Cloud會忽略所有其他路徑,並在這個步驟停止評估。
如果目的地與執行中的 VM 或內部轉送規則不符,請參閱「混合式子網路中不相符的資源」。
最明確的目的地:在這個步驟的開頭, Google Cloud 會忽略所有特殊轉送路徑、策略路由和子網路路徑。
Google Cloud 會判斷哪些適用的靜態或動態路徑具有最明確的目的地,其中包含封包的目的地 IP 位址。 Google Cloud 會忽略所有路徑,只保留目的地最明確的路徑。舉例來說,
10.240.1.0/24
是比10.240.0.0/16
更具體的目的地。完成這個步驟後,路線選取模型只會包含目的地相同的靜態或動態路線。
只選取最有利的自訂路徑類型:在這個步驟中, Google Cloud會移除所有自訂路徑,只留下最有利的自訂路徑類型。本機自訂路由優先於 Network Connectivity Center 動態路由,而 Network Connectivity Center 動態路由優先於對等互連自訂路由。
下表摘要說明 Google Cloud 在這個步驟中使用的邏輯。
自訂路徑類別 預定事宜 區域動態和區域靜態路徑 如果路徑模型包含至少一個目的地的本機動態或本機靜態路徑, Google Cloud 會移除路徑模型中的下列自訂路徑類型 (如有):
- 來自混合式輪輻的 Network Connectivity Center 動態路徑,位於不同的 VPC 網路中
- 對等互連動態路徑 (從透過 VPC 網路對等互連連線的其他 VPC 網路匯入)
Network Connectivity Center 動態路徑 如果符合以下「所有」條件, Google Cloud 就會從路徑模型中移除所有對等互連動態和對等互連靜態路徑: - 您的路徑模型「不」包含目的地的任何本機自訂路徑
- 您的路徑模式包含至少一個 Network Connectivity Center 目的地動態路徑
- Network Connectivity Center 動態路徑來自不同 VPC 網路中的混合式輪輻
對等互連動態和靜態路徑 最不利的自訂路由類型包含對等互連自訂路由。 只有在路徑模型不包含目的地的任何本機自訂路徑或網路連線中心動態路徑時,才會使用目的地的對等互連自訂路徑。 從單一虛擬私有雲網路選取對等互連自訂路徑的下一個躍點:相同目的地的下一個躍點必須位於相同的虛擬私有雲網路。如果您的路徑模型包含從兩個以上不同虛擬私有雲網路匯入的對等互連動態或靜態路徑,且這些網路是透過虛擬私有雲網路對等互連連線,則僅適用這個步驟。
Google Cloud 使用內部演算法,從單一虛擬私有雲網路匯入對等互連自訂路徑。如果您的 VPC 網路與新的 VPC 網路建立對等互連,或是與現有的對等互連 VPC 網路中斷連線,Google Cloud 選取的對等互連網路可能會變更。
忽略下一個躍點無法使用的靜態和動態路徑:這個步驟會模擬Google Cloud 忽略無效或關閉的下一個躍點。
下一個躍點 VM IP 位址規格無效:靜態路徑的
next-hop-address
必須與指派給路徑 VPC 網路中 VM 的 IP 位址相符。IP 位址必須指派給 VM 的網路介面,方式如下:- 主要內部 IPv4 位址
- 內部 IPv6 位址
- 外部 IPv6 位址
如果
next-hop-address
指定的 IP 位址與其他類型的資源 (例如別名 IP 範圍) 相符,或與任何資源都不相符,Google Cloud 就會忽略該路徑。下一個躍點 VM 已停止或刪除: Google Cloud 忽略下一個躍點 VM 執行個體已停止或刪除的每個靜態路徑。如果使用
next-hop-instance
或next-hop-address
指定路徑的下一個躍點,就會發生這種情況。詳情請參閱「執行個體停止或刪除時的行為」。下一個躍點負載平衡器 IP 位址規格無效:對於下一個躍點負載平衡器是由 IP 位址指定的靜態路徑,IP 位址必須與位於路徑 VPC 網路或對等互連 VPC 網路中的內部直通式網路負載平衡器轉送規則相符。如果下一個躍點 IP 位址與其他類型負載平衡器的轉送規則相符,或與任何轉送規則都不符,Google Cloud 會忽略該路由。
未建立下一個躍點的 Classic VPN 通道:Google Cloud 忽略每個具有下一個躍點的靜態路徑,該躍點的 Classic VPN 通道沒有有效的第 1 階段 (IKE) 安全性關聯 (SA)。詳情請參閱傳統版 VPN 說明文件中的路由順序。
下一個躍點無法運作的動態路徑:即使負責程式設計動態路徑的 BGP 工作階段停止運作, Google Cloud也會忽略動態路徑,前提是該路徑的下一個躍點 Cloud VPN 通道、VLAN 連結或路由器設備 VM 無法運作。一般來說,對應的 Cloud Router BGP 工作階段中斷時,動態路徑就會遭到移除,因此這種情況只會持續幾秒鐘。
Google Cloud 不會驗證下一個躍點 VM 的客體 OS 或下一個躍點負載平衡器的後端 VM 是否正在處理封包。詳情請參閱執行個體和內部直通式網路負載平衡器下一個躍點的常見注意事項。
捨棄優先順序較低的路徑:這個步驟會模擬 Google Cloud 捨棄所有路徑,只保留優先順序最高的路徑。
完成這個步驟後,路線模型可能會是空白,也可能包含一或多條路線。如果模型不為空白,模型中的所有路線都具備以下特徵:
- 優先順序相同
- 尚未忽略的下一個躍點
- 相同目的地
- 非以政策為準或子網路路徑的路徑類型
從單一虛擬私有雲網路選取 Network Connectivity Center 動態路徑的下一個躍點:相同目的地的下一個躍點必須位於同一個虛擬私有雲網路。如果您的路徑模型包含從位於不同虛擬私有雲網路的兩個以上混合式輪輻匯入的 Network Connectivity Center 動態路徑,則僅適用這個步驟。
Google Cloud 會使用內部演算法,從位於單一虛擬私有雲網路的混合式輪輻匯入 Network Connectivity Center 動態路徑。如果您在 Network Connectivity Center 中樞新增或移除混合式輪輻,所選的混合式輪輻可能會變更。為避免這種模稜兩可的情況,請在符合下列條件時,確保 Network Connectivity Center 動態路徑具有不重複的優先順序:
- 路徑目的地相同。
- 這些路徑是從不同虛擬私有雲網路中的兩個以上混合輪輻匯入。
只選取最有利的偏好類別: Google Cloud 不會在屬於不同偏好類別的路徑之間執行等價多路徑 (ECMP),如本步驟所定義。
偏好類別 路徑類型和下一個躍點類型 第一偏好 (最偏好) 一或多個下一個躍點執行個體 ( next-hop-instance
或next-hop-address
) 或下一個躍點 Classic VPN 通道的靜態路徑。第二偏好設定 一或多個單一類型的動態路徑。 第三個選項 下一個躍點為內部直通式網路負載平衡器的單一靜態路徑。 第四個偏好選項 (最不偏好) 一或多個靜態路徑,下一個躍點為 default-internet-gateway
。在這個步驟中,如果存在兩個以上的下一個躍點負載平衡器靜態路徑, Google Cloud 會使用內部演算法選取單一靜態路徑,Google Cloud 不會在多個負載平衡器之間執行 ECMP。詳情請參閱內部直通網路負載平衡器下一個躍點的考量事項。
完成這個步驟後,路線模型可能會是空白,也可能包含一或多條路線。如果模型不為空白,模型中的所有路徑都具有下列特徵:
- 偏好類別相同
- 優先順序相同
- 尚未忽略的下一個躍點
- 單一虛擬私有雲網路中的下一個躍點
- 相同目的地
- 非以政策為準或子網路路徑的路徑類型
傳送或捨棄封包:視路徑模型中剩餘的路徑數量而定, Google Cloud 傳送或捨棄封包:
如果路徑模型包含單一路徑, Google Cloud 會將封包傳送至下一個躍點,但有下列例外狀況:
如果下一個躍點內部直通式網路負載平衡器未啟用全域存取權,就無法從負載平衡器區域以外的區域連線。因此,如果下一個躍點負載平衡器未啟用全域存取權, Google Cloud 就會捨棄從 VM 執行個體、VLAN 連結和 Cloud VPN 通道傳送的所有封包,這些封包來自與負載平衡器區域不同的區域。如要變更這項行為,請啟用全域存取權。
如果路徑模型包含兩條以上的路徑, Google Cloud會執行 ECMP,將封包分散到下一個躍點之間。下一個躍點的選取方式取決於雜湊計算和下一個躍點的數量。如果封包包含通訊埠資訊,Google Cloud 會使用五個組合的雜湊碼;否則會使用三個組合的雜湊碼。如果後續封包傳送時路徑模型有所變更,即使雜湊值相同, Google Cloud 仍可能將這些封包導向下一個不同的躍點。
如果路徑模型為空白, Google Cloud 會捨棄封包,並傳送 ICMP 類型 3、代碼 0 (網路無法連線) 訊息。
混合型子網路中不相符的資源
如果路徑模型包含混合式子網路路徑,且封包目的地與已停止 VM 相關聯的 IP 位址相符,或與混合式子網路中的任何資源都不相關聯,則Google Cloud 會使用不同的程序來轉送封包。下列步驟模擬 Google Cloud 用來轉送這些封包的程序:
找出包含混合式子網路的 VPC 網路:
混合式子網路和將封包傳送至混合式子網路的資源可能會使用相同的虛擬私有雲網路。在這種情況下,混合式子網路會在該虛擬私有雲網路中建立對應的本機子網路路徑。
混合式子網路和將封包傳送至混合式子網路的資源,可能位於透過 VPC 網路對等互連連線的不同 VPC 網路。在本例中,混合式子網路會在傳送封包的資源所用虛擬私有雲網路中,建立對應的對等互連子網路路徑。
首先,請從包含混合式子網路的虛擬私有雲網路中取得所有路徑,然後移除下列路徑:
- 所有策略路由
- 所有子網路路徑
- 所有帶有網路標記的靜態路徑
- 目的地範圍比第一個路徑模型中相符的混合式子網路路徑更廣,且包含該路徑的所有路徑
透過轉送順序的「select only the most favorable preference category」步驟,執行「most specific destination」。
請根據下列規則判斷 Google Cloud 是否會傳送或捨棄封包:
如果路徑模型包含單一路徑,且路徑的下一個躍點與混合式子網路位於相同區域, Google Cloud 會將封包傳送至下一個躍點。
如果路徑模型包含兩條以上路徑, Google Cloud會在這些路徑之間執行 ECMP。如果下一個躍點與混合式子網路位於相同區域, Google Cloud 會將封包傳送至下一個躍點。
如果路徑模型為空白,或下一個躍點位於與混合式子網路區域不同的區域,Google Cloud 就會捨棄封包,並傳送 ICMP 類型 3、代碼 0 (網路無法連線) 訊息。
下列路徑的下一個躍點位於與混合式子網路區域不同的區域,因此一律會導致封包遭到捨棄:
- Cloud Router 在與混合式子網路不同區域中取得的動態路徑,即使包含 Cloud Router 的 VPC 網路動態轉送模式為全域也一樣
- 下一個躍點位於混合式子網路區域以外的靜態路徑,包括不同區域中的所有內部直通式網路負載平衡器 (即使已啟用全域存取權)
後續步驟
- 如要建立及管理路徑,請參閱「使用路徑」。
- 如要進一步瞭解靜態路徑,請參閱「靜態路徑」。
- 如要瞭解虛擬私有雲網路,請參閱「 虛擬私有雲網路」。 Google Cloud
- 如要建立、修改或刪除虛擬私有雲網路,請參閱「建立及管理虛擬私有雲網路」。