一,引言

  上一节,我们使用 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. about 蛤蛤

    蛤蛤属于蛤蛤门(haha),蛤蛤纲(haha),蛤蛤亚纲(haha),蛤蛤目(haha),蛤蛤总科(haha),蛤蛤科(haha).

  2. java 数据结构(四):java常用类四 比较器以及其他类

    比较器 1.Java比较器的使用背景: Java中的对象,正常情况下,只能进行比较:== 或 != .不能使用 > 或 < 的但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要 ...

  3. SQLAlchemy(四):SQLAlchemy查询高级

    目录 SQLAlchemy04 /SQLAlchemy查询高级 1.排序 2.limit.offset和切片操作 3.懒加载 4.group_by 5.having 6.join 7.subquery ...

  4. Vue 项目部署出现css样式失效的解决方案

    解决方案1: 你的问题就是css权重问题 如果相同权重可能存在引入顺序问题 简单粗暴解决办法 1: 如果是单页面 写入index.html里面 2:直接修改源码的css 很简单~~~3:加个!impo ...

  5. 作为程序员居然没用过这款神器?太out了吧。

    背景 工欲善其事,必先利其器.​后面我将陆陆续续推荐一些软件利器帮助大家提高效率(主要针对 Mac 电脑). 如果你在使用 Mac 电脑,并且没有如某些人那样安装并使用 Windows 系统,那么你可 ...

  6. Python Ethical Hacking - TROJANS Analysis(2)

    DOWNLOAD & EXECUTE PAYLOAD A generic executable that downloads & executes files. Disadvantag ...

  7. HDU-2473 Junk-Mail Filter(并查集的使用)

    原题链接:https://vjudge.net/problem/11782/origin Description: Recognizing junk mails is a tough task. Th ...

  8. web自动化 -- Select(下拉选择框操作)

    目标:(现在 select 这种已经很少了.一般都是  ul/li 或者 span/svg) 代码示例:

  9. P1852 跳跳棋 [LCA思想+二分答案]

    题目描述 跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子. 我们用跳跳棋来做一个简单的游戏:棋盘上有\(3\)颗棋子,分别在\(a,b,c\)这三个位置.我们要通过最少的跳动 ...

  10. 前端学习(九):CSS基础

    进击のpython ***** 前端学习--CSS基础 CSS的样式可以写在哪呢?其实CSS的样式插入式十分灵活的 按照插入的形势来看,可以分为三种情况 而接下来就对这三种情况进行简单的讨论 内嵌式 ...