在阿里云上,同一个帐户创建的所有虚拟机(云服务器)之间的内网是直接连通的。而Azure则完全不一样,一开始使用时有点不知所措,后来摸索出来了——在Azure中只有处于同一个虚拟网络(Virtual Network)的同一个子网(subnet)中的虚拟机才能直接通过内网通信,通过这篇博文分享一下。
开始使用Azure时,如果你直奔主题直接创建虚拟机(Virtual Machine),虽然虚拟机有内网IP(INTERNAL IP ADDRESS),但它们之间是隔离的,无法直接进行内网通信。
要想实现虚拟机之间畅通无阻的内网通信,请看下面的操作步骤。
1、你必须要先创建一个虚拟网络(Virtual Network):
如上图,指定虚拟网络的名称,选择(机房)区域(REGION),并指定AFFINITY GROUP NAME(地缘组,同一个地缘组的虚拟机所在的物理机物理距离更近)【详见Windows Azure Affinity Groups(地缘组)的重要性】。
然后设置虚拟网络的内网IP地址范围,并设置一个子网(假设这里子网名称叫FrontEnd),只有在同一个子网中的虚拟机才能直接通过内网通信。
创建好虚拟网络之后,你就会在“NETWORKS”中看到如下图的信息。
2、接下来,在创建虚拟机时一定要选择FROM GALLERY:
然后在下一步的下一步中就会看到VIRTUAL NEWORK SUBNETS中列出了我们之间创建的虚拟网络的子网。
然后继续,完成虚拟机的创建,创建成功之后,你会发现内网IP(INTERNAL IP ADDRESS)就在我们设定的虚拟网络子网IP的范围之内。
再以同样的方式创建另一台虚拟机:
然后在NETWORKS中就会看到这两台机器:
3、最后用远程桌面登录虚拟机测试一下内网是否可以直接通信。
先设置一下虚拟机的Windows防火墙允许ICMP以进行Ping测试:
然后进行ping测试:
搞定!
试用感言
Azure的可定制性的确很高,但入门门槛也很高,一开始使用时很容易晕头转向。建议Azure针对一些常用的场景提供傻瓜式的操作向导。