流量管理員路由方法
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 伺服器,則快取可能會大幅扭曲流量分配。
常見使用案例包括:
- 開發與測試環境
- 應用程式間通訊
- 以較小的使用者群為對象的應用程式,有共同的遞迴 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 查詢的來源地理位置為基礎而進行。 此路由方法可讓您順應資料主權授權、內容和使用者體驗當地語系化,以及測量來自不同區域的流量。 設定地理路由的設定檔時,必須指派一組地理區域給該設定檔相關聯的每個端點。 地理區域可以達到下列細微層級
- 世界 – 任何區域
- 地區分組 – 例如非洲、中東、澳大利亞/太平洋等
- 國家/地區 – 例如愛爾蘭、秘魯、香港特別行政區等
- 州/省 – 例如美國加州、澳大利亞昆士蘭、加拿大亞伯達省等 (請注意︰僅澳大利亞、加拿大和美國的州/省才支援此細微層級)。
將一個或一組區域指派給端點時,來自這些區域的要求只會路由傳送至該端點。 流量管理員會使用 DNS 查詢的來源 IP 位址來判斷使用者查詢的來源區域。 系統通常使用本機 DNS 解析器的 IP 位址為該使用者進行查詢。
流量管理員會讀取 DNS 查詢的來源 IP 位址,並判斷其來源地理區域。 接著便會尋找是否有此地理區域的對應端點。 查閱時會從最低細微層級開始 (首先為支援的州/省,其次為國家/地區層級),直到最高層級為止 (意即世界)。 經此周遊找到的第一個相符項目,便會選擇作為查詢回應中要傳回的端點。 當查詢符合「巢狀」類型端點時,則會根據其路由方法傳回該子設定檔中的端點。 此行為有下列幾個特點︰
當路由類型是「地理路由」時,在流量管理員設定檔中,一個地理區域只能對應至一個端點。 這項限制可確保使用者路由具決定性,以便客戶因應需要明確地理界限的狀況。
若有兩個不同端點的地理對應皆列出使用者的區域,流量管理員則會選取細微層級最低的端點。 流量管理員不會考慮將該區域的要求路由傳送至其他端點。 例如,假設「地理路由」類型設定檔有兩個端點 - 端點 1 和端點 2。 端點 1 設定為接收來自愛爾蘭的流量,端點 2 設定接收來自歐洲的流量。 若要求來自愛爾蘭,則一律會路由傳送至端點 1。
由於一個區域只能對應至一個端點,無論端點健康狀況如何,流量管理員皆會傳回回應。
重要
強烈建議客戶使用地理路由方法,並與「巢狀」類型端點相關聯,且子設定檔至少各包含兩個端點。
如果找到符合的端點,但該端點處於已停止狀態,則流量管理員會傳回 NODATA 回應。 在此情況下,不會再於地理區域階層中往上進一步查閱。 對於巢狀端點類型,當子設定檔處於已停止或已停用狀態時,此行為也適用。
如果端點顯示已停用狀態,則區域比對過程不會考慮此端點。 對於巢狀端點類型,當端點處於已停用狀態時,此行為也適用。
如果查詢的來源地理區域在該設定檔中沒有對應,流量管理員會傳回 NODATA 回應。 因此,強烈建議您使用單一端點的地理路由。 理想狀況是子系設定檔內至少有兩個巢狀類型的端點,且已指派世界區域。 此組態也可確保處理所有未對應至區域的 IP 位址。
如流量管理員的運作方式所述,流量管理員不會直接從用戶端接收 DNS 查詢。 DNS 查詢是來自用戶端所設定使用的遞迴 DNS 服務。 因此,用於判斷區域的 IP 位址並非是用戶端的 IP 位址,而是遞迴 DNS 服務的 IP 位址。 此 IP 位址是用戶端的理想 Proxy。
常見問題集
多值流量路由方法
多值流量路由方法可讓您在單一 DNS 查詢回應中取得多個狀況良好的端點。 若傳回的端點無回應,此組態則可讓呼叫者使用其他端點執行用戶端重試。 此模式可提高服務的可用性,且可減少透過新的 DNS 查詢來取得健康狀態良好端點的相關延遲。 只有在所有端點類型為「外部」且指定為 IPv4 或 IPv6 位址時,才適用多值路由方法。 當系統收到此設定檔的查詢時,會傳回所有狀況良好的端點,您可以設定回傳計數上限來限制回傳數量。
常見問題集
子網路流量路由方法
子網路流量路由方法可讓您將一組使用者 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 的使用者)。