流量管理員路由傳送方法

Azure 流量管理員支援六種流量路由方法,以決定如何將網路流量路由傳送至不同的服務端點。 針對任何設定檔,流量管理員會將其相關的流量路由方法套用至它收到的每個 DNS 查詢。 流量路由方法決定 DNS 回應中傳回哪一個端點。

流量管理員可提供下列流量路由方法:

  • 優先順序 當您想要讓所有流量都有主要服務端點時,請選取 優先順序 路由。 您可以提供多個備份端點,以防主要或其中一個備份端點無法使用。
  • 加權 當您想要根據其權數,將流量分散到一組端點時,請選取 加權 路由。 設定相同的加權以平均分散至所有端點。
  • 效能 當您的端點位於不同的地理位置,且您希望終端使用者使用「最靠近」的端點來取得最低的網路延遲時,請選取 [ 效能 路由]。
  • 地理 選取 地理 路由,將使用者導向至特定端點, (Azure、外部或嵌套) 根據其 DNS 查詢源自于不同地理位置的位置。 使用此路由方法,可讓您符合資料主權規定、內容使用者體驗的當地語系化, & 以及測量來自不同區域的流量等案例。
  • 多值針對流量管理員設定檔選取 [多值],其只能將 IPv4/IPv6 位址當作端點。 當系統收到此設定檔的查詢時,會傳回所有狀況良好的端點。
  • 子網 選取 [ 子網 流量路由方法],將終端使用者 IP 位址範圍的集合對應至特定端點。 當收到要求時,傳回的端點會是對應至該要求來源 IP 位址的端點。 

所有流量管理員設定檔都有端點的狀況監控和自動容錯移轉。 如需詳細資訊,請參閱 流量管理員端點監視。 在流量管理員設定檔中,您一次只能設定一個流量路由方法。 您可以隨時為您的設定檔選取不同的流量路由方法。 您的變更會在一分鐘內套用,完全不會停機。 您可以使用嵌套的流量管理員設定檔來合併流量路由方法。 嵌套設定檔可讓您進行精密的流量路由設定,以滿足大型和複雜應用程式的需求。 如需詳細資訊,請參閱 巢狀流量管理員設定檔

優先順序流量路由方法

組織通常會想要為其服務提供可靠性。 若要這樣做,他們會部署一個或多個備份服務,以防其主要服務中斷。 「優先順序」流量路由方法可讓 Azure 客戶輕鬆實作此容錯移轉模式。

Azure 流量管理員「優先順序」流量路由方法

流量管理員設定檔包含服務端點的優先順序清單。 根據預設,流量管理員會將所有流量傳送至主要 (優先順序最高) 端點。 如果主要端點無法使用,流量管理員會將流量路由傳送至次要端點。 在主要和次要端點無法使用的情況下,流量會移至第三個端點,依此類推。 端點的可用性是取決於已設定的狀態 (已啟用或已停用) 和持續的端點監視。

設定端點

在 Azure Resource Manager 中,您可以使用「優先順序」屬性來明確設定每個端點的點端優先順序。 這個屬性的值介於 1 到 1000 之間。 較低的值表示較高的優先順序。 端點無法共用優先順序值。 設定屬性是選擇性的。 如果省略,則會使用以端點順序為基礎的預設優先順序。

加權流量路由方法

「加權」流量路由方法可讓您平均分散流量,或使用預先定義的權數。

Azure 流量管理員「加權」流量路由方法

在「加權」流量路由方法中,您需要在流量管理員設定檔設定中指派權數給每個端點。 權數是從 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 快取也許是一種因應措施。 如果無法運作,替代的流量路由方法可能更適合。

效能流量路由方法

在全球的兩個或更多個位置部署端點,可以改善應用程式的回應能力。 使用「效能」流量路由方法,您可以將流量路由傳送至「最靠近」的位置。

Azure 流量管理員「效能」流量路由方法

「最靠近」的端點不一定是地理距離測量的最接近。 「效能」流量路由方法會測量網路延遲,以決定最靠近的端點。 流量管理員會維護「網際網路延遲資料表」,以追蹤 IP 位址範圍與每個 Azure 資料中心之間的往返時間。

流量管理員會在「網際網路延遲資料表」中查閱傳入 DNS 要求的來源 IP 位址。 流量管理員然後在 Azure 資料中心內選擇一個在該 IP 位址範圍內具有最低延遲的可用端點。 然後流量管理員會在 DNS 回應中傳回該端點。

如流量管理員的運作方式所述,流量管理員不會直接從用戶端接收 DNS 查詢。 相反地,DNS 查詢來自用戶端設定使用的遞迴 DNS 服務。 因此,用來判斷「最靠近」端點的 IP 位址不是用戶端的 IP 位址,而是遞迴 DNS 服務的 IP 位址。 此 IP 位址是用戶端的良好 proxy。

流量管理員會定期更新「網際網路延遲資料表」,以反映全球網際網路的變動和新的 Azure 區域。 不過,隨著網際網路上即時的負載變化,應用程式效能會改變。 效能流量路由不會監視指定服務端點上的負載。 如果端點變得無法使用,流量管理員不會將它包含在 DNS 查詢回應中。

注意事項:

  • 如果您的設定檔中有多個端點在相同的 Azure 區域,則流量管理員會將流量平均分散至該區域中可用的端點。 如果您在某個區域內偏好採用不同的流量分配,您可以使用巢狀流量管理員設定檔
  • 如果最接近的 Azure 區域中所有啟用的端點都降級,流量管理員會將流量移到下一個最接近的 Azure 區域中的端點。 如果您想要定義慣用的容錯移轉順序,請使用巢狀流量管理員設定檔
  • 對外部端點或巢狀端點使用「效能」流量路由方法時,您必須指定這些端點的位置。 選擇最接近部署的 Azure 區域。 這些區域是「網際網路延遲資料表」所支援的值。
  • 端點的選擇演算法具有決定性。 來自同一個用戶端的重複 DNS 查詢會導向同一個端點。 一般而言,用戶端在漫遊時會使用不同的遞迴 DNS 伺服器。 用戶端可能會路由傳送至不同的端點。 「網際網路延遲資料表」的更新也會影響路由。 這就是為什麼效能流量路由方法不保證用戶端一律會路由傳送至相同的端點。
  • 當「網際網路延遲資料表」變更時,您可能會發現某些用戶端導向不同的端點。 根據目前的延遲資料,此路由變更更為精確。 隨著網際網路的持續發展,這些更新對於維護「效能」流量路由的精確度也變得不可或缺。

地理流量路由方法

流量管理員設定檔可以設定為使用地理路由方法,讓使用者根據其 DNS 查詢來源所在的地理位置,將 (Azure、外部或嵌套) 的特定端點導向至特定端點。 透過此路由方法,可讓您符合資料主權的規定、內容使用者體驗的當地語系化, & 以及測量來自不同區域的流量。 設定地理路由的設定檔時,必須指派一組地理區域給該設定檔相關聯的每個端點。 地理區域可以達到下列細微層級

  • 世界 – 任何區域
  • 地區分組 – 例如非洲、中東、澳大利亞/太平洋等
  • 國家/地區 – 例如愛爾蘭、秘魯、香港特別行政區等
  • 州/省 – 例如美國加州、澳大利亞昆士蘭、加拿大亞伯達省等 (請注意︰僅澳大利亞、加拿大和美國的州/省才支援此細微層級)。

當某個區域或一組區域指派給端點時,來自這些區域的任何要求只會路由傳送至該端點。 流量管理員會使用 DNS 查詢的來源 IP 位址,判斷使用者從中查詢的區域。 通常是作為本機 DNS 解析程式的 IP 位址,讓使用者進行查詢。

Azure 流量管理員「地理」流量路由方法

流量管理員讀取 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 的使用者)。

常見問題集

下一步

瞭解如何使用流量管理員端點監視來開發高可用性應用程式