設計 Azure 應用程式閘道

已完成

Azure 應用程式閘道是網路流量負載平衡器,可讓您管理 Web 應用程式的流量。 傳統負載平衡器會在傳輸層 (OSI 第 4 層 - TCP 和 UDP) 上運作,並根據來源 IP 位址和連接埠來路由目的地 IP 位址和連接埠的流量。

Azure Application Gateway traffic flow

應用程式閘道可讓您根據 HTTP 要求的其他屬性 (例如 URI 路徑或主機標頭) 進行路由決策。 例如,您可以根據傳入 URL 路由傳送流量。 因此,如果 /images 在傳入的 URL 中,您可以將流量路由傳送至一組針對影像設定的特定伺服器 (也稱為集區)。 如果 /video 在 URL 中,該流量就會路由傳送至已針對影片最佳化的另一個集區。

此類型的路由稱為應用程式層 (OSI 第 7 層) 負載平衡。 Azure 應用程式閘道可以進行 URL 型路由等作業。

Azure Application routing

應用程式閘道功能

  • 對 HTTP、HTTPS、HTTP/2 及 WebSocket 通訊協定的支援。
  • 可針對 Web 應用程式弱點進行保護的 Web 應用程式防火牆。
  • 端對端要求加密。
  • 自動調整,隨著網路流量負載變化而動態調整容量。
  • 重新導向:重新導向可用來路由傳送至另一個網站,或是從 HTTP 路由傳送至 HTTPS。
  • 重寫 HTTP 標頭:HTTP 標頭可讓用戶端和伺服器透過要求或回應傳遞參數資訊。
  • 自訂錯誤頁面:應用程式閘道可讓您建立自訂的錯誤頁面,而不是顯示預設的錯誤頁面。 您可以使用自訂錯誤頁面來搭配您自己的商標和版面配置。

決定應用程式閘道路由

用戶端會將針對您 Web 應用程式的要求傳送至閘道的 IP 位址或 DNS 名稱。 閘道會將要求路由傳送至後端集區中選取的 Web 伺服器,並使用針對該閘道所設定的規則集來判斷要將該要求路由傳送至何處。

路由傳送流量主要有兩種方式:路徑式路由和多網站路由。

路徑型路由

路徑式路由會將含有不同 URL 路徑的要求,傳送至後端伺服器的不同集區。 例如,您可以將含有路徑 /video/* 的要求導向後端集區,而集區包含已最佳化來處理視訊串流的伺服器,也可以將 /images/* 要求導向負責擷取影像的伺服器集區。

path based routing example

多網站路由

多站台式路由會在相同的應用程式閘道執行個體上,設定多個 Web 應用程式。 在多網站設定中,您會針對應用程式閘道的 IP 位址註冊多個 DNS 名稱 (CNAME),並指定每個網站的名稱。 應用程式閘道會使用個別的接聽程式來等候針對每個網站的要求。 每個接聽程式都會將要求傳遞至不同的規則,這可以將要求路由至位於不同後端集區中的伺服器。 例如,可以將 https://contoso.com 的所有要求都導向一個後端集區中的伺服器,然後將 https://fabrikam.com 的要求全都導向另一個後端集區。 下圖顯示此設定。

Multiple site routing example

多網站設定很適合用來支援多租用戶應用程式,其中每個租用戶都擁有屬於自己並用來裝載 Web 應用程式的虛擬機器集或其他資源。

選擇 Azure 應用程式閘道 SKU

應用程式閘道依據 Standard_v2 SKU 提供。 Web 應用程式防火牆 (WAF) 依據 WAF_v2 SKU 提供。 v2 SKU 提供效能增強功能,並新增對重要新功能的支援,例如自動調整、區域備援,以及對靜態 VIP 的支援。 新的 v2 SKU 持續支援依據「標準」和 WAF SKU 提供的現有功能。

檢閱 v1 和 v2 SKU 之間的功能比較資料表,以判斷哪些 SKU 符合您的部署需求。

在 Azure 應用程式閘道 v2 與 Web 應用程式防火牆 V2 SKU 之間選擇

選擇是否要部署應用程式閘道或 Web 應用程式防火牆時,您必須考慮幾個因素,包括想要遵循的調整策略。

調整應用程式閘道和 WAF v2

應用程式閘道和 WAF 可以設定為以下兩種模式進行調整:

自動調整:如果啟用自動調整,應用程式閘道和 WAF v2 SKU 會根據應用程式流量需求而擴大或縮少。 此模式為您的應用程式提供更好的彈性,並且不需要猜測應用程式閘道大小或執行個體計數。 此模式也可讓您節省成本,因為不需要閘道以尖峰佈建容量執行來實現預期的最大流量負載。 您必須指定執行個體計數的最小值和選擇性上限。 最小容量可確保應用程式閘道和 WAF v2 不會低於指定的最小執行個體計數,即使沒有流量也是如此。 每個執行個體大約等於 10 個額外的保留容量單位。 零表示沒有保留容量,且本質上是純粹自動調整。 您也可以選擇性地指定執行個體計數上限,以確保應用程式閘道的調整不會超過指定的執行個體數目。 您只需為閘道所處理的流量付費。 執行個體計數的範圍可以從 0 到 125。 如果未指定,執行個體計數上限的預設值為 20。

手動:您也可以選擇手動模式,閘道不會自動調整。 在此模式中,如果流量超過應用程式閘道或 WAF 的處理能力,可能會導致流量遺失。 使用手動模式時,必須指定執行個體計數。 執行個體計數可以從 1 到 125 個執行個體不等。