Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)

  《Windows Azure Platform 系列文章目录》

   

  本文介绍的是国内由世纪互联运维的Azure China

  

  熟悉Azure平台的读者都知道,我们在使用Azure Virtual Machine,会有公用虚拟机IP(VIP)和内部IP(DIP)。截图如下:

  Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)_第1张图片

  

  在Azure平台,关于IP有非常重要的概念

  1.VIP (Virtual IP),这个是Azure负载均衡器(SLB)的IP地址。当2台Azure VM部署在同一个Cloud Service下,这2台Azure VM的VIP是相同的。

  如果我需要固定VIP地址,请使用Azure PowerShell

  我们无法通过ping命令,检测Azure VM的VIP,因为Azure负载均衡器(SLB)是禁用ICMP协议的。

 

  2.DIP (Dynamic IP),这个是Azure VM的内网IP地址。在同一个虚拟机网络(Virtual Network)的不同VM之间,是通过DIP互相通信的。

  这里还要提醒一下,Azure VM的DIP是先到先得,最先创建并开机的Azure VM会自动获得第一个可用的DIP。

  如果我们需要固定DIP地址,请使用Azure PowerShell。

  Azure China (8) 使用Azure PowerShell创建虚拟机,并设置固定Virtual IP Address和Private IP

 

  然而在某些情况下,我们需要获得Azure VM的Internet IP地址(注意不是负载均衡器的IP地址),这时候就需要使用使用Azure实例级别IP,Instance-Level Public IP Address (PIP)。

  当2台Azure VM部署在同一个Cloud Service下并开启了PIP,这2台Azure VM的PIP是不同的。

  当我们使用Azure PIP的时候,所有的请求直接发送到Azure VM,不经过Azure 负载均衡器。因此,Azure PIP不需要配置Endpoint,所有的Endpoint是直接暴露在Internet上的。从安全性角度考虑,我们需要非常仔细的配置Azure VM的防火墙规则。

  在使用了PIP的情况下,我们就可以使用Ping命令来直接监测Azure VM的情况了。

  Azure VIP,DIP, PIP的区别如下图:

  Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)_第2张图片

     

   本章我们分为以下几个部分:

  一.模拟场景

  二.Azure VM如何开启PIP

  三.执行Ping命令

  四.对Azure VM关闭PIP

  五.Azure PIP的限制

 

  接下来开始第一部分内容:

  一.模拟场景

  以笔者的环境为例,笔者有一台Linux VM,信息如下:

  Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)_第3张图片

  VIP为:42.159.245.162

  DIP为:10.0.0.4

  PIP默认是没有的

  

  二.Azure VM如何开启PIP,我们以管理员身份,打开Azure PowerShell,执行以下命令

Add-AzureAccount -Environment AzureChinaCloud
#在弹出的界面输入用户名和密码

#设置当前订阅
Select-AzureSubscription -SubscriptionName '[YourSubscriptionName]' –Current

#设置PIP
Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]" | Set-AzurePublicIP -PublicIPName "[YourPIPName]" | Update-AzureVM

#查看该PIP信息
$instance = Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]" 
$instance.PublicIPAddress   

#上面执行完毕后,就获得了这台Azure VM的PIP地址

  以笔者环境为例,执行结果如下:

  Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)_第4张图片

  执行完毕后,这台Azure VM的信息如下:

  VIP为:42.159.245.162

  DIP为:10.0.0.4

  PIP:42.159.247.197

 

  三.执行Ping命令

  我们可以对这个PIP:42.159.247.197直接执行ping命令。

  Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)_第5张图片

  我们还可以对这个Azure VM的PIP执行SSH等操作。

  

  请记住,默认的Azure VM的VIP是无法执行Ping命令的。

  我们对Azure VM VIP:42.159.245.162无法执行Ping命令。

  Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP)_第6张图片

 

  当我们使用Azure PIP的时候,所有的请求直接发送到Azure VM,不经过Azure 负载均衡器。因此,Azure PIP不需要配置Endpoint,所有的Endpoint是直接暴露在Internet上的。从安全性角度考虑,我们需要非常仔细的配置Azure VM的防火墙规则。

 

  四.关闭Azure PIP

  我们以管理员身份,运行Azure PowerShell,执行以下命令:

Get-AzureVM -ServiceName "[YourDNSName]" -Name "[YourVMName]" | Remove-AzurePublicIP | Update-AzureVM

  这样就删除了Azure VM的PIP。

  

  五.Azure PIP的限制

  (1)Azure PIP无法固定

  (2)每个订阅,默认情况下最多5个PIP地址。如果需要更多的Azure PIP,请联系世纪互联

  (3)Azure PIP无法在管理界面显示,只能通过Azure PowerShell查看

  

 

 

  http://blogs.msdn.com/b/cloud_solution_architect/archive/2014/11/08/vips-dips-and-pips-in-microsoft-azure.aspx

  https://azure.microsoft.com/en-us/blog/instance-level-public-ip-address/

  

你可能感兴趣的:(Windows Azure Virtual Machine (28) 使用Azure实例级别IP,Instance-Level Public IP Address (PIP))