我已经在 Azure VM 上运行 Web 系统一年或更长时间,没有任何问题,但现在流量增长到我想将功能拆分到两个 VM 并让它们相互通信的地步。
我创建了第二个 VM(从第一个的还原备份),它们位于同一个 VNet 上,本地网络 IP 地址为
10.0.0.4 和 10.0.0.6
所以我的假设是
(a) 这些 VM 应该能够通过任何协议或端口相互通信,因为它们位于同一个 VNet 上,因此相互信任,并且它们共享的 NSG 是仅对外的防火墙
(b) 它们之间的任何流量都保证对 VNet 是私有的,因此不需要加密
这些假设是否有效?
我想在他们之间建立的合作类型是:
1) 一个上的 Web 应用程序可以使用另一个上的 SMTP 服务器
2) SQL Server 在两者上,并且从一个上的数据库复制到另一个上的副本
但我根本无法让他们互相交谈。
例如,当我打开 RDP 到 10.0.0.4 虚拟机然后从 CMD 窗口尝试时没有响应
平 10.0.0.6
我显然在这里遗漏了一些重要的东西。为什么这不起作用?
您是否查看过虚拟机上的防火墙设置?您没有指定操作系统,但我知道例如 Windows 防火墙在默认情况下会阻止几乎所有内容,尤其是 ping,而且我确信 Linux 操作系统开箱即用。
同一台虚拟机之间的流量仍然受到 NSG 的影响,无论是来自应用到子网的流量还是直接来自 VM 的流量。有默认规则允许来自同一个虚拟网络的流量进出,所以如果您没有做任何事情来阻止这些,那么这应该允许流量,但如果您有,您需要确保这允许您想要的流量。
正如 CB_Ron 所提到的,Windows 防火墙仍然有效,因此您需要确保允许任何您需要的东西通过这些防火墙。