Azure内部负载平衡器

负载平衡是云计算服务中的一个必备服务项目,通常用来对负载平衡后端的计算实例(虚拟机)或应用程序进行外部访问请求的负载,以缓解处理压力并提供容错能力。在微软的私有云产品体系中,System Center的VMM组件具备创建windows系统原生NLB以及兼容第三方软硬负载平衡器的能力(比如F5),但是个人认为目前使用还是不便的,特别是在租户端。反观Azure公有云平台上,云服务功能肩负起了NLB的作用,除此之外Azure还提供了一个“内部负载平衡”功能,即对于外部NLB后面的应用或数据层继续进行负载均衡配置,同时避免暴露在外网以达到安全要求,如下图所示:

要在Azure实现内部负载平衡功能需要通过PowerShell方式实现,下图为我的测试环境,有若干台虚拟机,该应用分为三层,最外层使用云服务NLB接受用户访问,中间层需要进行外部用户数据写入的处理,因此需要内部NLB来继续实现负载均衡的作用,最后端是一个DB做数据持久化。

首先我做了几步针对整套应用所需的配置工作,例如下图给云服务指定了保留IP。

按功能对不同层的应用服务器进行可用性集划分,已充分利用Azure平台的容错能力,此外对前两层计算实例进行缩放配置,很遗憾的是该应用用于存储消息队列数据没有保存在Azure Queue里,所以无法根据Queue来触发scale-out选项,只能退而求其次根据CPU阀值进行设置了。

下图中是根据不同应用服务器进行虚拟网络的静态IP配置,避免因维护重启产生IP地址变动。

#####################################################################

针对内部负载平衡器,大家可以参考msdn上的guide,这里我将其写入脚本文件比较好辨别,大致分为几部分:

  1. 创建内部负载平衡实例
  2. 把相应的端点(例如VM)加入到该实例中

最后把服务请求指向新生成的负载平衡器IP就可以了,这里有个tips,我记得好像官方说明中在创建内部负载平衡器实例时没要求加“-lbsetname”这个字段,但在执行过程中该字段是必须的,如下图:

配置成功之后可以get到这个内部负载平衡器的相关信息(internalloadbalancername),如下图:

同时可以通过powershell查看ILB(内部负载平衡器)里面的member和发布的端口,如下图:

Azure的ILB功能使得负载平衡服务更加完善,在互联网微服务的大趋势下,应用的架构设计会更加细腻,不同功能之间强调松耦合,可扩展,这就给负载平衡技术以更大的发挥空间,同时ILB在安全方面也有它的优势,目前SDN技术日趋标准化,就等着NFV大放异彩,希望微软能在私有云领域更加完善自己的NFV功能,早日看齐openstack

时间: 2024-11-07 16:44:45

Azure内部负载平衡器的相关文章

Microsoft Azure 的负载平衡器的Session Sticky

Microsoft Azure 的负载平衡器是一种 Layer-4负载平衡器.Microsoft Azure 负载平衡器通过针对给定输入端点上接收到的流量计算哈希函数,在一组可用的服务器(虚拟机)之间分配负载.计算哈希函数是为了使来自同一连接(TCP 或 UDP)的所有数据包最终位于同一台服务器上.Microsoft Azure 负载平衡器采用 5个信息(源 IP.源端口.目标 IP.目标端口.协议类型)计算用于将流量映射到可用服务器的哈希函数.我们选择的哈希函数使到服务器的连接的分布非常随机.

Azure技术13-高可用--Azure负载平衡器

上一章中因为账号的资源问题,做完实验就将虚拟机都删除了,所以这一章补一下负载平衡器的功能,这里我做一个简单的DEMO,两台虚拟机建IIS网站,在每个网站负载均衡英文名称为Load Balance 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性.Azure 负载均衡器可提高应用程序的可用性和网络性能. 它是第 4 层(TCP.UDP)类型的负载均衡器,可在负载均衡集中定义的运行状况良好的服务实例之间分配传

创建Windows Azure内部负载均衡器

与普通的负载均衡器一样,Windows Azure内部负载均衡器也是四层的.内部负载均衡器会被分配一个内网地址,只能从虚拟网络内部访问,包括VPN和ExpressRoute. 内部负载均衡器通常被用于实现应用层和数据库层的负载均衡和高可用方案.当然,对于数据库层的负载均衡和高可用来说,多个数据库实例之间的数据同步依然需要用户自己来搞定. 内部负载均衡器架构示例 抄起PowerShell,来创建内部负载均衡器. 内部负载均衡器是依赖于云服务的,一个云服务只能有一个内部负载均衡器. 内部负载均衡器需

Envoy如何打败Linkerd成为L7负载平衡器的最佳选择?

本文转自:http://www.servicemesh.cn/?/article/41 作者:MIKE WHITE 翻译:姚炳雄 原文:Using Envoy to Load Balance gRPC Traffic 针对 Bugsnag(一款bug自动检测工具),我们最近启动了一个专门用来跟踪软件发布健康状况的发布仪表板项目. 这是个大任务,当我们在构建后台时,特别关注了它的性能.其中的关键领域之一是和后端服务调用相关的延迟,在最后,我们决定用 Google 的超级快速的 gRPC 框架替换R

Microsoft Azure 配置负载均衡

负载均衡大家都知道是什么了吧,就不用介绍了.如何在 microsoft Azure 上配置了?创建两台虚拟机,并加入如云服务.然后在远处登录上去,有时你想在两台虚拟机上通信,怎么办,比如mymv2 ping mymv1先在 mymv1  打开 ICMP协议 右键启用即可这是通信.下面添加服务角色在两台虚拟机添加 web服务器 在 mymv2  iisstart   加了一段代码  <div><h1>mymv2</h1></div> 同样在 mymv1  ii

Azure虚拟机负载平衡

Azure 负载平衡 负载平衡概述: Microsoft Azure 为在其中托管的虚拟机(IaaS) 和云服务(PaaS)提供负载平衡服务.负载平衡支持应用程序伸缩,并且提供应用程序故障恢复以及其他优势.可以通过以下方式访问负载平衡服务:通过Microsoft Azure 门户或应用程序的服务模型指定服务上的输入端点.当在Microsoft Azure 上部署一个具有一个或多个输入端点的托管服务后,它会自动配置Microsoft Azure 平台提供的负载平衡服务.要充分利用服务的弹性/冗余性

Azure 中国篇&mdash;创建Azure虚拟机负载平衡集

1.选择需要配置负载平衡的虚拟机,点击"端点"--"添加" 2.选择"添加独立终结点" 3.指定端点的详细信息,勾选"创建负载平衡集". 4.配置负载平衡集. 5.添加虚拟机到负载平衡集 6.选择"将终结点添加到现有负载平衡集" 7.指定端点的详细信息. 8.完成负载平衡集的添加.

Spring Cloud Commons教程(二)Spring RestTemplate作为负载平衡器客户端

RestTemplate可以自动配置为使用功能区.要创建负载平衡RestTemplate创建RestTemplate @Bean并使用@LoadBalanced限定符. 警告 通过自动配置不再创建RestTemplate bean.它必须由单个应用程序创建. @Configuration public class MyConfiguration { @LoadBalanced @Bean RestTemplate restTemplate() { return new RestTemplate(

Spring RestTemplate作为负载平衡器客户端

RestTemplate可以自动配置为使用功能区.要创建负载平衡RestTemplate创建RestTemplate @Bean并使用@LoadBalanced限定符. 警告:通过自动配置不再创建RestTemplate bean.它必须由单个应用程序创建. @Configuration public class MyConfiguration { @LoadBalanced @Bean RestTemplate restTemplate() { return new RestTemplate(