關於使用 Hybrid Subnets 遷移至 Google Cloud
本頁說明如何使用混合式子網路路由,協助將工作負載遷移至 Google Cloud。
透過混合子網路轉送,虛擬私有雲網路可與連線的地端部署網路共用 CIDR 區塊。如果封包符合混合式子網路路徑,但目的地 IP 位址未與該子網路中的資源建立關聯,Google Cloud 可以使用動態或靜態路徑,將封包轉送至地端部署網路。
這項設定可協助您逐步遷移工作負載,不必變更 IP 位址。 Google Cloud遷移期間,已遷移至虛擬私有雲網路的工作負載,可以使用內部 IP 位址與地端部署網路中剩餘的工作負載通訊。所有工作負載遷移完畢後,即可停用混合式子網路轉送,恢復正常的轉送行為。
如要遷移至 Google Cloud ,並使用 Hybrid Subnets,需要三個不同的元件共同運作:
- 連線能力:您的地端部署網路和虛擬私有雲網路必須透過網路連線產品 (例如 Cloud VPN 或 Cloud Interconnect) 連線。Hybrid Subnets 本身不會提供這項連線功能。
- 混合型子網路轉送:您必須將
allow-cidr-routes-overlap標記套用至子網路資源,啟用混合型子網路轉送。 - 遷移工具:您需要遷移工具 (例如 Migrate to Virtual Machines),才能將工作負載遷移至 Google Cloud。
規格
如要設定 Hybrid Subnets,以便將工作負載從地端部署網路遷移至Google Cloud ,您的環境必須符合下列需求。
- 連線規定:
- 地端部署網路和 VPC 網路必須透過網路連線產品 (例如 Cloud VPN 或 Cloud Interconnect) 連線。
- 高可用性 VPN 通道或 VLAN 連結、Cloud Router,以及啟用混合式子網路路由的子網路,都必須位於相同區域。
- 虛擬私有雲網路設定:
- 啟用混合子網路路徑的子網路 IPv4 位址範圍,必須與地端部署網路中裝載要遷移工作負載的 CIDR 區塊相符。在大多數情況下,子網路的主要 IPv4 位址範圍會與地端部署網路中的 CIDR 區塊相符。
- 您必須啟用混合型子網路轉送。 啟用混合型子網路路由後,系統不會強制執行子網路路由與靜態路由之間的互動規則,以及子網路路由與動態路由之間的互動規則。即使本機和對等互連靜態或動態路徑的目的地相符,或位於子網路的主要 IPv4 位址範圍或任何次要 IPv4 位址範圍內,這些路徑仍可存在。
- 您必須設定 Cloud Router 自訂通告路徑,才能在將 VM 遷移至虛擬私有雲網路時,選擇性地通告 VM 的 IP 位址。如要支援 Proxy ARP 和最長前置字串比對,這些自訂的播送路徑必須比啟用子網路路由的子網路 IPv4 位址範圍更明確 (子網路遮罩更長)。您可以為每個遷移的 VM IP 位址使用一個
/32自訂通告路徑。
- 地端部署網路設定:
- 您必須為地端部署路由器設定Proxy ARP。
- 您必須設定地端部署路由器,通告共用 CIDR 區塊的 IP 位址範圍。
混合型子網路路由
完成Hybrid Subnets 規格所述的設定後,兩個網路中的 VM 就能使用內部 IP 位址通訊。
以下各節說明啟用混合型子網路轉送後,虛擬私有雲網路中含有這類子網路的路由行為,以及地端部署網路的路由行為。
虛擬私有雲網路中的路由
在虛擬私有雲路徑模型子網路路徑比對步驟中,如果封包目的地符合本機或對等互連子網路路徑, Google Cloud 會嘗試使用相符的子網路路徑遞送封包。在一般子網路中,如果目的地未與執行中的 VM 或內部轉送規則建立關聯,系統會捨棄封包,並忽略所有其他路徑。
不過,如果子網路已啟用混合型子網路轉送,子網路路徑會變成混合型子網路路徑,轉送行為也會有所不同:
- 相符資源:如果封包的目的地與子網路中執行中的 VM 執行個體網路介面或內部轉送規則相符, Google Cloud 會將封包遞送到介面或轉送規則。這與一般子網路的行為相同。
- 不相符的資源:如果封包的目的地與子網路中的資源不符, Google Cloud 會遵循混合型子網路中不相符的資源程序。只要封包的下一個躍點與混合型子網路位於相同區域,這個程序就會將封包轉送至本機或對等互連靜態/動態路由的下一個躍點。本機或對等互連靜態/動態路由會提供路徑,將封包遞送到地端部署網路。
舉例來說,在圖 3 中,封包 A 會使用本機混合型子網路路由,轉送至本機子網路中的 VM。封包 B 的目的地與使用混合型子網路轉送的子網路中,正在執行的 VM 或內部轉送規則沒有關聯,因此 Google Cloud 會檢查符合混合型子網路路徑目的地範圍的動態或靜態路徑。系統找到相符項目,並使用動態路由將封包 B 傳送至地端部署網路。 Google Cloud
地端部署網路中的路由
本節說明地端部署網路中的路由行為。在本範例中,地端部署網路透過 Cloud VPN 通道連線至 VPC 網路。
當地端部署網路中的用戶端 VM 將封包傳送至伺服器 VM 時,如果伺服器 VM 位於兩個網路共用的 CIDR 區塊內,地端部署網路的路由器或第一個躍點裝置會執行轉送表查詢:
如果伺服器 VM 與地端部署網路中的 IP 位址相關聯,地端部署路由器不會介入 Proxy ARP。伺服器 VM 會回覆來自用戶端 VM 的 ARP
who-has封包,回應內容包含伺服器的 MAC 位址。用戶端 VM 會將乙太網路框架傳送至伺服器 VM。如果伺服器 VM未與地端部署網路中的 IP 位址建立關聯,且地端部署路由器已從虛擬私有雲網路中 Cloud VPN 通道的 Cloud Router BGP 工作階段收到特定自訂路徑通告,地端部署路由器會介入 Proxy ARP。地端部署路由器會以包含路由器 MAC 位址的回應,回覆用戶端 VM 的 ARP
who-has封包。用戶端 VM 會將乙太網路框架傳送至地端部署路由器,而地端部署路由器會擷取 IP 封包,並將其轉送至其中一個 Cloud VPN 通道。這會將封包遞送到已啟用混合型子網路轉送的子網路中的 VM。
限制
Hybrid Subnets 有下列限制。
IP 位址管理和支援的流量:
IPv6:Hybrid Subnets 不支援 IPv6 流量。
廣播和多點傳播:Hybrid Subnets 不支援廣播和多點傳播流量。
IP 位址衝突:Hybrid Subnets 不會偵測地端部署網路資源與包含已啟用混合型子網路轉送的子網路的虛擬私有雲網路之間的 IP 位址衝突。請確認每個 IP 位址 (預設閘道除外) 只使用一次。
無法使用的位址:子網路主要 IPv4 位址範圍中的前兩個和末兩個 IPv4 位址,無法供任何 Google Cloud 資源使用。即使啟用混合式子網路路徑,這項規則仍會生效。詳情請參閱「IPv4 子網路範圍中無法使用的位址」。
區域不符:如果相符混合型子網路路徑目的地範圍內的相符靜態或動態路徑下一個躍點,位於與子網路區域不同的區域,封包就會遭到捨棄。詳情請參閱「區域限制」。
具有網路標記的靜態路徑:請確保相符混合式子網路路徑目的地範圍內的任何相符靜態路徑,都不會使用網路標記。如果使用網路標記的相符靜態路徑封包率偏高,就會導致封包遺失。
不支援的產品互動:請勿將 Hybrid Subnets 與下列項目搭配使用。
Network Connectivity Center (NCC):NCC 不支援 Hybrid Subnets。 Google Cloud系統不會禁止您將啟用混合型子網路路由的子網路匯出至 NCC 中樞,但這麼做可能會導致無法預測的路由行為。
混合式連線 NEG:如果端點符合混合式子網路路由,Google 的集中式健康狀態檢查健康狀態檢查探測系統就無法與混合式 NEG 中的端點通訊。
Hybrid NAT:Hybrid Subnets 不支援 Hybrid NAT。如果先比對到混合式子網路路徑,Hybrid NAT 就不會對從 VM 傳送至靜態或動態路由中目的地的封包執行來源 NAT (SNAT)。
此外,也請注意下列實務限制。
地端部署網路必須支援 Proxy ARP:Hybrid Subnets 不支援從其他雲端服務供應商 (例如 Azure 或 AWS) 的遠端網路遷移工作負載,因為這些遠端網路不支援 Proxy ARP。
地端部署網路必須接受
/32路由通告:如果您使用第 3 層 Partner Interconnect,請向合作夥伴確認他們是否支援接收/32前置字元。
遷移選項
Google 建議搭配使用 Migrate to Virtual Machines 和 Hybrid Subnets,自動將 VM 從 VMware 來源或 Google Cloud VMware Engine 來源遷移。
或者,您也可以使用第三方遷移工具搭配 Hybrid Subnets,只要符合本文所述的 Hybrid Subnets 需求即可。
如要瞭解如何規劃使用 Migrate to Virtual Machines 進行遷移,請參閱使用 Migrate to VMs 進行遷移的歷程。
如要進一步瞭解遷移選項,請參閱「遷移資源」。
如需規劃使用 Hybrid Subnets 遷移至 Google Cloud 的相關支援,請提交客服案件。
使用 Hybrid Subnets 的注意事項
以下各節說明使用 Hybrid Subnets 將工作負載遷移至 Google Cloud的注意事項。
Proxy ARP 和 Hybrid Subnets
Hybrid Subnets 需要在地端部署網路的路由器或第一跳裝置 (主機首次傳送流量的點,目的地位於本機網路外) 上設定Proxy ARP。
第一個躍點裝置可以是路由器、虛擬設備、防火牆,或是執行 choparp 等軟體解決方案的 VM。
建議您在地端部署網路中使用 Proxy ARP 時,採取下列做法:
- 如要瞭解啟用 Proxy ARP 和保護網路環境的最佳做法,請洽詢網路架構供應商。
- 完成遷移至Google Cloud的作業後,請停用 Proxy ARP。
區域限制
如果流量符合混合子網路路徑,但目的地 IP 位址未與執行中的 VM 或內部轉送規則建立關聯,就會發生這項限制。在 Google Cloud的路由選取模型中,混合型子網路中不相符的資源步驟期間,系統會評估路由,就像封包的來源與混合型子網路路由位於同一個虛擬私有雲網路一樣。
如果目的地範圍符合混合式子網路路徑的靜態或動態路徑,下一個躍點位於不同區域:
- 如果路徑混合了下一個躍點,其中有些與混合型子網路路徑位於相同區域,有些則位於其他區域,當 ECMP 選取子網路以外區域的下一個躍點時,流量就會遭到捨棄。即使封包也符合目的地明確度較低的路徑,且該路徑在子網路區域中有下一個躍點,封包仍會遭到捨棄。
- 如果路由在與使用混合型子網路路由的子網路相同的區域中沒有下一個躍點,封包就會遭到捨棄。
請確認下列資源位於同一區域:
- 已啟用混合型子網路路由的子網路
- 取得地端部署網路路徑的 Cloud Router
- 提供混合式連線的高可用性 VPN 通道或 VLAN 連結
舉例來說,假設有一個 IP 位址範圍為 192.0.2.0/24 的子網路,且已啟用混合式子網路路由。子網路位於 us-central1 區域。Cloud Router 已得知兩個路徑,其目的地範圍符合混合子網路路徑:
- 目的地範圍為
192.0.2.0/25,下一個躍點位於us-central1區域的動態路徑 - 目的地範圍為
192.0.2.0/30,下一個躍點位於us-west1區域的動態路徑。
封包會傳送至目的地 192.0.2.2。這個 IP 位址與本機子網路中執行的 VM 或內部轉送規則沒有關聯,因此路徑選取模型會選取目的地最明確的自訂路徑,也就是 192.0.2.0/30。這個路徑在子網路區域中沒有下一個躍點,因此封包遭到捨棄。
詳情請參閱「混合型子網路中不相符的資源」。
虛擬私有雲網路對等互連
您可以透過虛擬私有雲網路對等互連,將含有使用混合式子網路路由的子網路的虛擬私有雲網路,連線至對等互連的虛擬私有雲網路。
對等互連網路中用戶端的流量可以連到共用 CIDR 區塊內的目的地,無論目的地是Google Cloud 資源或地端部署網路皆可。如果對等互連網路中用戶端的封包目的地符合對等互連混合子網路路徑,且目的地不符合執行中的 VM 或內部轉送規則,則封包可透過對等互連虛擬私有雲網路中的靜態或動態路徑轉送。
在對等互連的虛擬私有雲網路中,使用靜態或動態路徑轉送流量時,不需要與包含用戶端的虛擬私有雲網路交換自訂路徑。不過,下列事項仍適用:
請確認用戶端虛擬私有雲網路中,沒有其他路徑的目的地範圍與對等互連網路中符合對等互連混合型子網路路徑的靜態或動態路徑相符。
網路效能
Hybrid Subnets 會使用 OSI 模型的第 3 層,在地端部署和虛擬私有雲網路之間轉送封包。這種做法可協助 Hybrid Subnets 避免延遲、時基誤差和處理量等問題,因為在遷移期間,部分工作負載會位於地端部署網路,其他工作負載則會遷移至雲端。
特別是避免第 2 層通道,有助於防止與額外第 2 層疊加的封裝和加密相關的效能下降。此外,第 3 層路由可讓 Hybrid Subnets 避開第 2 層通道的常見問題,也就是流量會先傳送至中央節點,再傳送至可能靠近流量來源點的目的地。這個問題有時稱為「網路伸縮管」。
由於 Hybrid Subnets 採用這種路由方法,因此效能與未使用 Hybrid Subnets 的網路相似或相同。
防火牆和混合型子網路
Hybrid Subnets 可避免相關挑戰,例如搭配防火牆使用封裝在第 2 層疊加網路中的流量。如果是第 2 層流量,防火牆只能檢查疊加端點或其以上的封包,除非您採取特定措施,例如透明解密或對疊加流量進行深層檢查。
使用 Hybrid Subnets 時,現有的防火牆和防火牆規則不需要特別考量。不過,您需要設定防火牆規則,確保 Google Cloud VM 可以與地端部署網路中的工作負載通訊。
定價
如要瞭解 Hybrid Subnets 的定價,請參閱虛擬私有雲定價。
後續步驟
- 如要準備虛擬私有雲網路以進行 Hybrid Subnets 連線,請參閱「準備進行 Hybrid Subnets 連線」。