共用方式為


流量管理員的運作方式

Azure 流量管理員可供控制應用程式端點之間的流量分佈。 端點是裝載於 Azure 內部或外部的任何面向網際網路服務。

流量管理員提供兩個主要優點:

當用戶端嘗試連線至服務時,它必須先將服務的 DNS 名稱解析為 IP 位址。 然後用戶端才能連線到該 IP 位址以存取服務。

最重要的一點,在於了解流量管理員是在 DNS 層級上運作,意即應用程式層 (第 7 層)。 流量管理員會使用 DNS,根據流量路由方法的規則,將用戶端導向特定的服務端點。 用戶端會直接連接至選取的端點。 流量管理員不是 Proxy 或閘道。 流量管理員不會查看用戶端與服務之間傳遞的流量。

流量管理員會使用設定檔來控制通往雲端服務或網站端點的流量。 如需詳細資訊,請參閱管理 Azure 流量管理員設定檔

流量管理員範例

Contoso Corp 開發了一個新的合作夥伴入口網站。 此入口網站的 URL 是 https://partners.contoso.com/login.aspx。 該應用程式被託管在 Azure 的三個區域中。 為了提高可用性並最大化全域效能,他們使用流量管理器將用戶端流量散發到最近的可用端點。

若要實現此設定,需要完成以下步驟:

  1. 部署其服務的三個執行個體。 這些部署的 DNS 名稱為 'contoso-us.cloudapp.net'、'contoso-eu.cloudapp.net' 和 'contoso-asia.cloudapp.net'。
  2. 建立名為 'contoso.trafficmanager.net' 的流量管理員設定檔,並設定為在這三個端點之間使用「效能」流量路由方法。
  3. 使用 DNS CNAME 記錄,將虛名網域名稱 'partners.contoso.com' 設定成指向 'contoso.trafficmanager.net'。

重要

只有一個 Azure [租用戶識別碼] 可以擁有指定的根流量管理員 DNS 名稱。 嘗試使用已使用的名稱,會顯示錯誤。 在下列範例中,根 DNS 名稱為 contoso。 此外,如果使用句點分隔名稱建立設定檔,例如 partners.contoso.trafficmanager.net,則會自動保留 contoso.trafficmanager.net

Traffic Manager DNS configuration

注意

虛名網域配合 Azure 流量管理員使用時,您必須使用 CNAME 將虛名網域名稱指向流量管理員網域名稱。 DNS 標準不允許您在網域的「頂點」(或根) 上建立 CNAME。 因此,您無法建立 'contoso.com' 的 CNAME (有時稱為「裸」網域)。 您只能為 'contoso.com' 下的網域建立 CNAME,例如 'www.contoso.com'。 為因應這項限制,我們建議您將 DNS 網域裝載於 Azure DNS,並使用別名記錄來指向您的流量管理員設定檔。 或是,您可以使用簡單的 HTTP 重新導向,將 'contoso.com' 的要求指向至替代名稱,例如 'www.contoso.com'。

用戶端連接如何使用流量管理員

接續上述範例,當用戶端要求頁面 https://partners.contoso.com/login.aspx 時,用戶端會執行下列步驟來解析 DNS 名稱,然後建立連接︰

Connection establishment using Traffic Manager

  1. 用戶端向其設定的遞迴 DNS 服務發送 DNS 査詢,以解析名稱 'partners.contoso.com'。 遞迴 DNS 服務,有時稱為「本地 DNS」服務,不直接託管 DNS 網域。 相反地,用戶端減輕了透過網際網路解析 DNS 名稱所需的各種權威 DNS 服務的工作。

  2. 若要解析 DNS 名稱,遞迴 DNS 服務會尋找 'contoso.com' 網域的名稱伺服器。 然會它會連絡這些名稱伺服器來要求 'partners.contoso.com' DNS 記錄。 Contoso.com DNS 伺服器會傳回指向 contoso.trafficmanager.net 的 CNAME 記錄。

  3. 接下來,遞迴 DNS 服務尋找 'trafficmanager.net' 網域的名稱伺服器,這些伺服器由 Azure 流量管理員服務提供。 然後,它向這些 DNS 伺服器發送對 'contoso.trafficmanager.net' DNS記錄的要求。

  4. 流量管理員名稱伺服器接收要求。 它們會根據以下內容選擇端點:

    • 每個終點的設定狀態 (不傳回停用的終點)
    • 由流量管理員健康情況檢查決定每個端點目前的健康情況。 如需詳細資訊,請參閱 流量管理員端點監視
    • 選擇的流量路由方法。 如需詳細資訊,請參閱流量管理員路由方法
  5. 選擇的端點將作為另一個 DNS CNAME 記錄傳回。 在此案例中,我們假設傳回 contoso-eu.cloudapp.net。

  6. 接下來,遞迴 DNS 服務會尋找 'cloudapp.net' 網域的名稱伺服器。 它連絡這些名稱伺服器來要求 'contoso-eu.cloudapp.net' DNS 記錄。 傳回 DNS 'A' 記錄,其中包含歐洲服務端點的 IP 位址。

  7. 遞迴 DNS 服務合併結果並向用戶端傳回單個 DNS 回應。

  8. 用戶端接收 DNS 結果並連線到指定的 IP 位址。 用戶端直接連線到應用程式服務端點,而不是透過流量管理員。 由於它是 HTTPS 端點,用戶端執行必要的 SSL/TLS 交握,然後對 '/login.aspx' 頁面發出 HTTP GET 要求。

流量管理員和 DNS 快取

遞迴 DNS 服務會快取它接收到的 DNS 回應。 用戶端設備上的網域名稱系統解析程式也會快取結果。 快取可讓後續 DNS 査詢能够透過使用快取中的資料,而不是査詢其他名稱伺服器,以更快得到回應。 快取的持續時間由每個 DNS 記錄的「存留時間」(TTL) 屬性決定。 值越短,快取就越快過期,因此到流量管理員名稱伺服器的往返次數越多。 更長的值代表將流量從故障端點導向出去可能需要更長的時間。 流量管理員允許您將流量管理員 DNS 回應中使用的 TTL,設定為最低是 0 秒及最高是 2,147,483,647 秒 (符合 RFC-1035 的最大範圍),讓您選擇最能平衡應用程式需求的值。

常見問題集

下一步

深入了解「流量管理員」的 端點監視和自動容錯移轉

深入了解「流量管理員」的 流量路由方法