Azure Application GateWay
介绍
Azure 应用程序网关是一项 Azure 服务,它提供了一种将流量路由到 Web 应用程序的灵活和可扩展的方法。它提供了以下功能:
-
基于 URL 路由的流量分发,可以根据不同的 URL 路径将流量转发到不同的后端 Web 应用程序。
-
SSL 终止,可以在应用程序网关和后端应用程序之间终止 SSL 连接,并将流量以未加密的方式路由到后端应用程序。
-
Web 应用程序防火墙,可以检测和阻止针对 Web 应用程序的攻击。
-
会话持续性,可以确保同一用户在多个请求之间保持相同的后端服务器。
-
自动缩放,可以根据流量自动缩放后端服务器。
优点
Azure 应用程序网关是一种 7 层负载均衡器(也称为应用层负载均衡器或 HTTP 负载均衡器),因为它可以运行在 OSI 模型的第 7 层,即应用程序层。这意味着应用程序网关可以识别和路由 HTTP 或 HTTPS 流量中的应用程序层信息,例如 URL、Cookie 和标头。
相比较于 4 层负载均衡器(也称为传输层负载均衡器或 TCP 负载均衡器),它们只能识别和路由 IP 地址和端口号等传输层信息,7 层负载均衡器可以更加灵活地对不同的应用程序进行流量分发,因此它实现的应用场景更加广泛。7 层负载均衡器通常用于支持 Web 应用程序和基于 HTTP 或 HTTPS 的服务的负载均衡
类似服务
-
Azure 应用程序网关:适用于托管在虚拟机、容器或云服务中的 Web 应用程序。它可以基于 URL 路由将流量转发到不同的后端 Web应用程序,同时提供 SSL 终止、会话持续性、自动缩放等功能。
-
Azure 负载均衡器:适用于任何跨多个虚拟机进行负载均衡的应用程序,它可以在 OSI 模型的第 4 层,即传输层对流量进行负载均衡。
-
Azure Traffic Manager:用于公共互联网应用程序的全局负载均衡服务。它可以将流量路由到不同的 Azure区域、云服务、Web 应用程序或常规终结点。
-
Azure Front Door:适用于高度可扩展的和安全的 Web应用程序的快速应用程序交付网络(ADN)。它可以在全球范围内管理和优化 Web 应用程序交付,同时提供路由、SSL终止、WAF、会话性能管理等功能。
示例展示
我们可以做一个案例来帮助理解应用程序网关的负载均衡。
我们应用程序网关本应该负载多个ServerPool,我们这里为了方便测试,只用了一个Server Pool里面创建了两台虚拟机,然后在虚拟机上安装IIS服务,运行一个静态页面,测试我们访问的时候是否连接。
ok,我们可以大概看一下上面的图,若有不对的地方请提出改正。
创建备用虚拟机
1.我们来实际操作,我们可以先创建两台Windows Server 的虚拟机VM01,VM02。
我们这两台虚拟机会安装IIS服务来模拟我们的服务器。
其他的配置默认就好。
安装IIS服务
然后我们来安装IIS服务,我们登录到VM01虚拟机,然后打开Power shell,
只需要三步就可以完成 IIS安装以及配置:
1.安装IIS服务角色权限
Install-WindowsFeature -name Web-Server -IncludeManagementTools
2.移除默认的静态页面
remove-item C:\inetpub\wwwroot\iisstart.htm
3.添加一个新的Htm界面,为了区别我们的虚拟机后面加上虚拟机的名称。
Add-Content -Path "C:\inetpub\wwwroot\iisstart.htm" -Value $("Hello World from " + $env:computername)
配置完成后我们可以出来,将虚拟机的NSG80端口打开。然后在浏览器中访问VM1的IP
创建应用程序网关
我们在微软市场中找到应用程序网关然后点击新建:我们网络可以选取刚刚VM的网络但是我们发现子网不能选取。我们可以点击管理子网配置,然后新建子网给个名称为“GatewaySubnet”.
点击下一步前端,我们前端来负载IP,选择公共,公共IP地址我们选择新建,给定一个名称AppIP。
然后点击下一步后端,我们点击添加后端池
后端池指一组运行相同应用程序的Web服务器。在使用后端池时,客户端将请求发送到负载均衡器,而不是直接发送到某个服务器,然后负载均衡器将该请求分配给一个可用的服务器处理,从而达到负载均衡的效果。后端池还可以提高应用系统的可用性和扩展性,因为当一个服务器发生故障时,负载均衡器会自动将请求转发到其他服务器,从而确保服务的连续性和可用性。
给定后端池的名称VMPool
然后点击下一步配置,继续配置规则,配置侦听器,给定名称和一个规则名。
然后我们开始配置后端目标,我们选中我们创建的后端池,后端设置我们下拉之后发现没有可选的,我们选择新增。
我们新增一个后端设置,然后点击添加。
继续点击添加。
然后其他默认就可以了我们点击创建,等待部署。
创建另外一台虚拟机VM02
我们在等待部署的这段时间可以再将另外一台虚拟机创建好。
同样的配置。
如果需要测试一定要记得把Nsg的80端口打开。
然后我们测试发现VM02也是没有问题的。
将虚拟机配置到后端池中
我们找到应用程序网关然后,点击后端池。
然后我们下拉目标类型选择虚拟机,将两台虚拟机都配置到里面去。
访问应用程序网关的IP
我们找到应用程序网关的IP访问测试。
我们知道点击刷新他就会交替访问VM01和VM02虚拟机。
这时候我们可以关闭VM02,我们再次来测试。
这次我们会发现无论怎么刷新他都不会访问到VM02了。