《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