使用 ExpressRoute 專為高可用性而設計

ExpressRoute 專為「高可用性」而設計,可對 Microsoft 資源建立電訊廠商等級的私人網路連線。 換句話說,Microsoft 網路內的 ExpressRoute 路徑中沒有單一失敗點。 為了將可用性最大化,ExpressRoute 線路的客戶和服務提供者區段也應該對高可用性進行架構。 在本文中,首先了解使用 ExpressRoute 建立強大網路連線能力時的網路架構考量,接著了解有助於改善 ExpressRoute 線路高可用性的微調功能。

注意

在虛擬 WAN 之下或外面建立 ExpressRoute 線路時,本文所述的概念同樣適用。

架構考量

下圖說明使用 ExpressRoute 線路來連線時的建議方式,讓 ExpressRoute 線路達到最高可用性。

1

為了達到高可用性,在整個端對端網路上必須維持 ExpressRoute 電路的備援。 換句話說,您必須維持內部部署網路內的備援,而且不應該危害服務提供者網路內的備援。 維持最低程度的備援意味著避免網路單一失敗點。 網路裝置的備援電源和冷卻機制可進一步改善高可用性。

初步的實體層設計考量

如果您將 ExpressRoute 線路的主要和次要連線 (CPE) 終止於相同的客戶端設備,則會危害內部部署網路內的高可用性。 此外,如果您使用與 CPE 相同的連接埠來設定主要和次要連線,也會致使合作夥伴危害其網路區段的高可用性。 在不同的子介面下終止兩個連線,或合併合作夥伴網路內的兩個連線,就會發生此事件。 下圖顯示此危害。

2

相反地,如果您在不同的地理位置終止 ExpressRoute 線路的主要和次要連線,則可能危害連線能力的網路效能。 如果終止於不同地理位置的主要和次要連線之間積極平衡流量負載,則兩個路徑之間可能明顯不同的網路延遲會導致網路效能不佳。

關於異地備援設計考量,請參閱使用 ExpressRoute 專為災害復原而設計

主動-主動連線

Microsoft 網路設定為以主動-主動模式運作 ExpressRoute 線路的主要和次要連線。 不過,您可以透過路由公告,強制 ExpressRoute 線路的備援連線以主動-被動模式運作。 公告更明確的路由和 BGP AS 路徑前置,是用來讓一個路徑優先於其他路徑的常見技術。

若要改善高可用性,建議您以主動-主動模式運作 ExpressRoute 線路的兩個連線。 如果您讓連線在主動-主動模式下運作,Microsoft 網路將會就個別流量,對連線間的流量進行負載平衡。

在主動-被動模式下執行 ExpressRoute 線路的主要和次要連線面臨主動路徑發生故障後兩個連線都失敗的風險。 切換失敗的常見原因是,缺乏被動連線的主動管理以及被動連線公告過時的路由。

或者,在主動-主動模式下執行 ExpressRoute 線路的主要和次要連線只會導致大約一半的流程失敗並重新路由。 因此,主動-主動連線有助於大幅改善平均復原時間 (MTTR)。

注意

在維護活動進行期間,或如果有非計劃性事件會影響其中一個連線,Microsoft 會偏好使用 AS PATH 前置,以將流量清空到狀況良好的連線。 您必須確定當 PATH 前置設定為來自 Microsoft 時,流量能夠透過狀況良好的路徑傳送,並已適當地設定必要的路由公告,以免服務發生中斷。

Microsoft 對等互連的 NAT

Microsoft 對等互連專為公用端點之間的通訊而設計。 內部部署私人端點在透過 Microsoft 對等互連進行通訊之前,通常由網路位址轉譯 (NATed) 客戶或合作夥伴網路上的公用 IP。 假設您在雙主動式 (active-active) 設定中同時使用主要和次要連線。 在其中一個 ExpressRoute 連線失敗後,NAT 會在哪個環節發生作用,以及如何影響復原速度。 下圖說明兩種不同的 NAT 選項:

3

選項 1:

在 ExpressRoute 線路的主要和次要連線之間分割流量之後套用 NAT。 為了符合 NAT 的具狀態需求,主要和次要裝置使用獨立的 NAT 集區。 傳回流量會抵達原本輸出流量的同一個邊緣裝置。

如果 ExpressRoute 連線失敗,則無法到達對應的 NAT 集區。 因此,在對應的時段逾時後,必須由 TCP 或應用程式層重新建立所有中斷的網路流量。 在失敗期間,直到 ExpressRoute 線路的主要或次要連線恢復連線能力,Azure 才能使用對應的 NAT 到達內部部署伺服器。

選項 2:

在 ExpressRoute 線路的主要和次要連線之間分割流量之前使用一般 NAT 集區。 請注意,在分割流量之前使用一般 NAT 集區不表示會引起單一失敗點,進而危害高可用性。

即使在主要或次要連線失敗後,也可以到達 NAT 集區。 因此,網路層本身可以重新路由傳送封包,有助於在失敗之後更快復原。

注意

  • 如果您使用 NAT 選項 1 (主要和次要 ExpressRoute 連線 的獨立 NAT 集區),並將 IP 位址的連接埠從其中一個 NAT 集區對應至內部部署伺服器,則在對應的連線失敗時,無法透過 ExpressRoute 線路到達伺服器。
  • 如果在具狀態裝置上終止 ExpressRoute BGP 連線,則在 Microsoft 或您的 ExpressRoute 提供者進行計劃性或非計劃性維護期間,可能造成容錯移轉問題。 請測試設定,以確保流量正確容錯移轉,可以的話,終止無狀態裝置上的 BGP 工作階段。

私人對等互連的微調功能

在本節中,我們檢閱有助於改善 ExpressRoute 線路高可用性的選用功能 (取決於 Azure 部署及您對 MTTR 的敏感性)。 具體而言,我們將檢閱 ExpressRoute 虛擬網路閘道的區域感知部署,以及雙向轉送偵測 (BFD)。

可用性區域感知 ExpressRoute 虛擬網路閘道

Azure 區域中的可用性區域是由容錯網域和更新網域組成。 若要達到最高的復原能力和可用性,您應該設定區域備援 ExpressRoute 虛擬網路閘道。 若要深入瞭解,請參閱關於 Azure 可用性區域 中的區域備援虛擬網路網關。 若要設定區域備援虛擬網路網關,請參閱在 Azure 可用性區域 中建立區域備援虛擬網路閘道。

改善失敗偵測時間

ExpressRoute 支援透過私人對等互連的 BFD。 在 Microsoft Enterprise Edge (MSEE) 與內部部署端 BGP 芳鄰之間,BFD 將第 2 層網路失敗的偵測時間從大約 3 分鐘 (預設) 縮短到不到一秒。 快速失敗偵測時間有助於加速失敗復原。 若要進一步了解,請參閱設定透過 ExpressRoute 的 BFD

下一步

在本文中,我們討論如何專為 ExpressRoute 線路連線能力的高可用性而設計。 ExpressRoute 線路對等互連點固定於地理位置,因此會由於衝擊整個位置的重大失敗而受影響。

若要了解如何為 Microsoft 骨幹建立異地備援網路連線功能,以抵擋足以影響整個區域的重大失敗,請參閱使用 ExpressRoute 私人對等互連設計災害復原能力