我在 Azure 中创建了一些虚拟机。
我可以看到已为我的虚拟机创建了虚拟网络。这很棒,因为它们需要网络,而且我(当然)希望它们能够相互连接。
我还可以看到已经创建了一个网络安全组,这非常好,因为我可以控制防火墙规则和外部访问。
但是,我不清楚它们之间的区别以及它们为什么都存在?为什么它们是分开的,而不是将网络安全组实现为虚拟网络下的防火墙选项卡(就像 SQL 数据库那样)。我也看不出虚拟网络和网络安全组有什么关系。它们都有相同的 NIC,但似乎彼此之间没有任何联系 - 这是否意味着安全组可能不适用于网络上的某些 NIC?(反之亦然,网络安全组可以拥有来自不同虚拟网络的 NIC 吗?)。
答案1
我认为 NSG 可以作为 vNet 的一部分来实现,但实际上当前的方法提供了更大的灵活性,特别是如果您使用模板进行部署。
vNet 是您的容器,它提供虚拟机之间的通信以及您的环境与外部世界之间的边界。在 vNet 中,您可以创建子网来按您的喜好组织您的网络,并配置路由规则来定义流量的流动方式(如果您不喜欢默认设置)。vNet 还提供连接 VPN 和 Express 路由等功能。
NSG 是您的防火墙,用于确定哪些流量可以通过。需要注意的重要一点是,NSG 可以应用于单个计算机或子网。这种区别意味着您可以将 NSG 应用于子网,它可以控制允许哪些流量进入,既可以来自外部世界,也可以来自您网络上的其他子网。或者,您可以在 VM/NIC 级别定义它,并仅为该 VM 锁定一切。