Azure 流量管理員 是一款基於 DNS 的流量負載平衡器,能將流量在全球分散的後端間最佳分配。 Traffic Manager 透過使用 DNS 將客戶端請求導向適當的服務端點,依據流量路由方法與端點健康監控,為您的公開應用程式提供高可用性與快速回應。
當您使用 Azure 時, 可靠性是共同的責任。 Microsoft 提供一系列功能以支援韌性與復原。 您有責任瞭解這些功能在您使用的所有服務中如何運作,並選取符合業務目標和正常運作時間目標所需的功能。
本文描述 Azure 流量管理員 在應對多種潛在故障(包括短暫故障及區域性故障)時的可靠性能力。 同時強調維持韌性及準備復原的關鍵考量,並提供 Azure 流量管理員 服務等級協議(SLA)的概述。
備註
本文說明 Traffic Manager 服務如何具備韌性,或如何讓它對各種問題具韌性。 它沒有說明如何使用 Traffic Manager 在應用程式或區域間進行故障轉移。 關於故障轉移架構的範例,請參見 為高可用性與災難復原而建的多層級網頁應用程式。
生產部署建議
Azure Well-Architected Framework 提供關於可靠性、效能、安全性、成本及營運的建議。 欲了解這些領域如何相互影響並促成可靠的 Traffic Manager 解決方案,請參閱 Well-Architected 框架中 Azure 流量管理員 的 架構最佳實務。
可靠性架構概觀
本節說明服務運作中從可靠性角度來看最為重要的部分。 本節介紹邏輯架構,包含你部署和使用的部分資源與功能。 它還討論了物理架構,其中提供了有關服務如何在幕後工作的詳細信息。
邏輯架構
使用流量管理器時,你會部署一個 設定檔,指定應用程式的後端端點,並設定流量管理員如何將請求路由到這些端點。 欲了解更多資訊,請參閱 流量管理器端點 與 流量管理器路由方法。
流量管理器設定檔會以 DNS CNAME 記錄的形式來呈現。 當它收到來自用戶端或 DNS 解析器的解析請求時,Traffic Manager 會根據你設定檔中指定的規則動態解析 IP 位址。 流量管理員的職責是提供用戶端端點的 IP 位址,以便存取您的服務。 名稱解析之後,你的應用程式的流量不會再經過 Traffic Manager。 欲了解更多資訊,請參閱 《交通管理工具運作方式》。
Traffic Manager 會監控端點的健康狀況,並將收到的請求導向健康的端點,同時避免不良端點。 欲了解更多資訊,請參閱 Traffic Manager 端點監控。
重要
整體解決方案的可靠性取決於流量管理器將流量導向的端點配置。
本文不涵蓋你的端點,但它們的可用性配置直接影響應用程式的韌性。 請參考 你解決方案中 Azure 服務的可靠性指南 ,了解每個服務如何支援你的可靠性需求。
實體架構
Traffic Manager 作為非區域服務運作,並在全球多個 Azure 區域的多個可用性區域部署其基礎設施。 此設計使流量管理器在可用區域或區域中斷期間仍能保持韌性,因為其他區域或區域的基礎設施持續回應解析請求。
全球網際網路協定如 Anycast、DNS 和 BGP 會自動將收到的 DNS 解析請求導向最近的健康流量管理器基礎設施。
對瞬態故障的彈性
暫時性錯誤是元件中的短暫間歇性失敗。 它們經常出現在雲端等分散式環境中,而且是作業的一般部分。 暫時性錯誤會在短時間內自行修正。 請務必確保您的應用程式能妥善處理暫時性錯誤,通常透過重試受影響的請求來進行。
所有雲端託管應用程式在與任何雲端託管的 API、資料庫及其他元件通訊時,都應遵循 Azure 暫態故障處理指引。 如需詳細資訊,請參閱 處理暫時性錯誤的建議。
Traffic Manager 在 DNS 層級運作,並使用健康探測來監控端點的可用性。 該服務透過其全球 DNS 基礎設施及端點監控能力處理暫時性故障。
使用Traffic Manager時,請分別考慮以下類型的暫態故障:
DNS 解析期間的暫態錯誤: 若在 DNS 解析過程中發生暫時性錯誤,用戶端或中介解析器應重新嘗試。
影響後端端點的瞬態故障:Traffic Manager 端點監控 會定期檢查端點的健康狀況。 端點內部或網路路徑中的暫時性故障,可能會被偵測為不健康的端點。 設定端點監控,在一段時間內尋找連續的問題。
你的 DNS 紀錄的存活時間(TTL)決定了你的解決方案如何處理故障。 如果 TTL 非常低,客戶端需要向 Traffic Manager 提出更多請求,且發生暫時性故障的可能性也會增加。 如果 TTL 非常高,當端點發生真正的故障時,用戶端可能會在故障轉移時遇到延遲,直到 TTL 到期。 請謹慎配置 TTL,以平衡可用性、延遲與回應速度。 當你使用 Azure DNS 時,它可以自動設定你的紀錄 TTL 與設定檔的 TTL 值相符,預設為 60 秒。 如需詳細資訊,請參閱流量管理員效能考量。
對可用性區域故障的抵抗力
可用性區域 是 Azure 區域內物理上獨立的資料中心群組。 當某個區域發生故障時,服務可以切換至其他剩餘的區域。
Traffic Manager 作為非區域服務運作,並在全球多個 Azure 區域的多個可用性區域部署其基礎設施。 它會同步在這些區域和區域間複製你的個人資料變更。 此設計使流量管理器在可用區域中斷時仍能保持韌性,因為其他區域的基礎設施會持續回應解析請求。
對區域範圍故障的復原能力
Traffic Manager 作為非區域服務運作,並在全球多個 Azure 區域的多個可用性區域部署其基礎設施。 此設計使 Traffic Manager 在區域中斷時能保持韌性,因為其他區域的基礎設施會持續回應解析請求。
入口網站與管理工具故障的韌性
如果你在 Azure 入口網站管理流量管理員設定檔,請準備好面對無法存取的情況,尤其是在平台中斷時需要重新設定設定檔時。
與其他 Azure 服務一樣,Traffic Manager 透過多種工具支援部署與管理。 我們建議您熟悉如何使用 Azure CLI 或 Azure PowerShell來管理您的個人檔案。 或者,也可以使用像 Bicep 或 Terraform 這類基礎設施即程式碼的技術來部署和配置你的設定檔。 即使 Azure 入口網站功能受損,這些工具仍能正常運作。
備份與還原
Traffic Manager 是一種無狀態的 DNS 服務。 它不會持久化你的資料,也沒有備份或還原功能。
為了保護你的資源設定,請使用基礎設施即程式碼(例如 Bicep 或 ARM 範本)定義你的流量管理器設定檔和其他資源,並將這些定義儲存在原始碼控制中。 如果你需要重建資源,就從儲存的設定重新部署它。
服務維護的韌性
Microsoft 定期執行服務更新及其他維護。 Azure 平台自動處理這些活動,確保維護過程對您來說無縫且透明。 除非您收到透過 Azure 服務健康狀態 計畫維護 的通知,否則維護期間將不會有停機。
服務等級協定
Azure 服務的服務層級協議(SLA)描述了每項服務的預期可用性,以及您的解決方案必須符合的條件,以達成該可用性預期。 欲了解更多資訊,請參閱線上服務的服務等級協議。
Azure 流量管理員 為 DNS 查詢回應提供 100% 可用性 SLA,只要用戶端反覆嘗試失敗請求即可。