一,引言

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

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

1,SSL/TLS终结

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

3,区域冗余

4,WAF防火墙

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

6,基于URL的路由

7,支持Websocker

........ 等等

  接下来,我们依旧看看当前设计的基础设施架构图,我们今天只去了解它的 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

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

最新文章

  1. CSS浮动(float,clear)通俗讲解
  2. Node.js系列之node.js初探
  3. hdu1232 并查集
  4. 使用swfupload上传超过30M文件,使用FLASH上传组件
  5. js中 的这些距离你知道吗?
  6. HDU 2553 n皇后问题(回溯法)
  7. Divide Two Integers 解答
  8. android的drawable资源
  9. 头文件string.h里的函数
  10. 解决VS2015中没有报表项(ReportViewer)的方法
  11. Spring AOP 的proxy详解
  12. Python内置方法中不明了的部分
  13. oldboy s21day10
  14. 网络层HTPPS和HTTP的概念与区别
  15. TCP/IP原理浅析
  16. spring boot集成redis的血泪史
  17. Hadoop之简单文件读写
  18. zsh切换bash bash切换zsh
  19. linux服务器如何添加sudo用户
  20. Oracle 学习之exists

热门文章

  1. 《利用Python进行数据分析》自学知识图谱-导航
  2. js自定义方法绑定元素事件
  3. Ethical Hacking - Web Penetration Testing(1)
  4. .NET Core ResponseCache【缓存篇(一)】
  5. Jmeter(十八) - 从入门到精通 - JMeter后置处理器 -下篇(详解教程)
  6. placeholder CSS设置
  7. ES Reindex用java来实现
  8. 富文本数据 解析HTML
  9. setTimeout、clearTimeout、setInterval
  10. Python 变量类型及变量赋值