[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 ...
随机推荐
- KVC/KVO简单实例代码
Person.h #import<Foundation/Foundation.h> @classAccount; @interfacePerson :NSObject{ @private ...
- mysql 备份软件 Xtrabackup 的 xtrabackup_binlog_pos_innodb和xtrabackup_binlog_info 文件区别
今天在操作 innobackupex 的时候,执行 change master to 的时候发现 xtrabackup_binlog_pos_innodb xtrabackup_binlog_i ...
- SWT: 发起事件 post event
有很多学习SWT的同志遇到过一类需求,为某些控件添加了诸如MouseListener.KeyListener之类的监听,然后呢,希望使用代码模拟鼠标.键盘来执行点击.按键等操作. 首先说明一点,这是可 ...
- MapReduce实例浅析
在文章<MapReduce原理与设计思想>中,详细剖析了MapReduce的原理,这篇文章则通过实例重点剖析MapReduce 本文地址:http://www.cnblogs.com/ar ...
- 示例篇-购物车的简单示例和自定义JS
简介: 支持平台: Android4.0,iOS7.0,Windows 10, Windows 10 mobile 说明:主要是演示listview所在的ui和模板cell所在的ui之间数据的交互,点 ...
- 新版markdown功能发布!支持github flavored markdown!
让大家久等了!新版markdown功能一直拖到今天才发布,很是愧疚...但不管怎么样,总算发布了! 今年1月份发布第一版markdown功能之后,很多园友反馈说做得很烂,我们综合大家的反馈之后发现不仅 ...
- [51单片机] 以从0开始做4位8段共阴数码管3461AS驱动谈细节决定高质量DIY
目录 1)问题产生 2)失败尝试 3)最终方案 4)使用方法 5)知识共享 1)问题产生 在上一篇“以PWM控制直流电机为例建一个简单的51工程框架”中已向大家介绍了一个封装好的8位8段数码管的驱动( ...
- Atititi.名字 姓名 name 起名naming spec 的构成结构规范v2 qc2.docx
Atititi.名字 姓名 name 起名naming spec 的构成结构规范v2 qc2.docx 1.1. 职业名 官职等 amir 阿米尔 放前面1 1.2. 本名1 1.3. 父名,祖名,一 ...
- Atitit 基于meta的orm,提升加速数据库相关应用的开发
Atitit 基于meta的orm,提升加速数据库相关应用的开发 1.1. Overview概论1 1.2. Function & Feature功能特性1 1.2.1. meta api2 ...
- PHP 环境塔建
快速搭建环境可用软件 每种语言的第一步都是要先搭建环境 WAMP(windows系统下搭建php开发环境): APPSERVER L(Linux)A(Apache)M(Mysql)P(Php)架构 P ...