Azure刚刚发布在同一个Cloud Service下支持多个公网IP地址的功能。

这个功能主要是用于:

当相同的端口需要公用相同的LoadBalance时。

比如:

一种使用场景是多组Web服务器被一组安全设备保护,每组服务器有自己独立的IP地址,如下图:

这时需要:

  1. 为CloudService添加多个VIP地址:

    PS C:\Users\hengz> Add-AzureVirtualIP -ServiceName hwmvip -VirtualIPName vip1

    OperationDescription OperationId OperationStatus
    -------------------- ----------- ---------------
    Add-AzureVirtualIP 14a912b8-5f03-4ecd-aecb-f97e679553e1 Succeeded

    PS C:\Users\hengz> Add-AzureVirtualIP -ServiceName hwmvip -VirtualIPName vip2

    OperationDescription OperationId OperationStatus
    -------------------- ----------- ---------------
    Add-AzureVirtualIP f9014c8f-d72d-4bad-ae3d-2ffa28e24ce1 Succeeded

  2. 创建三组不同的SLB和LBS,分别用原有的VIP和新增加的VIP

PS C:\Users\hengz> Get-AzureVM -ServiceName hwmvip -Name hwmvip01 | Add-AzureEndpoint -Name myEndpoint01 -LoadBalancedEndpointSetName myLBSet01 -Protocol tcp -LocalPort 80 -PublicPort 80 -VirtualIPName vip1 -DefaultProbe | Update-AzureVM

OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM 20ec6266-ad18-4dd3-b6c3-35643e32ed16 Succeeded

PS C:\Users\hengz> Get-AzureVM -ServiceName hwmvip -Name hwmvip02 | add-AzureEndpoint -Name myEndpoint00 -LBSetName myLBSet01 -Protocol tcp -LocalPort 80 -PublicPort 80 -DefaultProbe -VirtualIPName vip1 | Update-AzureVM

OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM fd406797-3d41-4b74-b030-40c5674e6364 Succeeded

PS C:\Users\hengz> Get-AzureVM -ServiceName hwmvip -Name hwmvip01 | add-AzureEndpoint -Name myEndpoint02 -LBSetName myLBSet02 -Protocol tcp -PublicPort 80 -LocalPort 81 -DefaultProbe | Update-AzureVM

OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM 57df6a8b-473d-48e3-8b93-44d6e80f5b6e Succeeded

PS C:\Users\hengz> Get-AzureVM -ServiceName hwmvip -Name hwmvip02 | add-AzureEndpoint -Name myEndpoint02 -LBSetName myLBSet02 -Protocol tcp -PublicPort 80 -LocalPort 81 -DefaultProbe | Update-AzureVM

OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM 8f304e3b-0745-430a-ad2d-b112d0883e16 Succeeded

PS C:\Users\hengz> Get-AzureVM -ServiceName hwmvip -Name hwmvip01 | Add-AzureEndpoint -Name myEndpoint03 -LoadBalancedEndpointSetName myLBSet03 -Protocol tcp -LocalPort 82 -PublicPort 80 -VirtualIPName vip2 -DefaultProbe | Update-AzureVM

OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM 57f7bcc3-b09e-482d-85f7-704c552c69f9 Succeeded

PS C:\Users\hengz> Get-AzureVM -ServiceName hwmvip -Name hwmvip02 | Add-AzureEndpoint -Name myEndpoint013 -LoadBalancedEndpointSetName myLBSet03 -Protocol tcp -LocalPort 82 -PublicPort 80 -VirtualIPName vip2 -DefaultProbe | Update-AzureVM

OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM 14bc4198-5ba5-445d-8682-40c779e253ea Succeeded

3. 查看配置情况:

PS C:\Users\hengz> $mvip = Get-AzureDeployment -ServiceName hwmvip
PS C:\Users\hengz> $mvip.VirtualIPs
Address : 42.159.28.150
IsDnsProgrammed : True
Name : hwmvip01ContractContract
ReservedIPName :
ExtensionData :
Address : 42.159.29.129
IsDnsProgrammed :
Name : vip1
ReservedIPName :
ExtensionData :
Address : 42.159.29.4
IsDnsProgrammed :
Name : vip2
ReservedIPName :
ExtensionData :
PS C:\Users\hengz> get-azurevm -ServiceName hwmvip -Name hwmvip01 | Get-AzureEndpoint
LBSetName : myLBSet01
LocalPort : 80
Name : myEndpoint01
Port : 80
Protocol : tcp
Vip : 42.159.29.129
ProbePath :
ProbePort : 80
ProbeProtocol : tcp
ProbeIntervalInSeconds : 15
ProbeTimeoutInSeconds : 31
EnableDirectServerReturn : False
Acl : {}
InternalLoadBalancerName :
IdleTimeoutInMinutes :
LoadBalancerDistribution :
VirtualIPName : vip1
LBSetName : myLBSet02
LocalPort : 81
Name : myEndpoint02
Port : 80
Protocol : tcp
Vip : 42.159.28.150
ProbePath :
ProbePort : 81
ProbeProtocol : tcp
ProbeIntervalInSeconds : 15
ProbeTimeoutInSeconds : 31
EnableDirectServerReturn : False
Acl : {}
InternalLoadBalancerName :
IdleTimeoutInMinutes :
LoadBalancerDistribution :
VirtualIPName : hwmvip01ContractContract
LBSetName : myLBSet03
LocalPort : 82
Name : myEndpoint03
Port : 80
Protocol : tcp
Vip : 42.159.29.4
ProbePath :
ProbePort : 82
ProbeProtocol : tcp
ProbeIntervalInSeconds : 15
ProbeTimeoutInSeconds : 31
EnableDirectServerReturn : False
Acl : {}
InternalLoadBalancerName :
IdleTimeoutInMinutes :
LoadBalancerDistribution :
VirtualIPName : vip2
LBSetName :
LocalPort : 22
Nme : SSH
Port : 22122
Protocol : tcp
Vip : 42.159.28.150
ProbePath :
ProbePort : 0
ProbeProtocol :
ProbeIntervalInSeconds :
ProbeTimeoutInSeconds :
EnableDirectServerReturn : False
Acl : {}
InternalLoadBalancerName :
IdleTimeoutInMinutes :
LoadBalancerDistribution :
VirtualIPName : hwmvip01ContractContract
PS C:\Users\hengz> get-azurevm -ServiceName hwmvip -Name hwmvip02 | Get-AzureEndpoint
LBSetName : myLBSet01
LocalPort : 80
Name : myEndpoint00
Port : 80
Protocol : tcp
Vip :
ProbePath :
ProbePort : 80
ProbeProtocol : tcp
ProbeIntervalInSeconds : 15
ProbeTimeoutInSeconds : 31
EnableDirectServerReturn : False
Acl : {}
InternalLoadBalancerName :
IdleTimeoutInMinutes :
LoadBalancerDistribution :
VirtualIPName : vip1
LBSetName : myLBSet03
LocalPort : 82
Name : myEndpoint013
Port : 80
Protocol : tcp
Vip :
ProbePath :
ProbePort : 82
ProbeProtocol : tcp
ProbeIntervalInSeconds : 15
ProbeTimeoutInSeconds : 31
EnableDirectServerReturn : False
Acl : {}
InternalLoadBalancerName :
IdleTimeoutInMinutes :
LoadBalancerDistribution :
VirtualIPName : vip2
LBSetName : myLBSet02
LocalPort : 81
Name : myEndpoint02
Port : 80
Protocol : tcp
Vip : 42.159.28.150
ProbePath :
ProbePort : 81
ProbeProtocol : tcp
ProbeIntervalInSeconds : 15
ProbeTimeoutInSeconds : 31
EnableDirectServerReturn : False
Acl : {}
InternalLoadBalancerName :
IdleTimeoutInMinutes :
LoadBalancerDistribution :
VirtualIPName : hwmvip01ContractContract
LBSetName :
LocalPort : 22
Name : SSH
Port : 22222
Protocol : tcp
Vip : 42.159.28.150
ProbePath :
ProbePort : 0
ProbeProtocol :
ProbeIntervalInSeconds :
ProbeTimeoutInSeconds :
EnableDirectServerReturn : False
Acl : {}
InternalLoadBalancerName :
IdleTimeoutInMinutes :
LoadBalancerDistribution :
VirtualIPName : hwmvip01ContractContract

可以看到我们预期的配置在两台服务器上实现了。两台服务器各属于3个不同的负载均衡组,三个负载均衡组各对应一个IP地址,对外发布的端口号都是80。

至此配置结束。

Azure一个Cloud Service支持多个公网地址的更多相关文章

  1. 微软Azure平台 cloud service动态申请证书并绑定证书碰到的坑

    我们有一个saas平台 部分在azure的cloud service 使用lets encrypt来申请证书.每一个商家申请域名之后就需要通过Lets encrypt来得到证书并绑定证书. 主要碰到的 ...

  2. 跟我学Windows Azure 四 Cloud Service中的WebRole与WorkRole,及他们之间的通信

    Cloud Service 中WebRole就相当与我们的WebSite,而WorkRole相当与我们在服务器上写了个Windows Service,站在高可用的角度上来讲,Cloud Service ...

  3. Windows Azure Cloud Service (37) 浅谈Cloud Service

    <Windows Azure Platform 系列文章目录> 最近在和一些客户聊天,常常被遇到这样的问题: 1.问题一:我在创建一个新的Windows Azure Virtual Mac ...

  4. Windows Azure Cloud Service (44) 将Cloud Service加入Virtual Network Subnet,并固定Virtual IP Address(VIP)

    <Windows Azure Platform 系列文章目录> 在之前的文章中,笔者已经详细介绍了如何将Virtual Machine加入Virtual Network,并且绑定固定的Pr ...

  5. 在Azure Cloud Service中部署Java Web App(1)

    Microsoft Azure是一个开放的,灵活的云平台,除了对自家的.Net平台有良好的支持外,对于各种开源的软件,语言,工具,框架都有着良好的支持,比如Java,Php,Python等等,你可以使 ...

  6. windows azure Vm、cloud service、web application 如何选择可用的服务

    windows azure 的web应用和虚拟机都经常用.我们经常把我们的网站部署上去.一般选择web应用或者开一个虚拟机.开一个虚拟机就会按照虚拟机的使用时间进行计费. 那么我们选择web部署在哪里 ...

  7. Windows Azure Cloud Service (36) 在Azure Cloud Service配置SSL证书

    <Windows Azure Platform 系列文章目录> 在某些时候,我们需要在Azure PaaS Cloud Service配置HTTPS连接.本章将介绍如何在本地创建证书,然后 ...

  8. Windows Azure Cloud Service (38) 微软IaaS与PaaS比较

    <Windows Azure Platform 系列文章目录> 最近一直想总结Azure IaaS和PaaS的区别与比较,写个博文详细说明一下.建议读者在阅读之前,先熟悉微软PaaS和Ia ...

  9. Windows Azure Cloud Service (40) 使用VS2013的publishSettings文件,发布Cloud Service

    <Windows Azure Platform 系列文章目录> 在之前的文档中,笔者已经介绍了如何使用本地证书上传至云端的方式,将本地的Cloud Service发布至云端. 在本章中,笔 ...

随机推荐

  1. Linux 文件系统IO性能优化

    对于LINUX SA来说,服务器性能是需要我们特别关注的,包括CPU.IO.内存等等系统的优化变得至关重要,这里转载一篇非常不错的关于IO优化的文章,供大家参考和学习: 一.关于页面缓存的信息,可以用 ...

  2. load-on-startup 解释

    <!DOCTYPE web-app PUBLIC  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  &qu ...

  3. 单例模式(Mongo对象的创建)

    单例模式: 饿汉式单例 //饿汉式单例类.在类初始化时,已经自行实例化 public class Singleton1 { //私有的默认构造子 private Singleton1() {} //已 ...

  4. 九度OJ 1003:A+B

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:15078 解决:6299 题目描述: 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开. 现在请计 ...

  5. 【总结】图论小总结【题解】P1330封锁阳关大学

    [题解][总结]P1330 封锁阳光大学 &&图论小总结 这道题其实有一点点难度,不过我能经过思考做出来说明还是没有普及组\(D1T1\)难度的. 考虑一条边的两边要有且仅有一个点被选 ...

  6. python数据分析之:数据加载,存储与文件格式

    前面介绍了numpy和pandas的数据计算功能.但是这些数据都是我们自己手动输入构造的.如果不能将数据自动导入到python中,那么这些计算也没有什么意义.这一章将介绍数据如何加载以及存储. 首先来 ...

  7. eclipse 安装tomcat

  8. Wireshark学习笔记——怎样高速抓取HTTP数据包

    0.前言     在火狐浏览器和谷歌浏览器中能够很方便的调试network(抓取HTTP数据包),可是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了.尽管也可使用H ...

  9. ThreadLocalMap里Entry声明为WeakReference

    Java里,每个线程都有自己的ThreadLocalMap,里边存着自己私有的对象.Map的Entry里,key为ThreadLocal对象,value即为私有对象T.在spring MVC中,常用T ...

  10. css集合--表示有未读消息小红点的解决

    只需要一个<i>标签,放在需要的文本后面即可 ex:<span>待解决问题<i></i><span> i{ display:block; b ...