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)。截图如下:

在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的区别如下图:

本章我们分为以下几个部分:
一.模拟场景
二.Azure VM如何开启PIP
三.执行Ping命令
四.对Azure VM关闭PIP
五.Azure PIP的限制
接下来开始第一部分内容:
一.模拟场景
以笔者的环境为例,笔者有一台Linux VM,信息如下:

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地址
以笔者环境为例,执行结果如下:

执行完毕后,这台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 VM的操作系统防火墙)

我们还可以对这个Azure VM的PIP执行SSH等操作。
请记住,默认的Azure VM的VIP是无法执行Ping命令的。
我们对Azure VM VIP:42.159.245.162无法执行Ping命令。

当我们使用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查看
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)的更多相关文章
- [New Portal]Windows Azure Virtual Machine (22) 使用Azure PowerShell,设置Virtual Machine Endpoint
<Windows Azure Platform 系列文章目录> 我们可以通过Windows Azure Management Portal,打开Virtual Machine的Endpoi ...
- Azure PIP (Instance Level Public IP)
微软的Azure平台已经支持Instance Level Public IP功能.当有复杂协议的情况下,需要开启多个端口的情况下,可以考虑开启PIP功能. 先介绍几个概念: VIP – virtual ...
- [New Portal]Windows Azure Virtual Machine (16) 使用Azure PowerShell创建Azure Virtual Machine
<Windows Azure Platform 系列文章目录> 注:本章内容和之前的[New Portal]Windows Azure Virtual Machine (12) 在本地制作 ...
- [New Portal]Windows Azure Virtual Machine (19) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(1)
<Windows Azure Platform 系列文章目录> 默认情况下,通过Azure Management Portal创建的Public IP和Private IP都是随机分配的. ...
- [New Portal]Windows Azure Virtual Machine (20) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(2)
<Windows Azure Platform 系列文章目录> 默认情况下,通过Azure Management Portal创建的Public IP和Private IP都是随机分配的. ...
- Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量
<Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Wi ...
- Windows Azure Virtual Machine (30) 修改Azure VM 的Subnet
<Windows Azure Platform 系列文章目录> 我在使用Azure Virtual Machine虚拟机的时候,常常会结合Virtual Network虚拟网络一起使用. ...
- Windows Azure Virtual Machine (34) 保护Azure虚拟机
<Windows Azure Platform 系列文章目录> 请注意:我们在Azure上创建的虚拟机,都是可以通过公网IP地址来访问的.(直接通过虚拟机的IP地址:PIP,或者通过负载均 ...
- Windows Azure Virtual Machine (31) 迁移Azure虚拟机
<Windows Azure Platform 系列文章目录> 为什么要写这篇Blog? 之前遇到过很多客户提问: (1)我之前创建的虚拟机,没有加入虚拟网络.现在需要重新加入虚拟机网络, ...
随机推荐
- label正确显示多行数据
label显示多行文字时会遇到文字中包含换行符“\n”,这时需要对字符进行全部替换, if(labelContent.indexOf('\\n')>0){labelContent=labelCo ...
- mysql客户端导入sql文件命令
mysql -h localhost -u root -p dbname < filename
- PyCharm 3.0 发布,提供免费开源版本
PyCharm 发布最新的 3.0 版本,该版本新特性详见: http://www.jetbrains.com/pycharm/whatsnew/index.html 该版本最主要的是提供了免费开源的 ...
- file /usr/share/mysql/... conflicts with file from package mysql-libs-5.1.73-3.el6_5.x86_ 64 MySQL安装
在CentOS 6.5安装MySQL 5.6.17,安装到最后一个rpm文件MySQL-server时 安装命令是:rpm -ivh MySQL-server-5.6.17-1.el6.x86_64. ...
- Javascript定时器学习笔记
掌握定时器工作原理必知:JavaScript引擎是单线程运行的,浏览器无论在什么时候都只且只有一个线程在运行JavaScript程序. 常言道:setTimeout和setInterval是伪线程. ...
- 004. Asp.Net Routing与MVC 之二: 请求如何激活Controller和Action
上篇讲到 请求到达 MvcRouteHandler ,并且透过 IRouteHandler.GetHttpHandler 获取到了真正的处理程序 MvcHandler 这次我们看看,MvcHandle ...
- 字体大小自适应纯css解决方案
viewpoint css3提供了一些与当前viewpoint相关的元素,vw,vh,vim等. “viewpoint” = window size vw = 1% of viewport width ...
- save与persist差别
唯一差别: 在没提交事务情况下 save会产生insert语句,然后因为没提交事务进行回滚. 而这种情况,persist是连insert语句都不会产生.
- SSH框架详解
1.什么是ssh? SSH对应 struts spring hibernate struts 采用MVC模式,主要是作用于用户交互 spring 采用IOC和AOP~作用比较抽象,是用于项目的松耦合 ...
- Highcharts结合PhantomJS在服务端生成高质量的图表图片
项目背景 最近忙着给部门开发一套交互式的报表系统,来替换原有的静态报表系统. 老系统是基于dotnetCHARTING开发的,dotnetCHARTING的优势是图表类型丰富,接口调用简单,使用时只需 ...