一,引言

  上一节,我们使用 Azure Load Balancer 类型为外部的,来转发我们的 Web 服务。今天我们看看另一种类型为 “Internal” 的 Azure Load Balancer。接下来,我们依旧先看看基础架构图。

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

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项目提供负载均衡

7,Azure Load Balancer(二) 基于内部的负载均衡来转发为访问请求

二,正文

1,创建VM03虚拟机

选择之前创建好的 CnBateBlogWeb_VNET 的虚拟网络,选择 ”Settings => Subnets“,进入子网页面,点击 ”+ Subnet“

Name:“CnBateBlogWeb_VM_SubNET”

Address range(CIDR block) :10.1.1.0/24

点击 “OK”

回到 Azure Portal ,选择“Create a resource”,点击 “Windows Server 2016 Datacenter”,进行创建 VM03

Virtual machine name:“cnBateBastionHost01”

Region:“East Asia”

UserName:“cnBateBastionHost01”

Password 和 Confirm password :根据自己的实际情况进行输入确认。

点击 “Next Disks” 设置磁盘,以及设置网络配置信息

2,创建类型为 “Internal” 的 Load Balancer

Azure Portal 中 点击 “Create a resource”,输入框中输入 “Load balancer”,创建 Load balancer

Name:“lb_internal_cnbateblogweb”

Region:“East Asia”

Type 选择:“Internal”

SKU 选择:“Standard”

Virtual network 选择:“CnBateBlogWeb_VNET”

Subnet 选择:“CnBateBlogWeb_VM_SubNET”

点击 “Review + create”,进行预校验操作

提示 “Validation passed” 校验通过,我们点击 “Create”,进行创建 Load Balancer 操作

3,配置 Load Balancer

首先我们先分配后端池----两个VM

Name:cnbateblogweb_internal_backgroundpool

点击 “+ Add” 添加 后端 Virtual machines,并且选择之前创建好的 “cnbateblogweb01” 和 “cnbateblogweb02” ,点击 “Add”

如下图所示,我们可以看到刚刚添加的两个VM,我们点击 “Add” ,进行添加操作

接下来,我们添加 “Load balancing rules” 负载均衡器的 “Health probes(健康检查)”,我们点击 “+ Add” 进行添加

Name:cnbateblogweb_internal_healthcheck

Protocol 选择:HTTP

Port:80

Interval(健康检查间歇时间 单位:秒):15

点击 “OK”

如图所示,我们可以看到刚刚创建好的 健康检查信息

然后,我们再添加 负载均衡器的 路由规则配置信息,选择 “Settings=>Load balancer rules”,点击 “+ Add”

Name:"cnbateblogweb_internal_HttpRule"

Port:80

Backend port:80

点击 “OK”

如图所示,圈起来就是刚刚添加好的 路由规则配置信息

最后我们登陆到VM03 上,浏览器中输入当前 Load Balancer 的 "private ip",进行测试看看结果

我们可以看到,目前通过 VM03,我们可以看到负载均衡器将流量转发到 “cnbateblogweb02“ 这台VM上了

4,配置nginx

下载好 windows 版的 nginx

我们配置一下nginx 反向代理,监听 VM03 的8081 端口,反向代理到刚刚配置好的 Azure Load Balancer 的 "private ip"

同时,我们需要设置一下VM03 的防火墙入栈规则,将 8081 添加进去(我们我这边测试,为了方面,我是讲整个防火墙进行关闭操作,大家不要学我啊)

我们启动nginx,本地访问 VM03 的 nginx 代理的地址

bingo,成功!,这次分享按照所示的基础设施架构图完成了配置

三,结尾

  ok,今天讲解关于内部的 Load Balancer 创建,配置后端池,配置健康检查,配置负载均衡规则等,以及外部流量通过 nginx 的反向代理功能,再将流量转发到内部的 Load Balancer,我们可能直观的看到内部的负载均衡器将流量进行转发。

作者:Allen

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

Azure Load Balancer(二) 基于内部的负载均衡来转发为访问请求的更多相关文章

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

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

  2. Azure Load Balancer : 简介

    Azure 提供的负载均衡服务叫 Load Balancer,它工作在 ISO 七层模型的第四层,通过分析 IP 层及传输层(TCP/UDP)的流量实现基于 "IP + 端口" 的 ...

  3. Azure Load Balancer : 动态扩展

    笔者在前文<Azure Load Balancer : 支持 IPv6>中介绍了如何通过 PowerShell 脚本创建支持 IPv6 的 Load Balancer.本文我们接着介绍如何 ...

  4. Azure Load Balancer : 支持 IPv6

    越来越多的网站开始支持 IPv6,即使是哪些只提供 api 服务的站点也需要支持 IPv6,比如苹果应用商店中的 app 早就强制要求服务器端支持 IPv6 了.笔者在前文<Azure Load ...

  5. 使用Python SDK管理Azure Load Balancer

    概述 下面将演示如何使用Python SDK管理中国区Azure Load balancer.关于Azure负载均衡器的详细功能介绍,请参考官方文档. Code Sample import os fr ...

  6. 基于Docker的负载均衡和服务发现

    应用的容器化和微服务化带来的问题 在缺省网络模型中,容器每次重启后,IP会发生变动,在一个大的分布式系统保证IP地址不变是比较复杂的事情 IP频繁发生变动,动态应用部署无法预知容器的IP地址,clie ...

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

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

  8. 实现基于Haproxy+Keepalived负载均衡高可用架构

    1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...

  9. springcloud(十二):Ribbon客户端负载均衡介绍

    springcloud(十二):Ribbon客户端负载均衡介绍 Ribbon简介 使用分布式微服务脚骨的应用系统,在部署的时候通常会为部分或者全部微服务搭建集群环境,通过提供多个实例来提高系统的稳定型 ...

随机推荐

  1. ELKF-分布式日志收集分析平台搭建 最小化 配置过程 - 查看收集日志(windows10下搭建)

    前言 Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的.这三个产品被设计成一个集成解决方案,称为“Elastic Stack” ...

  2. python之爬虫(八)BeautifulSoup库的使用

    上一篇文章的正则,其实对很多人来说用起来是不方便的,加上需要记很多规则,所以用起来不是特别熟练,而这节我们提到的beautifulsoup就是一个非常强大的工具,爬虫利器. beautifulSoup ...

  3. Python模块03/re模块

    Python模块03/re模块 内容大纲 re模块(正则表达式) 1.re模块(正则表达式) import re s = "meet_宝元_meet" print(re.finda ...

  4. How to use the functions of apply and call

    Although  apply and  call  can implement same function. However, there is a litter different between ...

  5. 你应该知道的ip地址相关知识

    IP地址是一个网卡在网络世界里的通讯地址,相当于我们家里的门牌号码.这样类比的话,很显然ip地址是唯一的.在windows系统中,我们可以使用 ipconfig 命令查看本机的ip地址相关信息: 图中 ...

  6. Quartz.Net系列(十六):通过Plugins模式使用Xml方式配置Job和Trigger和自定义LogPrivider

    1.简单介绍 Quarz.Net中采用插件式来实现配置文件配置,通过XMLSchedulingDataProcessor类进行Xml数据处理 默认配置文件命名:quart_jobs.xml publi ...

  7. cas-server-3.5.2-release.zip 及cas-client-3.2.1-release.zip下载

    cas-client-3.2.1-release.zip===> https://github.com/apereo/cas/releases/download/v3.5.2/cas-serve ...

  8. 什么?你正在学web自动化测试?那这些Selenium的基本操作你了解过吗?

    在自动化测试中,我们都知道是通过定位元素来实现的,那么有时候我们定位元素定位不到是为什么呢? 1.页面出现了iframe 2.出现了新的窗口,没有实现句柄的切换 3.三种等待方式,没有选择其中之一来使 ...

  9. Crystal Reports --报表设计

    完整的报表解决方案 数据访问—>报表设计—>报表管理—>与应用系统集成 一.规划报表 设计报表的准备工作 谁看报表? 报表的数据是什么?(页眉页脚的内容?是否需要分组?是否需要汇总? ...

  10. Burp Suite Repeater Module - 中继模块

    目的:节省网页应用分析时间 目标对象:http://10.0.0.15/getboo/login.php 通过调整Request的参数,不断尝试,通过Response查看状态.从而节省在浏览器中操作的 ...