Azure VM虚拟网络相互通信

Joh*_*ohn 13 azure azure-virtual-machine azure-virtual-network

我是Azure的新手(罢工1)并且完全沉迷于网络(罢工2).

不过,我已经在同一个虚拟网络中启动并运行了两个虚拟机; 一个将充当Web服务器,另一个将充当SQL数据库服务器.

虽然我可以看到他们的内部IP地址都在同一个网络中,但我无法验证这些机器是否可以相互通信,并且对于解决此问题的适当位置感到困惑.

微软自己的文档说

您在Windows Azure中创建的所有虚拟机都可以使用专用网络通道与同一云服务或虚拟网络中的其他虚拟机进行自动通信.但是,您需要将一个端点添加到计算机上,以便Internet或其他虚拟网络上的其他资源与之通信.您可以将特定端口和协议关联到端点.资源可以使用TCP或UDP协议连接到端点.TCP协议包括HTTP和HTTPS通信.

那么为什么机器至少不能通过内部IP相互ping?是Windows防火墙妨碍了吗?我开始怀疑我是否为简单的Web服务器/数据库服务器设置选择了错误的方法.请原谅我的无知.任何帮助将不胜感激.

ast*_*kov 13

如果两台计算机都在同一个虚拟网络中,那么只需关闭Windows防火墙,他们就可以相互ping通.其他方法是仅允许具有高级设置的Windows防火墙中的所有传入ICMP流量.

但是有一个技巧.两台机器都将通过IP地址相互看到,但在如此定义的虚拟网络中将没有名称解析.这意味着您将无法通过名称ping,而只能通过直接IP地址ping.因此,如果希望您的网站(在VM1上)连接到SQL Server(在VM2上),您必须通过完整的IP地址而不是机器名称来解决它.

在虚拟网络中进行名称解析的唯一方法是使用专用DNS服务器,您可以在本地维护和配置该服务器.

本文详细介绍了Windows Azure中的名称解析方案.你的具体情况如下:

位于同一虚拟网络中的虚拟机和角色实例之间的名称解析,但不同的云服务

如果您将VM设置为相同的云服务,则可以实现名称解析.因此,您甚至不需要专用的虚拟网络.

  • 我只是将我的主机名/ IP地址放在HOSTS文件中,它会自动解析它们. (2认同)
  • 是的,"很棒",当您的VM因计划的维护而重新启动并丢失其IP地址时会发生什么? (2认同)