共用方式為


使用 Azure 路由伺服器的任一傳播路由

任播路由可讓您從多個 Azure 區域公告相同的 IP 位址,以改善應用程式可用性、效能和復原能力。 使用 Azure 路由伺服器,您可以實作任播路由,以根據路由計量自動將流量導向至最接近或最佳的應用程式執行個體。

本文說明如何使用 Azure 路由伺服器實作任播路由,以透過私人網路進行多區域應用程式部署。

什麼是任播路由?

任播路由是一種網路尋址和路由方法,其中將相同的 IP 位址分配給不同位置的多個伺服器或應用程式實例。 當用戶端向任播 IP 位址傳送請求時,網路基礎設施會根據路由協定和指標自動將流量路由到最近或最佳的伺服器。

任播路由的優點

任播路由為多區域部署提供了多項優勢:

  • 改善效能:流量會自動路由到最近的應用程式執行個體,減少延遲
  • 增強可用性:如果某一區域無法使用,流量會自動轉移至其他區域
  • 負載分配:流量可以根據路由指標分佈在多個區域
  • 簡化的客戶端配置:客戶端連接到單個 IP 地址,無論實際服務器位置如何
  • 專用網絡支持:與基於 DNS 的解決方案不同,任播適用於專用 IP 地址和網絡

任播技術與其他多區域方法的比較

雖然 Azure 為多區域部署提供數個服務,例如 Azure 流量管理員Azure Front DoorAzure 跨區域負載平衡器,但這些服務是專為公用網際網路流量和公用 IP 定址所設計。

使用 Azure Route Server 的任播路由是專為:

  • 專用網路案例:需要專用 IP 定址的應用程式
  • 混合式連接:包含 ExpressRoute 或 VPN 連接至內部部署網路的情境。
  • 路由型流量管理:DNS 快取或用戶端行為可能會干擾 DNS 型解決方案

使用 Azure 路由伺服器實作任播

Azure 路由伺服器透過 ExpressRoute 或 VPN 連線,協助將多個 Azure 區域的相同路由公告至內部部署網路,從而實現任一傳播路由功能。

架構概觀

任一傳播實作使用以下元件:

  • 多個 Azure 區域:每個區域都會裝載應用程式的執行個體
  • Azure 路由伺服器:部署在每個區域中,以管理路由公告
  • 網路虛擬設備 (NVA):公告每個區域中的任一傳播 IP 位址
  • 樞紐和輻射拓撲:提供 NVA 與應用程式執行個體之間的連線
  • ExpressRoute 或 VPN:將 Azure 區域連線到內部部署網路

實作拓撲

下方圖表顯示具有兩個 Azure 區域的典型任播實作。 每個區域包含:

  • 具有 NVA 和 Azure 路由伺服器的中樞虛擬網路
  • 提供應用程式執行個體的輪輻型虛擬網路
  • ExpressRoute 連線到內部部署網路

圖表顯示跨兩個區域使用 Azure 路由伺服器進行任播路由實作,示範如何從多個位置通告相同的 IP 位址。

任播路由是如何運作的

  1. 路由公告:每個區域中的 NVA 都會將相同的 IP 位址前置詞 (例如, a.b.c.d/32) 公告至其本機 Azure 路由伺服器
  2. 路由傳播:Azure 路由伺服器會透過 ExpressRoute 或 VPN 連線將這些路由傳播至內部部署網路
  3. 路由選擇:部署路由協定會根據路由指標選擇到任播 IP 位址的最佳路徑
  4. 流量分配:客戶端流量根據所選路徑自動路由到最佳區域

路由選擇和負載平衡

選擇接收流量的區域取決於路由屬性:

  • 等價多路徑 (ECMP):當來自多個區域的路由具有相同的指標時,流量會平均分佈在所有可用路徑上
  • BGP路徑首選項:您可以通過調整BGP屬性(例如AS路徑長度、本地首選項或MED值)來影響路由決策
  • AS 路徑前置:人為地延長特定路由的 AS 路徑,使其優先級降低,從而建立主/備份方案。

重要事項

NVA 必須實作健康情況檢查機制,以在本機應用程式執行個體無法使用時,停止公告路由。 這可防止流量路由傳送至失敗的執行個體 (黑洞化)。

回程流量考量

正確處理傳回流量對於成功的任播實施至關重要。 此方法取決於 NVA 處理傳入流量的方式。

流量處理方式

  • 當 NVA 作為反向 Proxy 運作時,反向 Proxy 模式會提供最可預測的流量。 在此設定中,NVA 會終止用戶端的原始連線,並建立與應用程式執行個體的新連線。 傳回流量自然會流回相同的 NVA,因為 NVA 同時管理著連線的兩端。

  • 當 NVA 執行目的地網路位址轉譯 (DNAT) 時,網路位址轉譯 (NAT) 模式需要不同的考慮。 NVA 會將目的地 IP 位址從任播 IP 轉譯為應用程式的實際 IP 位址。 如果 NVA 也會執行來源 NAT (SNAT),則傳回流量會流回相同的 NVA。 不過,如果未執行 SNAT,則需要額外的設定,以確保正確的傳回流量路由。

回程流量路由

當應用程式收到具有原始用戶端 IP 位址 (無 SNAT) 的流量時,您必須確保傳回流量流經正確的 NVA。 您可以在應用程式的子網路中設定使用者定義的路由 (UDR),以將流量導向回 NVA。 這些 UDR 必須涵蓋內部部署 IP 位址範圍,而且適用於單一 NVA 部署。

對於每個區域具有多個 NVA 執行個體的部署,非對稱路由的考慮會變得很重要。 無狀態 NVA 可以處理輸入和輸出流量透過不同執行個體的非對稱情況。 不過,具狀態 NVA 需要對稱流量來維護連線狀態。 具狀態 NVA 的解決方案包括使用連線親和性機制、實作 NVA 執行個體之間的工作階段共用,或設定具有工作階段持續性的負載平衡器。

流量管理最佳做法

狀況監控應該實作強固的健康情況檢查,以快速偵測應用程式和 NVA 失敗。 故障轉移時間需要配置適當的BGP計時器,以在快速故障轉移和穩定性之間取得平衡。 流量工程可以使用BGP社群或其他屬性來實施流量策略。 全面的監控和警報應追蹤跨區域的路線廣告和流量模式,以確保最佳效能和快速問題偵測。

實作考量

必要條件和需求

使用 Azure 路由伺服器實作任播路由之前,您應該仔細規劃 IP 位址配置,以確保任播 IP 位址不會與現有的 Azure 或內部部署網路衝突。 深入了解 BGP 路由策略及其對流量分配的影響對於成功部署至關重要。 您的應用程式架構必須設計為有效處理來自多個區域的流量,而且您需要為應用程式和網路虛擬設備實作全面的健康情況監控,以確保可靠的運作。

部署最佳做法

部署任播路由時,建議先從簡單的雙區域部署開始,再擴充至其他區域。 定期測試容錯移轉案例有助於確保系統符合您的可用性需求,並在中斷期間如預期般運作。 監控不同內部部署位置的延遲和輸送量等效能指標,可提供有關路由組態有效性的寶貴見解。 維護 BGP 策略及其預期效果的清晰文檔對於持續管理和故障排除至關重要。

限制與考量

使用 Azure 路由伺服器實作任播路由時,應該考慮數個因素。 BGP 收斂時間可能在容錯移轉事件期間造成延遲,進而影響復原時間目標。 與基於 DNS 的解決方案相比,網路層路由的複雜性增加,需要更多的專業知識和仔細的規劃。 對網路層路由問題進行故障排除可能比診斷應用程式層問題更具挑戰性,需要專業知識和工具。 此外,由於跨多個區域需要更多網路虛擬設備和路由伺服器執行個體,基礎結構成本會增加。

後續步驟