利用Azure服务实现Web流量负载均衡与分发
1. Azure Application Gateway简介
在托管Web应用程序时,我们需要考虑如何将其暴露给公共互联网。直接暴露虽然可行,但在做决定前需要考虑以下几个方面:
- 负载均衡:如何在现有实例之间分配流量。
- 安全性:处理恶意和格式错误的请求。
- SSL卸载:是否需要在Web服务器上直接处理HTTPS。
一般来说,直接暴露于外部流量的Web应用仅适用于较小的网页。如果架构需要更复杂的方法(例如在不同地区托管多个实例),则需要额外的组件来处理传入请求。标准Azure Load Balancer通常与Azure虚拟机配合使用,但它仅在OSI第4层(TCP/UDP)工作,无法满足根据请求有效负载判断请求是否正确的需求,而Azure Application Gateway可以。
Azure Application Gateway有以下几个重要概念:
- WAF(Web应用防火墙) :是一个集中式服务,基于OWASP核心规则集,可帮助保护服务免受已知漏洞和攻击,如SQL注入、跨站脚本(XSS)和shell注入。在Azure中,WAF是不同服务的一部分,可独立配置,可用于Azure Application Gateway、Azure Front Door和Azure CDN。在Azure Application Gateway中,WAF是一个单独的功能(单独的层级),收费与基本版本不同,标准层级每小时0.26美元,WAF层级每小时0.468美元。
- 负载均衡 :作为在OSI第7层工作的负载均衡器,能理