一,引言

  上一节,我们使用 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. sass-loader安装+Failed to resolve loader: sass-loader You may need to install it.解决方法

    方式一: 通过 cnpm 安装node-sass cnpm install node-sass --save 方式二: 通过npm 安装 1.安装sass-loader npm install sas ...

  2. Maven 专题(七):常用命令

    mvn archetype:generate : 反向生成项目的骨架 mvn clean: 清除各个模块target目录及里面的内容 mvn compile: 静态编译,根据xx.java生成xx.c ...

  3. 从零搭建Spring Cloud Gateway网关(三)——报文结构转换

    背景 作为网关,有些时候可能报文的结构并不符合前端或者某些服务的需求,或者因为某些原因,其他服务修改报文结构特别麻烦.或者需要修改的地方特别多,这个时候就需要走网关单独转换一次. 实现 话不多说,直接 ...

  4. 08-Python面对对象进阶

    一.面向对象编程三大特征 Python是面向对象的语言,同样支持面向对象的编程的三大特征:继承,封装,多态. 封装是指隐藏对象的属性和实现细节,只对外提供必要的一些方法,私有属性,私有方法是实现封装地 ...

  5. 《串并行数据结构与算法(SML语言)实验》题解

    注意:本题解仅供参考学习,请勿直接抄袭代码,否则造成的后果和笔者无关. 第一题: 题意: 对n个数升序排序. 题解: 快排,不解释. 代码(省略了输入输出函数,下同): val n = getInt ...

  6. Java开发中的eclispe常用快捷键&全部快捷键

    Java开发中的eclispe常用快捷键&全部快捷键 Ctrl+1 快速修复(经典快捷键)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ ...

  7. js:数组(创建、遍历、函数)

    1.数组 采用单个变量只能存储一个数据,数组能够存储多个数据,获取方式也比较简单.它是将一组数据存储在当个变量下的存储方式. 2.数组的创建 (1)new方式创建,不指定数组长度 <script ...

  8. Java冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序

    冒泡排序   冒泡排序是一种简单的排序算法.它重复地走访过要排序地数列,一次比较两个元素,如果它们地顺序错误就把它们交换过来.走访数列地工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. ...

  9. 013.Nginx动静分离

    一 动静分离概述 1.1 动静分离介绍 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源,如图片.js.css等文件,可以在反向代理服务器中进行缓存,这样浏览器 ...

  10. 机房vscode使用方法

    问题 众所周知,机房中的电脑有一个win7系统,(非常的好,摆脱linux了),同时win7上有一个 vscode ,更好了. 但是!vscode 由于老师不允许联网,导致插件无法安装,更为恶心的事, ...