zoukankan      html  css  js  c++  java
  • Azure PowerShell (8) 使用PowerShell设置Azure负载均衡器规则

      《Windows Azure Platform 系列文章目录

      注意:如果Azure面对的客户只是企业级客户,企业级客户使用NAT设备访问Internet的话,因为多个客户端使用相同的Source IP地址,会造成单台服务器压力过大的情况。

      这个功能已经出来一段时间了,笔者在这里做一下小记。

      熟悉Azure平台的读者都知道,Azure Load Balancer(负载均衡器)的规则,是由五要素组成source IP, source port, destination IP, destination port, protocol type

      参考资料:http://azure.microsoft.com/blog/2014/04/08/microsoft-azure-load-balancing-services/

      这样Azure Load Balancer可以保证绝对的负载均衡,如下图:

      

      但是这样的负载均衡器会有缺陷,当企业用户的应用程序需要保留会话(Session)的时候,不得不要修改应用程序代码,将Session保存到SQL Server或者In-Role Cache中去。

      最新的Azure Load Balancer可以将规则进行修改,改为2要素sourceIP,(Source IP,Destination IP)或3要素sourceIPProtocol,(Source IP, Destination IP, Protocol)。这样由同一个客户端发起的请求,会指向同一个Azure目标服务器。通过这种方式,就可以保留Session。如下图所示:

      

      

      准备工作:请读者参考[New Portal]Windows Azure Virtual Machine (9) Virtual Machine高可用与自动负载均衡(下),在Azure创建如下内容:

    -  创建2台Windows Server 2012 VM,命名为LeiZhangVMOne和LeiZhangVMTwo

    -  创建DNS Name为LeiZhangVM

    -  负载均衡设置Public Port为80端口,Private Port为80端口,负载均衡器为LB_80

      1.查看80端口的默认Endpoint规则

      我们执行以下代码:

    Get-AzureVM –ServiceName 'LeiZhangVM' –Name 'LeiZhangVMOne' | Get-AzureEndpoint

      可以查看到

      

      上图中,我们看到LoadBalancerDistribution属性为空。使用默认的规则,为五要素:source IP, source port, destination IP, destination port, protocol type

      2.重新设置Azure Load Balancer规则为sourceIP

      然后我们执行以下的代码:

    Set-AzureLoadBalancedEndpoint -ServiceName 'LeiZhangVM' -LBSetName 'LB_80' -Protocol tcp -LocalPort 80 -ProbeProtocolTCP -ProbePort 80 –LoadBalancerDistribution 'sourceIP'

      查看执行结果,如下图:

      

      3.查看更新后的Load Balancer规则

      我们重新执行以下PS代码:

    Get-AzureVM –ServiceName 'LeiZhangVM' –Name 'LeiZhangVMOne' | Get-AzureEndpoint

      查看与图1中的区别,如下图红色部分

      

      可以看到,相比图1,上图中LoadBalancerDistribution属性为sourceIP,这样就完成配置Load Balancer的2要素(Source IP,Destination IP)

      如果要改回默认的负载均衡器规则,请设置LoadBalancerDistribution为none

    Set-AzureLoadBalancedEndpoint -ServiceName 'LeiZhangVM' -LBSetName 'LB_80' -Protocol tcp -LocalPort 80 -ProbeProtocolTCP -ProbePort 80 –LoadBalancerDistribution 'none'

      

      参考资料:http://azure.microsoft.com/blog/2014/10/30/azure-load-balancer-new-distribution-mode/

  • 相关阅读:
    vue 设置请求超时时间处理
    element 表格只展开一行(点击下一行上一行关闭)
    element菜单刷新后定位问题?
    自己觉得不错的滚动条样式
    $.ajax()方法详解
    安卓获取自有证书的SHA1码
    sortable.js 拖拽排序及配置项说明
    uni-app 引入本地iconfont的正确姿势以及阿里图标引入
    mui slider禁止滑动
    stl源码剖析 详细学习笔记 仿函数
  • 原文地址:https://www.cnblogs.com/threestone/p/4378472.html
Copyright © 2011-2022 走看看