定义

PIP是可以直接将其分配给VM的IP地址,而不是VM所在的云服务。

也叫ILPIP=Instance Level Public IP

限制

(1)每个实例可以分配一个PIP。最多可为每个订阅使用 5 个 PIP

(2)Dynamic IP: 当虚拟机关闭或者取消分配时候,PIP会释放

应用

被动 FTP:动态选择端口。 PIP带来VM端口全部暴露在公网,你将不必打开终结点来接收流量。

出站 IP :PIP 作为VM 的出站流量源,它向外部实体唯一标识了VM。

一张图可以看出PIP和VIP的区别:VIP针对云服务的,PIP是针对云服务下VM的。

Azure Powershell可以快速获取PIP,脚本已经做好,修改变量即可轻松搞定PIP。

创建Windows/Linux虚拟机时候,可以直接创建带有PIP的虚拟机

Set PIP when Creating Windows VM

$vmname='InstancePIP2012'  #虚拟机名字

$InstanceSize="Small"   #虚拟机大小

$img='0c5c79005aae478e8883bf950a861ce0__Windows-Server-2012-Essentials-20131018-enus'  #虚拟机镜像版本

$adminuser='win'  #RDP虚拟机的管理员名字

$Password='qwer1234!'  #登录虚拟机的管理员密码

$PublicIPName="WinInstancePIP2012"  #实力级别IP的名字

$cloudname='newvmpip2012' #云服务名字

$CloudLocation='China North‘  #云服务的地理位置

 

New-AzureVMConfig -Name $vmname -InstanceSize $InstanceSize -ImageName $img | Add-AzureProvisioningConfig -Windows -AdminUsername $adminuser -Password $Password | Set-AzurePublicIP -PublicIPName $PublicIPName | New-AzureVM -ServiceName $cloudname -Location $CloudLocation

Set PIP when Creating Linux VM

$vmname='InstancePIP' #虚拟机名字

$InstanceSize="Small"  #虚拟机大小

$img='f1179221e23b4dbb89e39d70e5bc9e72__OpenLogic-CentOS-65-20150325'   #虚拟机镜像版本

$adminuser='win'  #SSH虚拟机的普通用户的名字

$Password='qwer1234!' #SSH虚拟机的普通用户的密码

$PublicIPName="WinInstancePIP"  #实力级别IP的名字

$cloudname='newvmpip' #云服务名字

$CloudLocation='China North'   #云服务的地理位置

 

New-AzureVMConfig -Name $vmname -InstanceSize $InstanceSize -ImageName $img | Add-AzureProvisioningConfig -Linux -LinuxUser $adminuser -Password $Password | Set-AzurePublicIP -PublicIPName $PublicIPName | New-AzureVM -ServiceName $cloudname -Location $CloudLocation 

对于运行中的虚拟机也可以开通PIP功能

Set PIP for Running VM

Get-AzureVM -ServiceName newvmpip2012 -Name InstancePIP2012 | Set-AzurePublicIP -PublicIPName PIPforrunningvm | Update-AzureVM

PIP是收费的,不需要时候可以移除

Remove PIP

 Get-AzureVM -ServiceName newvmpip2012 -Name InstancePIP2012 | Remove-AzurePublicIP | Update-AzureVM

数据中心禁ICMP协议,ping是禁用的,但是PIP可以ping,这可能为某些用户带来不少可以应用的场景。