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)我之前创建的虚拟机,没有加入虚拟网络.现在需要重新加入虚拟机网络, ...
随机推荐
- jpa更新数据出错
在更新表的一条记录时出错,错误为“java.sql.SQLException: Field 'is_del' doesn't have a default value”,表有一个属性isDel为Boo ...
- MQTT协议简记
MQTT - MQ Telemetry Transport 轻量级的 machine-to-machine 通信协议. publish/subscribe模式. 基于TCP/IP. 支持QoS. ...
- Java设计模式1:设计模式概论
设计模式是什么 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易地被他人理解.保证代码可靠性.毫无 ...
- git抽疯了。。。
今天用git推送提交的时候,莫名其妙的要求输入密码,输就输吧,输入了还都验证不了,继续弹出输入框,难道我的密码记错了,于是我去更改了密码,但还是继续弹出密码输入框. 百思不得姐,于是把重新生成了pub ...
- Task:取消异步计算限制操作 & 捕获任务中的异常
Why:ThreadPool没有内建机制标记当前线程在什么时候完成,也没有机制在操作完成时获得返回值,因而推出了Task,更精确的管理异步线程. How:通过构造方法的参数TaskCreationOp ...
- clearTimeout消除闪动
需求:当鼠标放到父级菜单上面的时候,显示下方的子菜单.鼠标从子菜单或者父级菜单上面移开的时候,子菜单要收起来.最终效果如下: PS:这样需求很常见,最常见的做法是li元素下面再嵌套一个Ul元素来包含子 ...
- 在tomcat下部署工程
xx系统第一期工程完成,今天老大要我去部署系统,从来就没有在tomcat下部署过,一直都是在myeclipse下部署.启动.运行即可,所以这次遇到了几个问题,记录下来. tomcat启动 在安装tom ...
- css position全解析
1.position:static 所有的元素的默认定位都是position:static,这意味着元素没有被定位,而且在文档中出现在它应该在的位置. 2.position:relative 如果设定 ...
- [ACM_几何] Wall
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28417#problem/E 题目大意:依次给n个点围成的一个城堡,在周围建围墙,要求围墙 ...
- Unity3D核心类型一览
Unity3D核心类型一览 本文记录了Unity3D的最基本的核心类型.包括Object.GameObject.Component.Transform.Behaviour.Renderer.Colli ...