Azure Application Gateway(一)对后端 Web App 进行负载均衡

一,引言

  今天,咱们学习一个新的知识点-----Azure Application Gateway,经过Azure 应用程序网关为我么后端的服务提供负载均衡的功能。咱们再文章头中大概先了解一下什么是应用程序网关。前端

  Azure Application Gateway 是一种应用程序层(OSI 层 7)负载均衡,Azure 应用程序网关能够执行基于 URL 的路由。而上一篇介绍的 Azure Load Balancer 则是传输层(OSI 层 4 - TCP 和 UDP)进行操做,并基于源 IP 地址和端口将流量路由到目标 IP 地址和端口。简单来说,四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡。经过微软官方提供的文档,咱们能够看到 Applcation Gateway 作了以下优化。web

1,SSL/TLS终结后端

2,SKU为 “Standard” 或者 “WAF_v2” 的应用程序网关或者WAF 部署支持自动缩放,可根据变化的流量负载模式进行扩展或缩减。 自动缩放还无需在预配期间要求选择部署大小或实例计数。 浏览器

3,区域冗余网络

4,WAF防火墙架构

5,AKS的入口控制器,应用程序网关入口控制器 (AGIC) 容许你使用应用程序网关做为 Azure Kubernetes 服务 (AKS) 群集的入口。app

6,基于URL的路由负载均衡

7,支持Websockeride

........ 等等学习

  接下来,咱们依旧看看当前设计的基础设施架构图,咱们今天只去了解它的 HTTP 7层的负载均衡

 --------------------我是分割线--------------------

--------------------我是分割线--------------------

二,正文

Azure Portal 首页,点击 “Create a resource” 建立资源

搜素框输入 “Application Gateway”,进行搜索,点击 “Create”,进行建立资源

Resource  group 选择创一个新的 “Web_Test_AG_RG”

Application gateway name:“cnbateweb_applicationgateway”

Region:“East Asia”

Tier:“Standard”

其余都是默认选项

Virtual network 选择建立一个新的网络

Name:“cnbateblogweb_NET”

Subnet name:“cnbateblogweb_SubNET”

Address range:“10.0.1.0/24”

点击 “OK”

点击 “Next:Frontends”,设置应用程序网关的 前端

Frontend IP address type:Public

Public IP address:咱们选择建立一个新的公共的 Public IP

咱们点击 “Next:Backends”

 点击 “Add a Backend pool” 须要添加后端池

 咱们能够看到应用程序网关的后端池的目标类型,也就是Target type 咱们选择 “App Service”

Name:“cbbateblogweb_applicationgateway_backendpool”

Add backend pool with targets 选择:“No” 

Target 选择以前再介绍 Web App 是建立的 “cnbateblogweb01” 和 “cnbateblogweb02”

咱们能够刚刚添加的两个应用程序后端池目标,点击 “Add”

 

 点击 “Next:Configuration>” 进行下一步配置路由信息

 点击 “Add a routing rule”,添加路由信息

Rule name:“cnbateblogweb_applicationgateway_rule”

Listener name:‘cnbateblogweb_httplisten"

Frontend IP 选择以前建立好的 Frontends 的 Public IP 

其余的选择默认

点击 “Backend target”的 Tab 页

Target type 选择 “Backend pool”

Backend target 选择 建立好的后端池 “cbbateblogweb_applicationgateway_backendpool”

HTTP setting 点击 “Add new” 建立一个新的 HTTP Setting

Http setting name:“cnbateblogweb_applicationgateway_httpsetting”

Backend protocol 选择:HTTP

Backend port :"80"

Host name 配置信息

Overrider with new host name (覆盖为新的主机名) 选择:“Yes”

Host name override (覆盖主机名)选择:“Pick host name from backend target(从后端池选取主机名)”

其余选择默认,点击 ”Add“,添加 HTTP setting,点击 ”Add“ 添加 一条路由规则

咱们能够看到 “Frontends” 的信息,”Routing rules“ 信息,”Backend pools“ 信息

点击 “Next:Tags”

点击”Next:Review + create“

等待预校验完成后,咱们点击”Create“ 进行建立

等待建立完成后,咱们跳转到建立好的 Azure Application Gateway 中看看

咱们找到  健康检查,咱们从新设置一下默认的参数,选择 “Settings=>Health probes” ,点击当前圈中的默认的健康的配置

 咱们能够看到默认的一些配置,好比 超时时间,不健康的阈值次数,间隔时间等等信息

接下来,咱们进行修改一下(此步骤你们在实践的过程当中能够忽略,改不改都不会影响到当前应用程序网关的正常使用

Interval(间隔时间) 从30 秒  咱们改成 2 秒

Timeout(超时时间)从30 秒  咱们改成 5 秒

Unhealthy threashod(不正常阈值) 从 3 次  咱们改成1次

点击 “Save”,进行保存操做

接下来,咱们就能够进行测试,看看咱们的应用程序网关是否能够为咱们的后端web App 提供负载均衡的功能

负责下图中权重的前端Public IP 的地址到浏览器中

 ok,bingo!!!!!成功。再次撒花🎉🎉🎉🎉🎉!!!!

--------------------我是分割线--------------------

这个有个小建议就是,在建立应用程序网关的时候添加后端池配置信息时,咱们能够先添加一个空的后端池,当应用程序网关建立好的以后,咱们在在后端池配置中添加咱们之后的后端池信息。

--------------------我是分割线--------------------

三,结尾

  今天咱们简单演示了一下使用 Azure Application Gateway 为咱们的后端 Web App 提供负载均衡,转发流量,以及充当防火墙的功能。当前这些都是应用程序网关的自带的强大功能,下一篇,咱们将架构图中的 Web App 替换成 VM ,经过建立Application Gateway,添加后端池,包含两台 vm,对后端 vm上挂在的项目网站进行负载均衡

做者:Allen 

版权:转载请在文章明显位置注明做者及出处。如发现错误,欢迎批评指正。

相关文章
相关标签/搜索