之前的博文中介绍过Azure的多种IP地址类型,经常会打交道的有云服务IP(VIP)和虚拟机IP(DIP),此外还可以为云服务或者虚拟机设置专属的保留IP和静态IP。除此以外还存在一个“实例级公共IP”的概念,即PIP。
那么这个PIP和静态DIP有什么区别呢?其实这两个地址是可以同时存在的,也就是说PIP不会把虚拟机DIP覆盖掉的,PIP更适合那些不希望使用“IP:端口”这种表达形式的用户,即希望直接通过赋予一个VM或其他角色一个IP地址来直接进行通信,而无须配置“端点”,此外PIP可以作为出站源IP方便管理,对于一个订阅而言可以使用最多5个PIP,需要注意的是如果你的VM启用了多NIC是不支持PIP的。
启用PIP是通过PowerShell方式实现的,在新建虚拟机或修改已存在实例时,调用“set-azurepublicip”,以下图为例我在新建虚拟机的时候定义了一个叫做“PIP01”的实例级IP:
查看当前云服务labservice03是没有PIP地址的,注意使用instancedetails参数,如下图:
对一台已存在的虚拟机只需要调用set-azurepublicip修改后进行update-azurevm即可,如下图:
当上文中的虚拟机创建成功之后,可以在powersehll中验证PIP配置是否生效,如下图已经看到PIP名称为PIP01,PIP地址为139.219.15.128
或直接查看虚拟机角色,get-azurevm中返回的信息也很清晰,如下图:
下面就来验证一下PIP的作用,其实PIP相比DIP最大的便捷性就是它默认是可以在(几乎)任何端口上接受流量,例如下图中我直接尝试用RDP协议连接PIP地址,如下图:
发现很顺利的就登陆到这台AzureVM上了,如下图显示IP是PIP地址:
那么前提是因为Azure的虚拟机模板里默认把远程桌面打开了,因为在创建的时候本身就把3389映射到云服务的VIP上了,如果在GuestOS内没有放行这条防火墙策略,则PIP的远程桌面就无法登陆,但尽管如此这样直接的管理方式也简便了许多:
这里我再测试一下PING,首先启用GuestOS里的ICMP协议,如下图:
##################################################################################
实例级IP是一个特别好用的功能,主要是它的开放性,特别对于一些特殊要求,比如混合云场景要求源IP透传时,当然啦最好要说明的一点是,实例级公共IP(PIP)是需要收费的,具体参见世纪互联或微软global官网信息