Azure IaaS云服务对应多个VIP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure IaaS云服务对应多个VIP相关的知识,希望对你有一定的参考价值。

本文将介绍中国区Windows Azure Cloud Service可以启用多个虚拟IP的功能。


Part.1】应用场景:

1)同一个云服务下有多个SSL Website VM,为了能给每个VM分配443端口,需要配置多VIP

2SQL AlwaysOnAnother scenario for the use themultiple VIPs is hosting multiple SQL AlwaysOn availability group listeners onthe same set of Virtual Machines.


技术分享


Part.2】配置方法:仅能通过Azure Powershell配置,参考脚本如下:

#为云服务增加VIP

$Servicename="winhe" #定义云服务名字

$VIPname="Vip-01"  #定义新增的VIP的名字

Add-AzureVirtualIP -VirtualIPName $VIPname -ServiceName$Servicename  #执行增加命令

技术分享

 

#获取一下增加后的VIP状态,发现只有名字Vip-01,并无VIP生成

$deployment= Get-AzureDeployment -ServiceName winhe

$deployment.VirtualIPs  

技术分享

 

#Vip-01添加端口映射:虚拟机win2012mem,内网80--外网80

$Servicename="winhe" #定义云服务名字

$VMname="win2012mem" #定义虚拟机名字

$VM=Get-AzureVM -ServiceName $Servicename -Name $VMname #定义VM变量

$endpointname="vip-01-http" #终结点名字

$Protocol="tcp" #协议类型

$Localport="80" #私有端口

$Publicport="80" #公共端口

$VIPname="Vip-01"  #VIP的名字

Add-AzureEndpoint-VM $VM -Name $endpointname -Protocol $Protocol -LocalPort $Localport-PublicPort $Publicport -VirtualIPName $VIPname | Update-AzureVM

技术分享

 

#再次使用以下命令获取以便VIP状态,可见获取了Vip-01VIP地址

$deployment= Get-AzureDeployment -ServiceName winhe

$deployment.VirtualIPs  

技术分享

 

由于映射已经做好,那么通过139.217.22.239:80就可以访问虚拟机win2012mem的网站了。

技术分享

 

winhe.chinacloudapp.cn对应 139.217.19.59 对应虚拟机win-2012的网站

技术分享

 

这样就实现了一个云服务winhe有一个原装VIP(139.217.19.59),又配置了一个多VIP(139.217.22.239)都可以实现映射到后端的VM

 

【补充命令】:

#获取指定虚拟机的所有端点

$Servicename="winhe" #定义云服务名字

$VMname="win2012mem" #定义虚拟机名字

$VM=Get-AzureVM -ServiceName $Servicename -Name $VMname #定义VM变量

Get-AzureEndpoint-VM $VM

 

#删除某一个VIP对应的端点

$Servicename="winhe" #定义云服务名字

$VMname="win2012mem" #定义虚拟机名字

$VM=Get-AzureVM -ServiceName $Servicename -Name $VMname #定义VM变量

$endpointname="vip-01-http" #即将删除的端点名字,一个云服务下端点名字是唯一的

Remove-AzureEndpoint-VM $VM -Name $endpointname | Update-AzureVM

 

#删除多VIP

$Servicename="winhe" #定义云服务名字

$VIP="Vip-01"  #即将删除的VIP的名字

Remove-AzureVirtualIP-VirtualIPName $VIP -ServiceName $Servicename 

 

Part.3Azure Powershell 配置负载平衡

 

当你配置完多VIP功能后,就无法在管理门户上操作以配置Endpoint了:

技术分享

 

那么如何使用AzurePowershell配置基于端点的负载平衡呢?

 

基于Part.2的实验,我的VMwin-2012win2012mem在云服务winhe下,

默认的VIP win-2012ContractContract139.217.19.59

新增的VIPVip-01139.217.22.239

 

由于要使用两台VM80端口,所以需要删除Vip-01原先设定好的80端口映射,一旦这个唯一的映射移除,139.217.22.239就被释放了,所再次验证负载平衡是需要重新查看IP。我们会在Part.4介绍如何固定这些VIP

 

Vip-01配置基于80端口的负载平衡,后端服务器分别是win-2012win2012mem,参考脚本如下:

 

Get-AzureVM-ServiceName winhe -Name win-2012 `

|Add-AzureEndpoint -Name myEndpoint -LoadBalancedEndpointSetName myLBSet `

    -Protocol tcp -LocalPort 80 -PublicPort 80-VirtualIPName Vip-01  -DefaultProbe `

|Update-AzureVM

 

Get-AzureVM-ServiceName winhe -Name win2012mem `

|Add-AzureEndpoint -Name myEndpoint -LoadBalancedEndpointSetName myLBSet `

    -Protocol tcp -LocalPort 80 -PublicPort 80-VirtualIPName Vip-01  -DefaultProbe `

|Update-AzureVM

技术分享

 

#获取一下增加后的VIP状态,发现只有名字Vip-01变成了139.217.26.194

$deployment= Get-AzureDeployment -ServiceName winhe

$deployment.VirtualIPs  

技术分享

 

Vip-01(139.217.26.194)80端口实现了负载平衡,效果如下:

技术分享

 

技术分享

 

Part.4】固定VIP

 

#固定Vip-01

New-AzureReservedIP-ReservedIPName winherip-vip01 -Location "China North" -ServiceNamewinhe -VirtualIPName Vip-01

 

#固定默认VIP

New-AzureReservedIP-ReservedIPName winherip-win-2012Contract -Location "China North"-ServiceName winhe -VirtualIPName win-2012ContractContract

 

技术分享

 

#也可以使用Get-AzureReservedIP验证是否固定成功

Get-AzureReservedIP| Where-Object Servicename -eq winhe

技术分享


本文出自 “[email protected]” 博客,请务必保留此出处http://winhe.blog.51cto.com/7547741/1742460

以上是关于Azure IaaS云服务对应多个VIP的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Azure系列之九 实现基于Iaas云服务的虚机负载平衡

当有人在 azure 中进行 vip 交换时,如何设置发送电子邮件的警报

云周报 | IDC:IaaS市场阿里云第一腾讯云第二金山云第三;微软将为Azure建风力发电站

硕软分享——Azure架构设计之选择合适的计算服务

云计算

Windows Azure系列公开课 - 第三课:创建虚拟机 (基础篇)