上节,咱们讲到使用 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 部署系列:数据库
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” 跳转到资源
在建立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"
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
回到 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
版权:转载请在文章明显位置注明做者及出处。如发现错误,欢迎批评指正。