一,引言

  上一节,我们使用 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. [JAVA]使用字节流拷贝文件

    import java.io.*; /** * @Description: * @projectName:JavaTest * @see:PACKAGE_NAME * @author:郑晓龙 * @c ...

  2. JVM 专题十二:运行时数据区(七)对象的实例化内存布局与访问定位

    1. 对象的实例化 1.1 创建对象的方式 new 最常见的方式 变形1 : Xxx的静态方法 变形2 : XxBuilder/XxoxFactory的静态方法 Class的newInstance() ...

  3. Python网络编程02 /基于TCP、UDP协议的socket简单的通信、字符串转bytes类型

    Python网络编程02 /基于TCP.UDP协议的socket简单的通信.字符串转bytes类型 目录 Python网络编程02 /基于TCP.UDP协议的socket简单的通信.字符串转bytes ...

  4. bzoj2023[Usaco2005 Nov]Ant Counting 数蚂蚁*&&bzoj1630[Usaco2007 Demo]Ant Counting*

    bzoj2023[Usaco2005 Nov]Ant Counting 数蚂蚁&&bzoj1630[Usaco2007 Demo]Ant Counting 题意: t个族群,每个族群有 ...

  5. 【学习记录】C#保存数据至CSV文档 & DateTime格式模式控制解释

    数据类的定义: public class Result_Display { private string id; public string ID { get { return id; } set { ...

  6. sql中in和exists的原理及使用场景。

    在我们的工作中可能会遇到这样的情形: 我们需要查询a表里面的数据,但是要以b表作为约束. 举个例子,比如我们需要查询订单表中的数据,但是要以用户表为约束,也就是查询出来的订单的user_id要在用户表 ...

  7. 转自fineui论坛:解决fineui框架开发中的Designer.aspx.cs丢失问题

    在开发的时候碰到个问题,本来好好的Edit.aspx  Edit.aspx.cs  Edit.Designer.aspx.cs编辑Edit.aspx然后保存,编译的时候 发现Edit.aspx.cs里 ...

  8. Notion笔记工具免费开通教育许可

    修改为edu邮箱 如果咱注册的时候就用的咱的edu,就不用看这部分啦! 点击[Get free Education plan],提示要修改咱的注册邮箱! 开通咱的教育版 最后附上ac邮箱两枚 http ...

  9. p46_IPv4地址

    IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口. IP地址::={<网络号>,<主机号>} 图中有6个子网 比如222.1.3.0是网络号,3是主机号,222 ...

  10. 如何查看预收录在arXiv上论文的LaTeX源文件并编译

    arXiv 是一个收集物理学.数学.计算机科学与生物学论文预印本的网站. 对于理科生来说,经常需要在上面搜索下载一些论文,正常情况下,一般人下载的只是 pdf 文件,其实可以在 arXiv 上下载编译 ...