新式應用程式通常需要跨多個 Azure 區域部署,以符合高可用性、災害復原和效能需求。 Azure 路由伺服器可啟用複雜的多區域網路架構,提供動態路由功能,同時透過網路虛擬設備 (NVA) 維護集中式網路控制。
本文說明如何使用 Azure 路由伺服器設計和實作多區域拓撲,包括與 ExpressRoute 的整合,以及避免路由迴圈的考慮。
重要概念
使用 Azure 路由伺服器的多區域網路牽涉到數個重要概念:
動態路由傳播:Azure 路由伺服器會透過邊界閘道通訊協定 (BGP) 自動在區域之間交換路由資訊,隨著網路拓撲的發展,不需要手動路由表管理。
集中式網路控制:不同於區域之間的直接虛擬網路對等互連,路由伺服器可讓流量流經中樞型 NVA,從而跨區域維護安全性原則和網路可見度。
自動適應:架構會自動適應拓撲變化,例如新增分支網路或修改連接,無需人工幹預。
架構概觀
多區域架構會在每個區域中使用中樞和支點拓撲,透過全域虛擬網路對等互連進行連線,並由 Azure 路由伺服器執行個體進行協調:
核心元件
多區域架構由幾個關鍵元件組成,這些元件協同工作以提供動態路由功能。 每個區域都包含中樞虛擬網路,可裝載 Azure 路由伺服器和網路虛擬設備 (NVA) 來管理路由決策。 應用程式工作負載會部署在每個區域內的輪輻虛擬網路中,以維持網路基礎結構與應用程式之間的分隔。 中樞虛擬網路會使用全域虛擬網路對等互連來跨區域連線,以啟用區域間通訊。 網路設備使用安全通道在區域之間進行通訊,以維護路由資訊同步。
交通流量
流量遵循結構化模式,確保跨多區域拓撲進行高效路由。 路由伺服器會從其區域內的本機支點網路和 NVA 學習路由,以建立完整的路由表。 NVA 會在區域之間建立安全通道,以共用路由資訊並啟用跨區域連線。 每個路由伺服器都將獲得的路由傳播到本地輻狀網路,確保工作負載能夠抵達遠端區域的目的地。 當拓撲發生變更時,例如新增支點網路或修改連線,架構會自動觸發所有區域的路由更新,而無需手動介入。
組態需求
若要成功實作此架構,請設定下列元件:
虛擬網路對等互連設定
將支點網路與中樞網路對等互連時,啟用 [使用遠端虛擬網路的閘道或路由伺服器] 設定。 此配置允許:
- 路由伺服器向 NVA 公告支點網路前置詞
- 將所學習到的路由插入到支點網路路由表
- 跨整個拓撲的動態路由傳播
NVA 隧道設定
使用封裝技術在 NVA 之間建立安全通訊:
- IPsec 通道:提供區域 NVA 之間的加密通訊
- VXLAN 覆蓋:實現跨區域的第 2 層擴展
BGP AS 路徑操作
設定 NVA 以修改 BGP AS 路徑,以防止路由迴圈:
這很重要
NVA 必須在公告從遠端區域學習到的路由時,從 AS 路徑中移除自發系統編號 (ASN) 65515。 此過程稱為「AS 覆蓋」或「AS 路徑重寫」,可防止 BGP 環路預防機制阻止路由學習。 如果沒有此組態,路由伺服器不會學習包含其自己的 ASN (65515) 的路由。
常見的 AS 路徑技術
AS 路徑前置 — 使路徑看起來更長,以影響路由決策:
# Example for Cisco NVA
route-map PREPEND-AS permit 10
set as-path prepend 65001 65001
AS路徑過濾 — 阻止具有特定AS路徑的路由:
# Filter specific AS paths
ip as-path access-list 1 deny _65002_
route-map FILTER-AS permit 10
match as-path 1
高可用性考量
針對彈性多區域連線:
- 多個 NVA:在每個區域中部署多個 NVA (路由伺服器支援最多八個 BGP 對等)
- AS 路徑前置:使用 AS 路徑前置來建立作用中/待命 NVA 關聯性
- 備援通道:在區域之間設定多個通道連線以進行容錯移轉
ExpressRoute 整合功能
多區域路由伺服器架構可以與 ExpressRoute 線路整合,以將連線延伸至內部部署網路:
ExpressRoute 整合的優點
- 簡化路由:內部部署前置詞只會透過 NVA 公告出現在 Azure 中
- 集中控制:所有網路都會流經中樞 NVA,以一致地強制執行原則
- 疊加優化:ExpressRoute 線路支援 NVA 之間的疊加網路
設計考量
- 路由公告:設定 NVA 以公告內部部署路由,而不是只依賴 ExpressRoute 閘道
- 頻寬規劃:確保 ExpressRoute 線路可以處理跨區域流量負載
- 備援:考慮多個 ExpressRoute 線路以實現高可用性
沒有疊加網路的替代設計
雖然建議使用覆蓋隧道,但您可以透過使用者定義路由(UDR)來實作多區域連線,而不需要隧道:
為什麼建議使用隧道
覆蓋隧道提供針對多區域架構中的路由迴路的基本保護。 如果沒有重疊通道,當區域 1 中的 NVA 從區域 2 學習前置詞並將其公告給本機路由伺服器時,可能會發生路由迴圈。 然後,路由伺服器會將這些路由設定於第 1 區域的所有子網路中,並將 NVA 設定為下一個躍點。 當 NVA 嘗試將流量傳送至區域 2 時,其自己的子網路路由會指向自己,從而建立路由迴圈,以防止成功的跨區域通訊。 覆蓋隧道通過在底層網絡(用於隧道建立)和覆蓋網絡(用於應用程序流量)之間建立邏輯分離來解決這個問題,確保流量可以在區域之間正確流動而不會創建環路。
基於 UDR 的替代方案
如果您的環境中無法使用重疊通道,您可以使用使用者定義的路由 (UDR) 實作替代方法。 此方法需要停用 NVA 子網路中的 BGP 路由傳播,以防止可能導致衝突的自動路由學習。 然後,您必須設定靜態路由,為此需要建立 UDR,以便透過適當的網路路徑明確引導跨區流量。 雖然此方法可運作,但您應該接受手動維護這些靜態路由的作業額外負荷,因為您的網路拓撲會隨著時間而變更。
Trade-offs
| 方法 | Advantages | Disadvantages |
|---|---|---|
| 覆蓋通道 | 動態路由、自動適應、安全 | 更多配置複雜性 |
| 以 UDR 為基礎 | 更簡單的初始設定 | 手動路線管理,可擴展性有限 |
後續步驟
探索這些資源,以實作和最佳化您的多區域路由伺服器架構: