靜態路徑
本頁將概述靜態路徑在 Google Cloud中的運作方式。
如要概略瞭解 Google Cloud中的路徑,請參閱「路徑總覽」。
建立靜態路徑的考量事項
建立靜態路徑的方法有二種:
您可以使用Google Cloud 控制台、
gcloud compute routes create
或 API,routes.insert
手動建立靜態路徑。如果您使用 Google Cloud 主控台建立不使用動態轉送的傳統版 VPN 通道,Cloud VPN 可能會自動建立對應的靜態路徑。詳情請參閱 Cloud VPN 網路和通道轉送。
您可以與對等互連的虛擬私有雲網路交換靜態路徑,詳情請參閱虛擬私有雲網路對等互連說明文件中的「交換自訂靜態路徑的選項」。
路徑參數
靜態路徑支援下列屬性:
「名稱」和「說明」。這些欄位用來標示路徑。名稱為必要元件,但說明為選用元件。您的「專案」中的每個路徑名稱皆不得重複。
電視網。每個路徑皆只能與一個虛擬私有雲網路相關聯。
下一個躍點。下一個躍點會識別封包傳送的網路資源。所有下一個躍點類型都支援 IPv4 目的地,部分下一個躍點類型則支援 IPv6 目的地。詳情請參閱「下一個躍點和功能」。
目的地範圍。目的地範圍是單一 IPv4 或 IPv6 CIDR 標記法。
靜態路由的目的地必須遵守「子網路路由與靜態路由之間的互動」和「虛擬私有雲網路對等互連子網路與靜態路由互動」一節所述的規則。IPv4 靜態路徑最廣泛的目的地為
0.0.0.0/0
。IPv6 靜態路徑最廣的可能目的地為::/0
。優先順序。數字越小,表示優先順序越高。最高優先順序為
0
,最低優先順序為65,535
。網路標記。您可以讓靜態路徑僅適用於虛擬私有雲網路中,以網路標記識別的特定 VM 執行個體:
沒有網路標記的靜態路由會套用至虛擬私有雲網路中的所有資源,包括所有 VM 執行個體、Cloud VPN 通道、Cloud Interconnect VLAN 連結、路由器設備,以及僅限 Proxy 的子網路中的 Envoy Proxy。
具有網路標記的靜態路徑只會套用至具有該網路標記的 VM 執行個體。不適用於其他資源。
下一個躍點和功能
下表依下一個躍點類型,列出靜態路徑功能支援:
下一個躍點類型 | IPv4 | IPv61 | ECMP2 |
---|---|---|---|
下一個躍點閘道 (next-hop-gateway ):指定預設網際網路閘道,定義外部 IP 位址的路徑。 |
|||
依名稱和區域指定下一個躍點執行個體 (next-hop-instance )
將封包傳送至依名稱和區域識別的下一個躍點 VM,該 VM 與路徑位於同一專案。詳情請參閱下一個躍點執行個體的注意事項。 |
|||
依位址指定下一個躍點執行個體 (next-hop-address ):將封包傳送至下一個躍點 VM,該 VM 的識別依據是網路介面的主要內部 IPv4 位址,或是內部或外部 IPv6 位址。詳情請參閱下一個躍點執行個體的注意事項。 |
|||
依轉送規則名稱 (next-hop-ilb ) 和區域 (next-hop-ilb-region ) 指定下一個躍點內部直通式網路負載平衡器
將封包傳送至內部直通式網路負載平衡器的後端,該負載平衡器由轉送規則的名稱、區域和 (選用) 專案識別。詳情請參閱內部直通式網路負載平衡器下一個躍點的注意事項。 |
|||
依位址 (next-hop-ilb ) 設定下一個躍點內部直通式網路負載平衡器將封包傳送至內部直通式網路負載平衡器的後端,該負載平衡器是由負載平衡器轉送規則的 IP 位址所識別。詳情請參閱內部直通式網路負載平衡器下一個躍點的注意事項。 |
3 | ||
下一個躍點傳統版 VPN 通道 (next-hop-vpn-tunnel )
使用政策型轉送或路徑型 VPN,將封包傳送至下一個躍點傳統版 VPN 通道。詳情請參閱傳統版 VPN 通道下一個躍點的注意事項。 |
next-hop-gateway
next-hop-instance
下一個躍點專案和網路
靜態路徑下一個躍點會同時與虛擬私有雲網路和專案建立關聯:
網路:除非下表另有說明,否則下一個躍點的 VPC 網路必須與路徑的 VPC 網路相符。
專案:除非下表另有說明,否則下一個中繼站必須位於包含下一個中繼站虛擬私有雲網路的專案中 (獨立專案或共用虛擬私有雲主專案)。部分下一個中繼站可能位於共用虛擬私有雲服務專案中。
下一個躍點類型 | 可位於對等互連的虛擬私有雲網路中 | 可位於 Network Connectivity Center 中樞的不同虛擬私有雲輪輻中 | 可位於共用虛擬私有雲服務專案中 |
---|---|---|---|
下一個躍點閘道 (next-hop-gateway ) |
|||
依名稱指定下一個躍點執行個體 (next-hop-instance ) |
|||
依地址 (next-hop-address ) 顯示的下一個躍點執行個體 |
|||
依轉送規則名稱和區域,取得下一個躍點內部直通式網路負載平衡器 (next-hop-ilb ) |
|||
轉送規則資源連結的下一個躍點內部直通式網路負載平衡器 (next-hop-ilb ) |
|||
下一個躍點內部直通式網路負載平衡器 (依位址) (next-hop-ilb ) |
僅限 IPv4 |
||
下一個躍點傳統 VPN 通道 (next-hop-vpn-tunnel ) |
執行個體和內部直通式網路負載平衡器下一個躍點的常見注意事項
以執行個體為基礎的轉送是指下一個躍點為 VM 執行個體 (next-hop-instance
或 next-hop-address
) 的靜態路徑。
以內部直通式網路負載平衡器為下一個躍點是指下一個躍點為內部直通式網路負載平衡器 (next-hop-ilb
) 的靜態路徑。
設定以執行個體為基礎的路由或內部直通式網路負載平衡器做為下一個躍點時,請考量下列準則:
您必須將後端 VM 或下一個躍點執行個體設為轉送來自任何來源 IP 位址的封包。如要設定轉送,請在建立 VM 時,根據不同 VM 啟用 IP 轉送 (
can-ip-forward
)。針對自動建立為代管執行個體群組一部分的 VM,請在執行個體群組使用的執行個體範本中啟用 IP 轉送。除了路由封包所需的任何作業系統設定外,您還必須進行這項設定變更。後端 VM 或下一個躍點執行個體上執行的軟體必須經過適當設定。舉例來說,如果第三方設備 VM 充當路由器或防火牆,就必須按照製造商的指示設定。
後端 VM 或下一個躍點執行個體必須具有適當的防火牆規則。您必須設定適用於所路由封包的防火牆規則。請注意以下幾點:
- 適用於執行轉送功能的執行個體的輸入防火牆規則,必須包含轉送封包來源的 IP 位址。默示拒絕輸入規則會封鎖所有傳入封包,因此您至少必須建立自訂輸入允許防火牆規則。
- 適用於執行轉送功能的執行個體的輸出防火牆規則,必須包含轉送封包目的地的 IP 位址。除非您建立特定的輸出拒絕規則來覆寫,否則默示允許輸出規則會允許這項操作。
- 建立防火牆規則時,請考量後端 VM 或下一個躍點執行個體是否執行網路位址轉譯 (NAT)。
詳情請參閱隱含防火牆規則。
後端 VM 或下一個躍點執行個體傳送的封包來源區域,就是後端 VM 或下一個躍點執行個體所在的區域。舉例來說,即使後端 VM 或下一個躍點執行個體最初是從
us-west1
以外區域的資源接收封包,後端 VM 或下一個躍點執行個體處理的封包仍可傳送至只能在us-west1
存取的位置。us-west1
只有與傳送封包的 VM 位於同一區域的資源才能存取,例如:- 已停用全域存取權的內部直通式網路負載平衡器、內部應用程式負載平衡器,以及區域性內部 Proxy 網路負載平衡器
- Cloud VPN 通道、Cloud Interconnect VLAN 連結,以及網路連線路由器設備 VM (如果虛擬私有雲網路使用區域動態轉送)
下一個躍點執行個體的注意事項
依執行個體名稱和區域設定下一個躍點 (
next-hop-instance
):建立靜態路徑時,如果下一個躍點執行個體是依執行個體名稱和區域指定, Google Cloud 必須在指定區域中存在具有該名稱的執行個體,且符合下列條件:- 執行個體與路徑位於相同專案。
- 執行個體在路徑的 VPC 網路中 (而非對等互連的 VPC 網路) 有網路介面 (NIC)。
只要靜態路徑存在,就會發生下列情況:
Google Cloud 在下列任一情況下,自動更新下一個躍點的程式設計:
- 下一個躍點執行個體的主要內部 IPv4 位址變更,或
- 您替換下一個躍點執行個體,且替換後的執行個體名稱相同、位於相同區域和專案,並在路徑的 VPC 網路中具有網路介面。
在下列情況下,Google Cloud 不會更新下一個躍點的程式設計:
- 刪除執行個體時。
- 指派給執行個體 NIC 的 IPv6 位址範圍會變更。
- 執行個體的 IPv4 或 IPv6 位址未指派。
- 下一個躍點執行個體 IP 位址 (
next-hop-address
):有效的下一個躍點 VM IP 位址如下:- VM 網路介面的主要內部 IPv4 位址。
- 指派給 VM 網路介面的
/96
IPv6 位址範圍中的任何內部或外部 IPv6 位址。
建立靜態路徑時,如果下一個躍點執行個體是由 IP 位址指定, Google Cloud 會接受任何指派給 VM 的 IP 位址,只要該位址位於與路徑相同的 VPC 網路中,子網路的子網路範圍內即可。不過,只有在下一個躍點位址是有效的「下一個躍點」VM IP 位址時, Google Cloud 才會設定路徑。舉例來說,如果您建立路徑,並將下一個躍點指定為來自別名 IP 範圍的 IP 位址,系統就會建立路徑。不過,別名 IP 位址並非有效的下一個躍點 VM IP 位址,因此系統不會設定路徑。
Google Cloud 如果下一個躍點 IP 位址移至其他 VM,且該 IP 位址仍為有效的下一個躍點 VM IP 位址,系統會自動更新下一個躍點的程式設計。
以 IP 位址指定下一個躍點執行個體時,封包會路由至執行個體的網路介面,而非特定 IP 位址。
共用虛擬私有雲服務專案中的下一個躍點執行個體:以 IP 位址指定下一個躍點 VM 時,VM 可以位於任一與路徑相同的專案 (獨立專案或共用虛擬私有雲主專案),或 VM 可以位於共用虛擬私有雲服務專案。如果依執行個體名稱和區域指定下一個躍點 VM,下一個躍點 VM 必須與路徑和 VPC 網路位於同一專案 (獨立專案或共用 VPC 主專案)。
區域對區域的成本和延遲時間:使用 VM 做為下一個躍點時,下一個躍點會位於區域的可用區中。使用下一個躍點的路徑適用於相同虛擬私有雲網路中的所有執行個體,或適用於具有相符網路標記的特定執行個體。 Google Cloud 不會考量使用執行個體做為下一個躍點的路徑的地區距離,因此建立的路徑可以將流量傳送到位在不同地區的下一個躍點 VM。從一個區域傳送封包到另一個區域,會增加輸出資料移轉費用,並造成網路延遲。
不進行健康狀態檢查,也不驗證設定: Google Cloud 絕不會檢查下一個躍點執行個體是否符合「適用於執行個體和內部直通式網路負載平衡器下一個躍點的常見注意事項」一節中列出的所有規定。即使您設定執行個體的訪客作業系統來停用 VM 的網路介面,也 Google Cloud 不會忽略下一個躍點執行個體。
連線兩個 VPC 網路時沒有對稱雜湊: Google Cloud 在符合下列所有條件的設定中,使用兩個以上的下一個中繼站 VM (具有多個網路介面) 時,不會提供對稱雜湊:
- 這些 VM 在一個虛擬私有雲網路中各有一個網路介面,在第二個虛擬私有雲網路中則有另一個介面。
- 在每個虛擬私有雲網路中,至少有一組目的地相同、優先順序相同,且每個路徑都參照不同下一個躍點 VM 的自訂靜態路徑。
如果您使用兩個以上的 VM (具備多個介面) 連接虛擬私有雲網路,且需要由同一個 VM 處理特定連線的雙向封包,則必須使用對稱雜湊,而只有下一個躍點內部直通網路負載平衡器支援這項功能。詳情請參閱「對稱雜湊」。
- 執行個體停止或刪除時的行為: Google Cloud 不會阻止您停止或刪除靜態路徑下一個躍點 VM (由名稱和區域或內部位址指定)。如果下一個躍點 VM 未執行,轉送作業會取決於是否存在完全相同的目的地的其他路徑,以及這些其他路徑是否具有正在執行的下一個躍點。為說明這項行為,請參考下列範例:
您有下列路徑和 VM 狀態:
route-a
、目的地192.168.168.0/24
、優先順序10
、下一個中繼 VMvm-a
已停止route-b
、目的地192.168.168.0/24
、優先順序20
、下一個中繼 VMvm-b
正在執行route-c
、目的地192.168.168.0/24
、優先順序30
、下一個中繼 VMvm-c
正在執行
在本例中,目的地符合
192.168.168.0/24
的封包會傳送至vm-b
下一個躍點,因為優先順序最高的route-a
下一個躍點vm-a
並未運作。這是因為在Google Cloud 轉送順序中,「disregard static and dynamic routes with unusable next hops」步驟先於「disregard low priority routes」步驟。您有下列路徑和 VM 狀態:
route-x
、目的地192.168.168.0/24
、優先順序10
、下一個中繼 VMvm-x
已停止route-y
、目的地192.168.168.0/24
、優先順序20
、下一個中繼 VMvm-y
已停止route-z
、目的地192.168.0.0/16
、優先順序0
、下一個躍點 VMvm-z
正在執行
在本例中,目的地符合
192.168.168.0/24
的封包會遭到捨棄,因為兩個192.168.168.0/24
路徑 (route-x
和route-y
) 的下一個躍點 VM 並未執行,即使較廣泛的192.168.0.0/16
目的地有路徑 (route-z
),且下一個躍點 VM 正在執行也一樣。這是因為在Google Cloud 轉送順序中,「最明確的目的地」步驟先於「忽略下一個躍點無法使用的靜態和動態路徑」步驟。
內部直通式網路負載平衡器下一個躍點的注意事項
支援的轉送規則。 Google Cloud 僅支援下一個躍點內部直通式網路負載平衡器轉送規則。 Google Cloud 不支援其他負載平衡器、通訊協定轉送或 Private Service Connect 端點使用的下一個躍點轉送規則。
規格方法和轉送規則網路與專案。您可以使用下列三種方法之一,指定下一個躍點轉送規則。您使用的規格方法會決定轉送規則的網路是否必須與路徑的網路相符,以及轉送規則可位於哪個專案。
請選擇下列其中一種方法,並確保轉送規則的 IP 版本與您建立的靜態路徑 IP 版本相符:
依據轉送規則名稱 (
--next-hop-ilb
) 和區域 (--next-hop-ilb-region
):依據名稱和區域指定下一個躍點轉送規則時,轉送規則的網路必須與路徑的 VPC 網路相符。轉送規則必須位於與轉送規則網路相同的專案中 (獨立專案或共用虛擬私有雲主專案)。透過轉送規則資源連結:轉送規則的資源連結格式為
/projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE_NAME
,其中PROJECT_ID
是包含轉送規則的專案 ID,REGION
是轉送規則的區域,FORWARDING_RULE_NAME
則是轉送規則的名稱。透過資源連結指定下一個躍點轉送規則時,轉送規則的網路必須與路徑的 VPC 網路相符。轉送規則可位於任一專案,包括含有轉送規則網路的專案 (獨立專案或共用虛擬私有雲主專案),或共用虛擬私有雲服務專案。透過轉送規則 IP 位址:以 IPv4 或 IPv6 位址指定下一個中繼站轉送規則時,轉送規則的網路可以是路由的 VPC 網路或 VPC 網路,該網路透過 VPC 網路對等互連或 Network Connectivity Center 連線至路由的 VPC 網路。Network Connectivity Center 支援虛擬私有雲輻射網路中的下一個躍點內部直通式網路負載平衡器,但須符合連線的 Network Connectivity Center 需求。轉送規則可位於任一專案,包括含有轉送規則網路的專案 (獨立專案或共用虛擬私有雲主專案),或共用虛擬私有雲服務專案。
全域存取權的影響。使用內部直通式網路負載平衡器下一個躍點的自訂靜態路徑,會在所有區域中進行程式設計。下一個躍點是否可用,取決於負載平衡器的全域存取權設定。啟用全域存取權後,虛擬私有雲網路的所有區域都能存取負載平衡器下一個躍點。如果停用全域存取權,只有與負載平衡器位於相同區域的負載平衡器下一個躍點可供存取。如果停用全域存取權,從其他區域傳送至使用內部直通式網路負載平衡器下一個躍點的路徑的封包,就會遭到捨棄。
所有後端健康狀態不良時。當內部直通式網路負載平衡器的所有後端都無法通過健康狀態檢查時,使用該負載平衡器下一個躍點的路徑仍會生效。系統會根據流量分配,將路徑處理的封包傳送至下一個躍點負載平衡器的其中一個後端。
不支援使用共用內部 IP 位址的轉送規則 (
--purpose=SHARED_LOADBALANCER_VIP
)。下一個躍點內部直通式網路負載平衡器和具有通用 IP 位址的內部直通式網路負載平衡器轉送規則 是互斥功能。下一個躍點內部直通式網路負載平衡器必須使用負載平衡器轉送規則專屬的 IP 位址,這樣才能明確參照單一後端服務 (一個負載平衡器)。使用通用內部 IP 位址的轉送規則可以參照不同的後端服務 (不同的內部直通式網路負載平衡器)。多個路徑具有相同的目的地和優先順序,但下一個躍點是不同的內部直通網路負載平衡器。 Google Cloud 絕不會使用 ECMP 在兩個以上的下一個躍點內部直通網路負載平衡器之間分配流量。而是使用確定性內部演算法,Google Cloud 選取一個下一個躍點內部直通式網路負載平衡器。為避免這種模稜兩可的情況,您可以為每條路徑使用專屬的網路標記。
如果靜態路徑具有不同的內部直通式網路負載平衡器下一個躍點,但優先順序和目的地相同,則Google Cloud 會選取單一下一個躍點。 多個路徑具有相同的目的地、優先順序和下一個躍點內部直通式網路負載平衡器。如果沒有網路標記, Google Cloud 就不允許您建立多個靜態路徑,這些路徑具有相同的目的地、優先順序和內部直通式網路負載平衡器下一個躍點組合。使用網路標記時,您可以建立多個靜態路徑,這些路徑具有相同的目的地、優先順序和內部直通式網路負載平衡器下一個躍點組合。
傳統版 VPN 通道下一個躍點的注意事項
區域對區域的費用和延遲時間: Google Cloud 不會考量使用下一個躍點傳統 VPN 通道的路徑區域距離。將流量傳送至其他區域的下一個躍點傳統 VPN 通道,會產生傳出資料移轉費用,並導致網路延遲。最佳做法是使用高可用性 VPN 通道搭配動態轉送,因為這項設定會考量區域距離。
Classic VPN 通道未運作時的行為:如果 Classic VPN 通道未運作,下一個躍點為 Classic VPN 通道的自訂靜態路徑不會自動移除。如要瞭解通道未運作時會發生什麼情況,請參閱傳統版 VPN 說明文件中的「通道關閉時」一節。
Network Connectivity Center 注意事項
- 您可以從虛擬私有雲輪輻建立靜態路徑,連至可透過 Network Connectivity Center 中樞存取的內部直通網路負載平衡器。
- 這些 Network Connectivity Center 靜態路徑有額外限制。詳情請參閱靜態路徑總覽。