在昨天我們談過Azure小白如何試用Azure Previews功能後,今天我們來聊聊Azure
Traffic Manager,Azure Traffic Manager是一種 DNS 型流量負載平衡器,可讓你透過
最佳化的方式,將流量分散到全球 Azure 區域的服務,你可以使用流量管理員將流量
分散到不同區域,同時在您的應用程式中提供高可用性、復原能力與回應能力。
终端客戶需要你公司全年無休的串流音樂應用程式,單一區域的雲端服務可能
會因為技術性問題(例如計劃性維護或排程的安全性更新)而無法使用,你的公司
希望能夠擁有容錯移轉端點,讓你的客戶能繼續存取其服務,因此你想導入
Azure Traffic Manager來解決這類問題。
以下我們提一下Azure Traffic Manager的運作方式
當用戶端嘗試連線至服務時,它必須先將服務的 DNS 名稱解析為 IP 位址
然後用戶端才能連線到該 IP 位址以存取服務。
流量管理員會使用 DNS,根據所使用流量路由傳送方法的規則,將用戶端導向
特定的服務端點 IP 位址。 用戶端會直接連線至選取的端點。 流量管理員不是
Proxy 或閘道。 流量管理員不會看到在用戶端和服務之間傳遞的流量;它只會
給予用戶端它們需要前往的 IP 位址。
Traffic Manager endpoints是傳回至用戶端的目的地位置,你可以
在Traffic Manager中將每個應用程式部署設定為「endpoint」,當Traffic
Manager收到 DNS 要求時,它會選擇可用的endpoint以在 DNS 回應中傳回。
Traffic Manager支援三種類型的端點:
1.Azure endpoints用於在 Azure 中裝載的服務,這些可以是 Azure
App Service 之類的服務,以及與負載平衡器或虛擬機器相關聯的公用 IP
位址資源。
2.External endpoints適用於 IPv4/IPv6 位址、FQDN,或是裝載於
Azure 外部的服務 (可以是內部部署或搭配不同主機服務提供者的服務)。
3.Nested endpoints用於合併流量管理員設定檔,以建立更有彈性的
流量路由配置,進而支援更大型且更複雜部署的需求,關於如何將不同類型
的端點結合在單一流量管理員設定檔中,沒有任何限制。 每個設定檔都可以
包含任意混合的端點類型。
Traffic Manager路由傳送支援不同的方法,可選擇如何將流量路由
傳送到多個endpoint,Traffic Manager會將流量路由方法套用到每個接收
到的DNS查詢,並判斷要在回應中傳回哪個endpoint,總共有六個流量路由
傳送方法可供選擇。
1.Weighted routing:若你要將流量分散到一組端點,無論是平均
分散還是根據不同的權數,請選擇加權路由,權數是 1 到 1,000 之間
的整數,針對每個收到的 DNS 查詢,流量管理員會隨機選擇可用的端點。
選擇端點之機率是根據指派給所有可用端點的權數。
2.Performance routing:若你擁有位於不同地理位置的端點,你可以
使用效能路由傳送來將使用者傳送到可讓使用者獲得最佳效能的端點,為了
選擇最適合使用的端點,這種路由傳送方法會使用網際網路延遲表,主動
追蹤從全球各個位置連線到端點的網路延遲。 當使用者發出要求時,
Traffic Manager會根據要求的位置傳回效能最佳的端點。
3.Geographic routing:使用Geographic routing傳送方法時,系統
會根據使用者發出 DNS 查詢的位置,將使用者導向特定端點,使用此方法可
讓你透過地理柵欄,將內容限制在僅供特定使用者區域存取,例如歐洲使用者
可被導向歐洲內符合地區合規性特定條款與條件的端點,中國當地使用者則可
被導向到已針對中文進行當地語系化的端點。
4.Multivalue routing:你可以使用多值路由傳送方法在單一 DNS
查詢回應中取得多個健康狀態良好的端點。 呼叫者可在某個端點沒有
回應時,向其他端點進行用戶端重試。 此模式可提高服務的可用性,
且可減少透過新的 DNS 查詢來取得健康狀態良好端點的相關延遲。
5.Subnet routing:這種方法會將一組使用者 IP 位址範圍對應到
Traffic Manager設定檔中的特定端點。 當收到要求時,傳回的端點將
會是對應至該要求來源 IP 位址的端點。 例如,使用子網路路由傳送,
客戶可以將來自其公司辦公室的所有要求路由傳送至不同端點,讓他們
可在其中測試其應用程式的內部版本。 另一種案例是如果您想要為從
特定 ISP 連線的使用者提供不同體驗(例如封鎖來自特定 ISP 的使用者)。
6.Priority routing:Traffic Manager設定檔包含服務端點的優先順序清單
,根據預設,Traffic Manager會將所有流量傳送至主要(優先順序最高) 端點。
如果主要端點無法使用,Traffic Manager員會將流量路由傳送至次要端點。
若主要和次要端點都無法使用,流量便會前往第三個端點,依此類推,端點
可用性取決於所設定狀態 (啟用或停用) 和已設定的持續端點監視。
「效能」流量路由傳送方法會將使用者連線到效能最佳的伺服器,它的效能可能
較佳,因為它的實體位置距離使用者較近,但也可能是因為網際網路連線能力
發生壅塞,Azure會在網際網路延遲表中儲存連線用戶端的歷史DNS查詢延遲。
Azure 可以使用此資訊將流量導向最快回應的伺服器,即延遲最低的伺服器。
Traffic Manager會透過追蹤IP位址範圍和每個 Azure 資料中心間來回行
程的時間,維持網際網路延遲表。 若端點無法使用,Traffic Manager便
不會將它包含在 DNS 查詢回應中,除了設定流量管理員設定檔,並選取效能
作為路由傳送方法之外,您無須進行其他動作,端點不一定需要具備高優先
順序,因為流量管理員會將所有流量自動路由至回應速度最快的伺服器。
在下列範例中,若端點 A 的執行效率變得不如端點 B,客戶流量便會被
自動路由傳送到端點 B。
手把手使用Priority Routing啟動Automatic Failover操作步驟
手把手使用performance routing傳送操作步驟
Day20教學講義:
https://docs.microsoft.com/zh-tw/learn/modules/distribute-load-with-traffic-manager/