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

一,引言

  上节,咱们讲到使用 Azure Traffic Manager 为咱们的 Demo 项目提供负载均衡,以及流量转发的功能。可是Azure 提供相似的功能的服务远远不止这一个,今天咱们就来说一下 Azure Load Balance ,经过它来实现负载均衡,流量转发,以及分享一下 Azure Load Balance 的建立,和具体的配置。html

  Azure Load Balance:是指在一组后端资源和服务器之间负载均衡的分配负载(传入网络流量)前端

  Azure 负载均衡器在开放式系统互连 (OSI) 模型的第四层上运行。 它是客户端的单一联系点。 负载均衡器将抵达负载均衡器前端的入站流量分配到后端池实例。 这些流取决于所配置的负载均衡规则和运行情况探测。 后端池实例能够是 Azure 虚拟机,或虚拟机规模集中的实例。git

  咱们今天演示的后端连接的是一组VM。github

--------------------我是分割线--------------------上架构图web

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

Azure Web App 部署系列:数据库

1,Azure Web App(一)发布你的Net Core Web 项目

2,Azure Web App(二)使用部署槽切换部署环境代码

3,Azure Web App(三)切换你的Net Core Web 项目的数据库链接字符串

4,Azure 提供负载均衡(一)Azure Traffic Manager 为咱们的Web项目提供负载均衡

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

6,Azure Load Balance(一) 为咱们的Web项目提供负载均衡 

二,正文

 1,建立外部的Azure Load Balance

Azure Portal 点击 “create a resource”windows

 

 搜索框 输入 "Load Balancer"后端

 

 点击 “Create” 进行建立。浏览器

 

 咱们能够看到,Load Balance 须要输入一些参数,例如 类型,SKU,公共IP配置,是否使用IPV6 等

 

Resource group:点击 Create new  输入 “Web_Test_LB_RG”

Name:“lb_cnbateblogweb”

Type:“Public”

region 选择 :“East Asia”

Public IP address Name:"cbbateblgweb_pub_ip"

剩下都是默认选项, 点击 “Review + create” 进行预建立校验

咱们能够页面上显示 “Validation passed”,而后咱们点击 “Create” 进行建立操做

稍等一下,咱们能够在Azure Portal的通知栏看到 部署成功的提示信息,咱们能够点击 “Go to resource” 跳转到资源

 2,建立VM,部署 Web 项目

在建立VM 以前,咱们先建立网络资源,好比,一个虚拟网络,虚拟网络中有个两个子网

搜索框中搜索 “Virtual Network”,进行搜索

咱们点击 “create” ,进行建立 虚拟网络 资源

Name:“CnBateBlogWeb_VNET”

Region 选择:“East Asia”

点击下一步,进行配置 “IP Addresses” 信息

IPv4 address space 配置咱们使用默认的 “10.1.0.0/16”

咱们点击红色圈圈部分 ”default“,修改默认子网的配置信息。

咱们讲默认的 subnet name 改为 “CnBateBlogWeb01_SubNET”,Subnet address range 改成 “10.1.1.0/24”,点击 “Save” 进行保存操做

 

 

 

操做完成后,咱们能够在 IP 地址配置页面能够看到刚刚修改的以及新添加的子网的信息,确认无误后,咱们点击 “Review+create” ,进行添加预校验操做。

 

 

等待检验成功后,咱们能够看到 验证成功提示,而后咱们点击 “Create”,进行建立,进行建立虚拟网络以及子网的资源。

 

 

 

再次回到资源建立页面,咱们开始建立 "Network security group(网络安全组)" ,搜索框输入 “Network security group”

 

 

 

 点击 “create” 按钮进行建立

Resource group 选择:"Web_Test_RG"

Name:“CnbateBlogWeb_NSG”

Region 选择:“East Asia”

点击 “Review + create”,进行预检查

完成预校验以后,咱们点击 “create” 进行建立资源,建立完成后,咱们点击 “Go to resource”

 

 咱们在 CnBateBlogWeb_NSG 页面须要配置入站规则,选择 "Settings=>Inbound security rules",而后点击 “Add”,进行添加操做

 

 咱们计划是使用 windows 服务器,因此远程链接端口必须得打开,端口为 “3389”,以下图所示

而后我接着使用相同的方式也将 “80” 端口加到入站规则中,添加完成后,咱们也能够看到本身刚刚添加完成的入站规则信息

接下来,咱们进行建立VM

仍是回到建立资源页面,咱们选择 “Windows Server 2016 Datacenter”(做为演示,你们不要在乎服务器类型,以及服务器性能的问题),而且跳转到配置页面

咱们能够看到,这么咱们须要进行简单的配置服务器的镜像,所在区域,Size,以及远程登陆所须要的服务器的用户名以及密码,以及须要开放的 3389 和 80 端口

Virtual machine name:“cnbateblogweb01”

Region:“East Asia”

UserName:“cnbateblogweb01”

Password:你们自行填写

 

VM 的 size 的大小,咱们能够点开看一下,我这边悬着的是  1核1g大小的,也是我图中圈起来的

 

磁盘方面,咱们使用默认,只是作演示用,不须要加数据盘,咱们点击 “Next-Networking >” ,进入下一步配置网络信息

 

关于 “Virtual Network” 和 “subnet” ,咱们能够选择刚刚建立好的

Virtual Network 选择:"CnBateBlogWeb_VENT"

Subnet 选择:“CbBateBlogWeb01_SubNET”

public ip 咱们使用默认,建立一个新的公共的IP

NIC network security group 选择:"Advanced"

Configure network security group 选择:"CnBateBlogWeb_NSG"

将 Public IP 的 SKU 修改成 “Standard”,点击 “OK”

点击 “Review+create”,进行预建立校验操做,完成 预校验操做后,点击 “create” 进行建立操做。

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

 

等待部署成功后,咱们能够点击 “Go to resource” 进行跳转到刚刚建立到的VM资源的页面查看具体信息

 咱们重复上述工做,再次建立一台名字叫 cnbateblogweb02 的新的VM,IP 地址配置中子网选择 以前建立好的 "CnBateBlogWeb02_SubNET"

 3,服务器安装IIS

 Azure Portal 中找到 刚刚建立好的 cnbateblogweb01 的 VM,复制图中的 “Public IP address”

 

 

 

回到咱们的桌面,咱们使用远程桌面链接,登陆到 ”cnbateblogweb01“ 这台 VM 上

登陆上去后,咱们使用 Powershell 安装IIS服务

powerShell 输入:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

等待安装进度条加载完成 

等待安装完成后,咱们能够看到 成功或者失败的提示

再次输入如下命令,移除默认的IIS启动页面

remove-item  C:\inetpub\wwwroot\iisstart.htm

再次输入以下命令,从新添加咱们自定义的 index.html 文件。

Add-Content -Path "C:\inetpub\wwwroot\index.html" -Value $("Hello cnbatebogweb01---" + $env:computername)

添加完成后,咱们在本地访问 cnbateblogweb01 的 ip地址 测试一下,看看是否将 IIS 安装成功,以及咱们自定义的页面是否成功展现,ok,测成功

接下来,咱们使用相同的方式登陆到 cnbateblogweb02 这台VM 上也进行安装IIS,而且添加自定义的 index.html 文件

一样的,咱们在本地访问 cnbateblogweb02 的 ip地址 测试一下,看看是否将 IIS 安装成功,以及咱们自定义的页面是否成功展现.

ok,以上步骤完成后,咱们就开始配置 Load Balancer

4,配置 Load Balancer 的后端池

回到 Azure Portal 中,咱们找到以前建立好的名字叫 “lb_cnbateblogweb” 的负载均衡器,选择 “Settings=>Backend pools” 添加后端池信息

 

Name:"cnbateblogweb_backendpool"

Virtual network 选择:“CnBateWeb_VNET”

IP 默认为:IPV4

Asscociated to 选择: “Virtual machines”

咱们点击 “+Add” 讲咱们以前建立好的两台VM 添加进来,如图所示

最后点击 “Add” 操做

稍等片刻,咱们能够看到刚刚添加好的负载均衡器的 Backend Pool 信息

接下来,咱们须要设置健康检查,选择 “Settings=>Health probes”,点击 “Add” 按钮

 Name:“cnbateblogweb_healthcheck”

 port:“80”

其余的都走默认配置,也就是说,Azure会每隔 15s 访问一下后端池 80 端口 会进行健康探测,连续出现2次不正常的请求后,负载均衡器会自动将检查不正常的后端池中的 VM 移除掉

接下来,咱们就要配置负载均衡的规则,页面上咱们 选择 “Settings=>Load balancing rules” ,点击 “Add”

Name:“cnbateblogweb_HttpRule”

Port:“80”

Backend port:“80”

Backend pool 选择:"cnbateweb_backendpool"

Health probe 选择:“cnbateblogweb_healthcheck”

点击 “OK”

 以上信息,建立完成后,咱们进行测试,服务当前 Load balancer 的 Public IP address ,复制到浏览器中,访问试试。

咱们访问负载均衡器的公网地址,目前是将我本地发出的请求转发到 cnbateblogweb02 这台VM上

 同时,咱们能够选择Load Balance 的 “Insights”功能,以下图所示,咱们能够清楚的看到当前请求的一个大体的走向,这个图和咱们在文章最上面介绍的架构图特别类似

 ok,今天介绍的Load Balance 的用法,以及作了一个小小的演示页面,成功的经过负载均衡器将请求流量转发到后端池的某个 VM 中.

分享到此结束。撒花,撒花!!!🎉🎉🎉🎉🎉

三,结尾

   ok,今天的分析篇幅有些多,确实是本身没有控制好,但愿你们多多包涵,今天大概讲解关于 Load Balancer 建立,配置后端池,配置健康检查,配置负载均衡规则等,以及经过在两个VM中的IIS服务器中添加自定义的 “index” 页面,咱们可能直观的看到负载均衡器将流量进行转发。下一节咱们具体讲解

1,负载均衡器具体的一些配置

2,将以前说的demo 发布到 VM的IIS 服务器中,用demo项目更贴切与实际项目中的架构设计

做者:Allen 

项目代码:https://github.com/yunqian44/CnBateBlogWeb.git

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

相关文章
相关标签/搜索