[New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP
《Windows Azure Platform 系列文章目录》
在开始本章内容之前,请读者熟悉以下2篇博文:
[New Portal]Windows Azure Virtual Machine (8) Virtual Machine高可用(上)
[New Portal]Windows Azure Virtual Machine (9) Virtual Machine高可用与自动负载均衡(下)
按照上文的内容,我们分别创建2台不同的Virtual Machine:
第一台机器名为LeiZhangVMOne
第二台机器名为LeiZhangVMTwo
他们共享同一个CloudService Name: http://leizhangvm.cloudapp.net
当我们通过Azure Management Portal查看2台VM属性的时候,会发现以下内容:
通过上图红色区域我们发现,
-第一台VM和第二台VM的Internal IP ADDRESS不同
-Public Virtual IP (VIP) Address却是一样的
分析:Internal IP Address其实就是VM在Azure数据中心的内部网络地址,它是从DHCP获得的,所以每次关闭这台Azure VM一段时间再开机后,Internal IP就改变了。(如果要固定Internal IP Address,则需要使用Azure Virtual Network,我会在后面给大家介绍)。
为了验证笔者的看法,我们可以通过远程桌面连接,查看其中一台VM的网络属性。

LeiZhangVMOne这台机器的IPv4地址是100.80.76.15。与第一张图的Internal IP Address一致。
另外,如果我们在第一台虚拟机VMOne里设置共享文件夹ShareFolder并设置权限给Everyone。我们可以通过第二台虚拟机VMTwo的远程桌面连接,访问第一台虚拟机的共享文件夹。

请注意:因为VMOne和VMTwo共享同一个Cloud Service,并且在同一个Avaliability Set,所以这两台机器可以互相访问。同一个用户创建的其他Azure VM,如果没有设置同一个Avaliability Set,将无法与之前的VMOne和VMTwo进行网络访问。
第二个问题:什么是Public Virtual IP (VIP) Address呢?这个地址其实是Azure VM的公网IP地址。
但实这个IP地址并不属于某一个Azure VM,而是在Azure Load Balance里。VIP的主要功能是负载均衡(Load Balance),并且VM在被删除后,VIP将被系统回收。所以这个IP是Virtual的。
当在Internet上的其他客户端(比如笔者的笔记本电脑)。通过VIP访问Azure资源的时候,Load Balance会将该请求通过Endpoint,自动路由到Internal IP Address,可能会将请求发送给VMOne或者VMTwo。当VMOne或者VMTwo中有一台机器发生了异常,则Load Balance会将请求发送至正常的VM,以保证高可用。
为了验证笔者的说法,我们使用本地电脑打开CMD,然后运行nslookup命令。以查看http://leizhangvm.cloudapp.net这个DNS对应的IP地址。如下图:

可以看到http://leizhangvm.cloudapp.net这个DNS地址对应的IP地址(137.116.164.27)就是我们在Azure Portal上的Public Virtual IP (VIP) Address。
看到这里,有网友肯定会问:Azure VM为什么要使用Internal IP和Public Virtual IP呢?
当某些场景需要多台VM之间互相通信的,笔者建议使用Internal IP。因为Internal IP安全可靠,用户不需要去考虑安全认证、SSL等问题。而且在采用了Virtual Network(我会在随后几章进行介绍)之后,可以打通公司内网和Azure网络的连接,这样公司内网的机器就可以通过Azure Internal IP访问公有云上的VM了。用户可以充分利用云计算带来的弹性计算,以降低IT投入成本。
Public Virtual IP(VIP)的好处:笔者认为,Public Virtual IP最大的好处是可以做负载均衡(Load Balance)。
关于IP回收:
当用户同时删除了VMOne和VMTwo的时候,Internal IP Address和Public Virtual IP (VIP) Address也将会被Windows Azure收回。如果其他用户创建虚拟机的时候,可能会使用到被回收的Internal IP和VIP。
那如果用户使用SHUT DOWN关闭Azure VM呢?我会在下一章进行介绍。
[New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP的更多相关文章
- Windows Azure Web Site (18) Azure Web App设置MIME
<Windows Azure Platform 系列文章目录> 在笔者之前的文章中,介绍了我们在使用Azure Web App,可以把静态资源保存到Azure Storage中: Wind ...
- [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 (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)
<Windows Azure Platform 系列文章目录> 之前的内容里,我介绍了如何将本地的Server 2012中文版 VHD上传至Windows Azure,并创建基于该Serv ...
- [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 (20) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(2)
<Windows Azure Platform 系列文章目录> 默认情况下,通过Azure Management Portal创建的Public IP和Private IP都是随机分配的. ...
- [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...
随机推荐
- linux-15基础命令之-用户与用户组(useradd,userdel,usermod,passwd,groupadd)
1.useradd 命令用于创建新的用户,格式为:useradd[选项] 用户名 useradd参数 参数 作用 -d 指定用户的家目录(默认/home/username) -D 展示默认值 -e 帐 ...
- WebLogic 8.1 部署问题记录
1.weblogic 8.1 不支持jdk1.4以上的版本,所以,如果在项目中用jdk1.4以上的版本编译之后的class直接部署到weblogic8.1 服务器上会报错,报错信息一般包括如下: Cl ...
- Linux下PHP安装oci8扩展
PHP通常搭配Mysql使用,但有时候也会连接到Oracle数据库.安装PHP的oci8扩张之前,需要先安装Oracle Instant Client( basic 或 basic lite 版就行了 ...
- jqurey 中dialog未定义问题
$(function () { $('#btnIndustry').click(function () { $.dialo ...
- Javascript 中的this 指向的对象,你搞清楚了吗?
Javascript 中的this 总让人感到困惑,你能分清以下三种test1(),test2(),test3() 情况下的输出吗? 注:以下Javascript运行环境中为浏览器 //1 this在 ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)
前段时间看到园子里有朋友开发了QQ高仿版的程序,我也非常有兴趣,以前一直有个做即时聊天程序的梦,趁这段时间工作不是很忙,就开始动手来做这个事情.根据我以往积累下来的项目经验,实现QQ的基本功能,问题应 ...
- merge sort and quick sort 自己去理解吧
<?php $digits=array(,,,,,,,); function quickSort($arr){ $len=count($arr); ){ return $arr; } $midK ...
- JavaScript思维导图—字符串函数
JavaScript思维导图-来自@王子墨http://julying.com/blog/the-features-of-javascript-language-summary-maps/
- 看stackoverflow大牛如何回答何时在ASP.NET中使用异步控制器?
转载自博客园:http://farb.cnblogs.com/ 今天无意中看到stackoverflow上一个很好的问答,个人觉得很有价值,所以翻译过来和大家共享!希望大家能相互交流. 在ASP.NE ...
- write/wall 1
linux:/opt/software/lktest/c # wallhellllllllllllllllllllooooooooooooooooo^[[AasZZZZZZ^Clinux:/opt/s ...