一,引言

  今天,我们学习一个新的知识点-----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

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

Azure Application Gateway(一)对后端 Web App 进行负载均衡的更多相关文章

  1. Azure Application Gateway(二)对后端 VM 进行负载均衡

    一,引言 上一节有讲到使用 Azure Application Gateway 为我们后端类型为 Web App 的 Demo 项目提供负载均衡,Azure Application Gateway 的 ...

  2. QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法

    前言 在阿里七层流量入口接入层(Application Gateway)场景下, Nginx 官方的Smooth Weighted Round-Robin( SWRR )负载均衡算法已经无法再完美施展 ...

  3. Azure Application Gateway (1) 入门

    <Windows Azure Platform 系列文章目录> 请读者注意,Azure Application Gateway在ASM模式下,只能通过PowerShell创建 具体可以参考 ...

  4. Azure Application Gateway (3) 设置URL路由

    <Windows Azure Platform 系列文章目录> 在之前的文章中,笔者介绍了Azure Web App可以设置URL路由.如下图: 在这里笔者简单介绍一下,首先我们还是创建以 ...

  5. Azure Application Gateway (5) Application Gateway SSL Offload配置

    <Windows Azure Platform 系列文章目录> 之前有个客户提出了一个需求,他们的互联网访问的架构分为两种: 1.第一层是使用Azure Application Gatew ...

  6. Azure Application Gateway (4) 设置URL路由 - PowerShell

    <Windows Azure Platform 系列文章目录> 本文将介绍如果使用Azure PowerShell,创建Azure Application Gateway URL Rout ...

  7. Azure Load Balancer(一) 为我们的Web项目提供负载均衡

    一,引言 上节,我们讲到使用 Azure Traffic Manager 为我们的 Demo 项目提供负载均衡,以及流量转发的功能.但是Azure 提供类似的功能的服务远远不止这一个,今天我们就来讲一 ...

  8. Azure 提供负载均衡(一)Azure Traffic Manager 为我们的Web项目提供负载均衡

    一,引言 上一篇讲到我们将自己的Net Core Web 项目部署到 Azure 的 Web App 的一项 pass 服务,假如随着项目的日益增长的访问量,之前部署到单节点的应用可能无法保证其稳定性 ...

  9. Azure Traffic Manager(二) 基于权重与基于优先级的路由策略为我们的Web项目提供负载均衡

    一,引言 上一片文章我们使用 Azure Traffic Manager 分发用户请求,同时演示了两种路由策略,“Performance”,“Geographic”的两种方式,今天我们继续讲解 Tra ...

随机推荐

  1. 06-Python元组,列表,字典,集合数据结构

    一.简介 数据结构是我们用来处理一些数据的结构,用来存储一系列的相关数据. 在python中,有列表,元组,字典和集合四种内建的数据结构. 二.列表 用于存储任意数目.任意类型的数据集合.列表是内置可 ...

  2. 关于PowerShell调用Linq的一组实验

    Windows PowerShell 版权所有 (C) Microsoft Corporation.保留所有权利. 尝试新的跨平台 PowerShell https://aka.ms/pscore6 ...

  3. 初识:LevelDB

    初识:LevelDB 上篇文章缘起:BigTable可以说是已经把论文Bigtable: A Distributed Storage System for Structured Data中的内容掰扯的 ...

  4. OSCP Learning Notes - Netcat

    Introduction to Netcat Connecting va Listening Bind Shells Attacker connects to victim on listening ...

  5. mysqldump导出表结构及数据

    问题描述:有需要mysql某几张表的需求,某个数据库某几张表,导出先检查相应的数据库和表是否存在 数据泵用法:默认导出的是表结构以及表中的数据 mysqldump -uroot -p -S /data ...

  6. JELLY技术周刊 Vol.15 云游戏会是 5G 杀手级应用么?

    蒲公英 · JELLY技术周刊 Vol.15 听到"云游戏",或许我们的第一反应会是"云玩家"而不是那些上云的"游戏",在这个 5G 已来的 ...

  7. 如何在Python对Excel进行读取

    在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗? 应对这一问 ...

  8. No implementation found for void `org.webrtc.PeerConnectionFactory.initializeAndroidGlobals(android.content.Context, boolean)

    背景介绍 最近在使用 AndroidRTC 利用WebRtc屏幕共享时使用PeerConnectionFactory.initializeAndroidGlobals(context, true, t ...

  9. Java基础之函数

    函数(方法)的定义: 函数就是定义在类中的具有特定功能的一段独立的小程序. 为什么有函数:为了提高代码的复用性,对独立代码进行抽取,把抽取部分代码部分,定义成一个独立的功能,方便日后使用.Java中对 ...

  10. hostapd阅读(openwrt)-2

    深入追踪openwrt下的hostapd之后,发现openwrt无线管理机制格外的复杂,几乎所以的触发与回调均离不开ubus,关于ubus这里不作解释,先大概了解其用途即可(出门左转:https:// ...