《Windows Azure Platform 系列文章目錄》
請讀者注意,Azure Application Gateway在ASM模式下,只能通過PowerShell創建
具體可以參考Wei Heng的Blog: http://www.cnblogs.com/hengwei/p/5052052.html
本章將介紹如何在ARM Portal: https://portal.azure.cn/,創建Application Gateway
Azure服務里面,提供負載均衡的功能有以下三種:
1.Azure Load Balancer。Azure Load Balancer是提供OSI Layer 4的負載均衡器。
在ARM模式下,負載均衡器是單獨的一個服務。不像Classic Model下, 負載均衡器是隱藏在Cloud Service后面的
2.Application Gateway,提供OSI Layer 7的負載均衡器。
Application Gateway類似反向代理服務,把客戶端請求發送到后端的服務器
3.Traffic Manager。類似於Smart DNS解析。
下表總結了上面三種負載均衡器的區別:
服務類型 | Azure Load Balancer | Application Gateway | Traffic Manager |
傳輸層 (Layer 4) | 應用層 (Layer 7) | DNS | |
支持的協議 | Any | HTTP / HTTPS | Any 需要HTTP Endpoint進行監控 |
服務端點 Endpoint | Azure虛擬機和Cloud Service Role | 任意的內網IP地址,或者公網IP地址 | Azure虛擬機,Cloud Serivce,Azure Web App或者其他外部Endpoint |
支持虛擬網絡VNet | 同時支持公網負載均衡和內網(VNet)負載均衡 | 同時支持公網負載均衡和內網(VNet)負載均衡 | 只支持公網負載均衡 |
監控 Endpoint | 通過Probe監控 | 通過Probe監控 | 通過 HTTP/HTTPS Get |
Azure Load Balancer和Application Gateway都提供了負載均衡的功能,但是他們有不同的使用場景。下表提供了兩者的差異:
服務類型 | Azure Load Balancer | Application Gateway |
協議 | UDP/TCP | HTTP/HTTPS |
固定IP地址 | 支持 | 不支持 |
負載均衡模式 | 5元組(source IP, source port, destination IP, destination port, protocol type)
|
|
會話保持 |
|
|
健康檢測 | 默認偵測間隔15秒,最短5秒 。連續2次健康檢測失敗,則把節點從負載均衡器移出。 支持用戶自定義的偵測 |
偵測間隔30秒,連續5次健康檢測失敗,則把節點從Application Gateway移出。 支持用戶自定義的偵測 |
SSL offloading | 不支持 | 支持 |
Application Gateway的特性:
1.Web Application Firewall (預覽)
Web Application Firewall (WAF),可以保護Web應用程序面授常見的Web攻擊,比如SQL注入,跨站點腳本攻擊和會話劫持
2.HTTP負載均衡
提供7層負載均衡
3.基於Cookie的會話保持
當我們希望將用戶會話保持在同一個Azure后端服務器上,這個功能就非常有用
4.Secure Socket Layer(SSL) Offload
如果我們不使用SSL Offload,SSL加密/解密是最消耗服務器資源的應用,從HTTP到HTTPS部署后,很可能發現服務器的性能和處理能力大幅下降。
當我們使用SSL Offload的時候,Internet用戶訪問Azure Application Gateway的流量是HTTPS加密的。
而Azure Application Gateway訪問后端的Web Server是通過HTTP方式。一個簡單的動畫示意圖:
這樣的優勢有:
(1)降低服務器負載,SSL處理非常消耗服務器的性能
(2)提升SSL處理能力
(3)降低管理員操作復雜性,無需管理和配置多個服務器的證書。只需要在前端Application Gateway上實現即可。
(4)提升應用安全性,將加密的HTTPS解密為明文的HTTP后,可根據請求/響應內容等設置多種策略
5.端到端的SSL加密
Application Gateway支持端到端的SSL加密。
https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-backend-ssl
6.基於URL的路由
此功能提供了為不同流量使用不同的后端服務器的能力。
7.多站點路由
8.支持Websocket
https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-websocket
9.健康偵測
10.支持高級診斷功能
Application Gateway實例大小
Application Gateway提供三種不同的實例大小: Small, Medium和Large。Small實例適合開發測試環境。
Application Gateway有兩種不同的服務類型:WAF (Web Application Firewall)和Standard
1個訂閱下最多創建50個Application Gateway,每個Application Gateway最多有10個實例
每個Application Gateway可以有20個HTTP 偵聽器(Listener)。
其他Application Gateway限制,請參考:https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits?toc=%2fazure%2fapplication-gateway%2ftoc.json#application-gateway-limits
下表提供了Application Gateway的性能指標
后端頁面相應 | Small | Medium | Larger |
6K | 7.5 Mbps | 13 Mbps | 50 Mbps |
100K | 35 Mbps | 100 Mbps | 200 Mbps |
注意:以上性能指標僅供參考。
參考資料:https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-introduction