流量管理員路由方法
Azure 流量管理員支援六種流量路由方法,以決定如何將網路流量路由傳送至不同的服務端點。 針對任何設定檔,流量管理員會將其相關的流量路由方法套用至它收到的每個 DNS 查詢。 流量路由方法決定 DNS 回應中傳回哪一個端點。
流量管理員中提供以下流量路由方法:
- 優先順序:當您想要擁有所有流量的主要服務端點時,請選取 [優先順序路由]。 您可以提供多個備份端點,以防主要或其中一個備份端點無法使用。
- 加權:當您想要根據流量加權將流量分散到一組端點時,請選取 [加權路由]。 設定相同的加權以平均分散至所有端點。
- 效能: 當您有不同地理位置的端點,而且您希望終端使用者使用「最接近」的端點來達到最低的網路等待時間時,請選取 [效能 路由]。
- 地理:選取 [地理路由],根據使用者的 DNS 查詢源自地理位置,將使用者導向特定端點(Azure、外部或巢狀端點)。 透過此路由方法,可讓您符合數據主權授權、內容和用戶體驗的當地語系化,以及測量來自不同區域的流量等案例。
- 多重值:針對只能將 IPv4/IPv6 位址作為端點的 流量管理員 配置文件選取 [多重值]。 當接收到此設定檔的査詢時,將傳回所有良好的端點。
- 子網:選取 [子網流量路由方法],將一組使用者IP位址範圍對應至特定端點。 當收到要求時,傳回的端點將會是對應至該要求來源 IP 位址的端點。
所有流量管理員設定檔都有端點的狀況監控和自動容錯移轉。 如需詳細資訊,請參閱 流量管理員 端點監視。 在流量管理員設定檔中,您一次只能設定一個流量路由方法。 您可以隨時為設定檔選取不同的流量路由方法。 您的變更會在一分鐘內套用,完全不會停機。 您可以使用巢狀 流量管理員 設定檔來合併流量路由方法。 巢狀配置檔允許複雜的流量路由設定,以符合較大型和複雜應用程式的需求。 如需詳細資訊,請參閱巢狀 流量管理員 配置檔。
優先級流量路由方法
組織通常想要為其服務提供可靠性。 若要這樣做,他們會部署一或多個備份服務,以防其主要服務中斷。 「優先順序」流量路由方法可讓 Azure 客戶輕鬆地實作此故障轉移模式。
流量管理員設定檔包含服務端點的優先順序清單。 根據預設,流量管理員會將所有流量傳送至主要 (優先順序最高) 端點。 如果主要端點無法使用,流量管理員會將流量路由傳送至次要端點。 在主要和次要端點無法使用的情況下,流量會移至第三個端點等等。 端點可用性取決於所設定狀態 (啟用或停用) 和持續的端點監視。
設定端點
使用 Azure Resource Manager 時,您會使用每個端點的「優先順序」屬性明確設定端點優先順序。 這個屬性是介於 1 到 1000 之間的值。 較低的值代表較高的優先順序。 端點無法共享優先順序值。 設定屬性是選擇性的。 省略時,會根據端點順序使用預設優先順序。
加權流量路由方法
「加權」流量路由方法可讓您平均分配流量,或使用預先定義的加權。
在加權流量路由方法中,您會將權數指派給 流量管理員 配置檔組態中的每個端點。 權數是從 1 到 1000 的整數。 這是選擇性參數。 如果省略,流量管理員 會使用預設權數 『1』。 權數越高,優先順序越高。
針對每個收到的 DNS 查詢,流量管理員會隨機選擇可用的端點。 選擇端點之機率是根據指派給所有可用端點的權數。 在所有端點上使用相同的權數會導致平均流量分佈。 在特定端點上使用較高或較低的權數,會導致 DNS 回應中傳回或多或少傳回這些端點。
加權方法可啟用一些有用的案例:
- 漸進式應用程式升級:指定路由至新端點的流量百分比,並逐漸將一段時間的流量增加到100%。
- 應用程式移轉至 Azure:使用 Azure 和外部端點建立配置檔。 調整端點的權數,以偏好新的端點。
- 雲端高載以取得更多容量:藉由將內部部署部署放在 流量管理員 配置檔後面,快速擴充至雲端。 當您在雲端中需要額外的容量時,您可以新增或啟用更多端點,並指定流量流向每個端點的部分。
您可以使用 Azure 入口網站、Azure PowerShell、CLI 或 REST API 來設定權數。
請記住,DNS 回應會由用戶端快取。 用戶端用來解析 DNS 名稱的遞歸 DNS 伺服器也會快取它們。 此快取可能會對加權流量分佈產生影響。 當客戶端數目和遞迴 DNS 伺服器很大時,流量分佈會如預期般運作。 不過,當用戶端數目或遞歸 DNS 伺服器數目很小時,快取可能會大幅扭曲流量分佈。
常見的使用案例包括:
- 開發和測試環境
- 應用程式對應用程式通訊
- 以狹窄的使用者基底為目標的應用程式,共用常見的遞歸 DNS 基礎結構(例如,透過 Proxy 連線的公司員工)
這些 DNS 快取效果適用於所有 DNS 型流量路由系統,而不只是 Azure 流量管理員。 在某些情況下,明確清除 DNS 快取可能會提供因應措施。 如果無法運作,替代的流量路由方法可能更合適。
效能流量路由方法
在全球兩個或多個位置部署端點可以改善應用程式的回應性。 使用「效能」流量路由方法,您可以將流量路由至「最接近」的位置。
「最接近」端點不一定與地理距離測量一樣最接近。 相反地,「效能」流量路由方法會藉由測量網路等待時間來判斷最接近的端點。 流量管理員 會維護因特網延遲數據表,以追蹤IP位址範圍與每個 Azure 資料中心之間的來回時間。
流量管理員 查閱因特網延遲數據表中傳入 DNS 要求的來源IP位址。 流量管理員 然後選擇 Azure 資料中心內可用的端點,該 IP 位址範圍延遲最低。 然後 流量管理員 傳回 DNS 回應中的該端點。
如 流量管理員 運作方式中所述,流量管理員 不會直接從用戶端接收 DNS 查詢。 相反地,DNS 查詢來自用戶端設定為使用的遞歸 DNS 服務。 因此,用來判斷「最接近」端點的IP位址不是用戶端的IP位址,而是遞歸 DNS 服務的IP位址。 此IP位址是用戶端的良好 Proxy。
流量管理員 會定期更新因特網延遲數據表,以考慮全域因特網和新 Azure 區域的變更。 不過,應用程式效能會根據因特網負載中的即時變化而有所不同。 效能流量路由不會監視指定服務端點上的負載。 如果端點變成無法使用,流量管理員 不會將其包含在 DNS 查詢回應中。
注意事項:
- 如果您的配置檔在相同的 Azure 區域中包含多個端點,則 流量管理員 將流量平均分散到該區域中的可用端點。 如果您偏好區域內不同的流量分佈,您可以使用巢狀 流量管理員 配置檔。
- 如果最接近 Azure 區域中的所有已啟用端點都降級,流量管理員 將流量移至下一個最接近 Azure 區域中的端點。 如果您想要定義慣用的故障轉移順序,請使用巢狀 流量管理員 配置檔。
- 搭配外部端點或巢狀端點使用效能流量路由方法時,您必須指定這些端點的位置。 選擇離您部署最近的 Azure 區域。 這些位置是因特網延遲數據表所支援的值。
- 選擇端點的演算法具決定性。 來自相同客戶端的重複 DNS 查詢會導向至相同的端點。 一般而言,用戶端在旅行時會使用不同的遞歸 DNS 伺服器。 用戶端可能會路由傳送至不同的端點。 路由也可能受到因特網延遲數據表更新的影響。 這就是為什麼效能流量路由方法不保證用戶端一律路由至相同的端點。
- 當因特網延遲數據表變更時,您可能會注意到某些客戶端會導向至不同的端點。 此路由變更會根據目前的延遲數據更精確。 隨著因特網持續演進,這些更新對於維護效能流量路由的正確性至關重要。
地理流量路由方法
流量管理員 配置檔可以設定為使用地理路由方法,讓使用者被導向至特定端點:Azure、外部或巢狀。 比對是以 DNS 查詢的來源地理位置為基礎。 透過此路由方法,可讓您符合數據主權授權、內容和用戶體驗的當地語系化,以及測量來自不同區域的流量。 當配置檔設定為地理路由時,與該配置檔相關聯的每個端點都必須指派一組地理區域。 地理區域可以位於下列層級的數據粒度
- World – 任何區域
- 區域群組 – 例如非洲、中東、澳大利亞/太平洋等。
- 國家/地區 – 例如愛爾蘭、秘魯、香港特別行政區等。
- 州/省 – 例如美國-加州、澳大利亞-昆士蘭州、加拿大-艾伯塔省等(注意:只有澳大利亞、加拿大和美國的州/省才支援此粒度層級)。
當區域或一組區域指派給端點時,來自這些區域的任何要求只會路由傳送至該端點。 流量管理員 會使用 DNS 查詢的來源 IP 位址來判斷使用者從中查詢的區域。 通常會找到做為本機 DNS 解析程式的 IP 位址,以查詢使用者。
流量管理員 讀取 DNS 查詢的來源 IP 位址,並決定其來源地理區域。 然後,它會查看是否有一個端點已對應到此地理區域。 此查閱從最低粒度層級開始(第一個位於支援的國家/省,接著在國家/地區層級),並一路向上至最高層級,也就是 World。 使用此周遊找到的第一個相符項目會選擇為在查詢回應中傳回的端點。 當查詢與巢狀類型端點相符時,會根據其路由方法傳回該子配置檔內的端點。 下列幾點適用於此行為:
當路由類型為地理路由時,地理區域只能對應至 流量管理員 配置檔中的一個端點。 這項限制可確保使用者的路由具決定性,而且客戶可以啟用需要明確地理界限的案例。
如果用戶的區域列在兩個不同的端點地理對應之量管理員 選取數據粒度最低的端點。 流量管理員 不會考慮將要求從該區域路由傳送至其他端點。 例如,請考慮具有兩個端點的地理路由類型配置檔 - Endpoint1 和 Endpoint2。 Endpoint1 設定為接收來自愛爾蘭的流量,而 Endpoint2 則設定為接收來自歐洲的流量。 如果要求源自愛爾蘭,則一律會路由傳送至 Endpoint1。
由於區域只能對應至一個端點,因此 流量管理員 會傳回端點是否狀況良好的回應。
重要
強烈建議使用地理路由方法的客戶將它與巢狀類型端點產生關聯,而巢狀類型端點的子配置檔在每個端點內至少包含兩個端點。
如果找到端點相符專案且該端點處於已停止狀態,流量管理員 會傳回 NODATA 回應。 在此情況下,地理區域階層中不會再進行進一步的查閱。 當子配置檔處於 已停止 或 停用 狀態時,此行為也適用於巢狀端點類型。
如果端點顯示 [ 已 停用] 狀態,則不會包含在區域比對程式中。 當端點處於 [已 停用] 狀態時,此行為也適用於巢狀端點類型。
如果查詢來自該配置檔中沒有對應的地理區域,流量管理員 會傳回 NODATA 回應。 這就是為什麼強烈建議您將地理路由與一個端點搭配使用。 在理想情況下,巢狀結構具有子配置檔內至少兩個端點的巢狀類型,且區域 World 已指派給它。 此設定也可確保處理未對應至區域的任何IP位址。
如 流量管理員 運作方式中所述,流量管理員 不會直接從用戶端接收 DNS 查詢。 DNS 查詢來自用戶端設定為使用的遞歸 DNS 服務。 這就是為什麼用來判斷區域的IP位址不是用戶端的IP位址,而是遞歸 DNS 服務的IP位址。 此IP位址是用戶端的良好 Proxy。
常見問題集
多重值流量路由方法
Multivalue 流量路由方法可讓您在單一 DNS 查詢回應中取得多個狀況良好的端點。 此組態可讓呼叫端與其他端點進行用戶端重試,以防傳回的端點沒有回應。 此模式可提高服務的可用性,且可減少透過新的 DNS 查詢來取得健康狀態良好端點的相關延遲。 只有在 'External' 類型的所有端點都指定為 IPv4 或 IPv6 位址時,MultiValue 路由方法才能運作。 收到此配置檔的查詢時,會傳回所有狀況良好的端點,並受限於可設定的最大傳回計數。
常見問題集
子網流量路由方法
子網流量路由方法可讓您將一組使用者IP位址範圍對應至配置檔中的特定端點。 如果 流量管理員 收到該配置檔的 DNS 查詢,它會檢查該要求的來源 IP 位址。 然後,它會判斷它對應到哪一個端點,並將在查詢回應中傳回該端點。 在大部分情況下,來源IP位址是呼叫端所使用的 DNS 解析程式。
要對應至端點的IP位址可以指定為CIDR範圍(例如1.2.3.0/24)或位址範圍(例如1.2.3.4-5.6.7.8)。 與端點相關聯的IP範圍必須在該配置檔內是唯一的。 位址範圍不能與相同配置檔中不同端點的IP位址集重疊。 如果您定義沒有位址範圍的端點,它會作為後援運作,並從任何剩餘子網取得流量。 如果未包含任何後援端點,流量管理員 會傳送任何未定義範圍的 NODATA 回應。 強烈建議您定義後援端點,以確保所有可能的IP範圍都會在整個端點上指定。
子網路由可用來為從特定IP空間連線的使用者提供不同的體驗。 例如,您可以讓公司辦公室的所有要求路由傳送至不同的端點。 如果您嘗試測試僅限內部版本的應用程式,此路由方法特別有用。 另一種案例是如果您想要為從特定 ISP 連線的使用者提供不同體驗 (例如封鎖來自指定 ISP 的使用者)。
常見問題集
下一步
瞭解如何使用 流量管理員 端點監視來開發高可用性應用程式