NSG是否适用于子网的服务端点

时间:2019-09-11 11:28:53

标签: azure azure-cosmosdb vnet network-security-groups

我创建了一个子网,在这里我将Cosmos DB作为服务端点连接。除了Cosmos DB的IP防火墙之外,我还想通过NSG规则控制出站。但是,如果我创建一个规则,该规则拒绝所有出站(也通过拒绝所有入站进行测试),那么当通过Mongo客户端连接到数据库时,它似乎必须生效。

这是预期的行为吗?

1 个答案:

答案 0 :(得分:1)

是的,从启用了服务端点的VNet访问Cosmos DB时,这是预期的行为。 您的问题有两点:

  • NSG可以与子网或网络接口级别关联。在这种情况下,当NSG与子网关联时,规则将应用于连接到该子网的所有资源。如果子网NSG具有拒绝流量的匹配规则,即使VM \ NIC NSG具有允许流量的匹配规则,也会丢弃数据包。阅读here1here2

enter image description here

  • 在VNet中启用Cosmos DB作为服务端点时,它将通过直接连接将虚拟网络专用地址空间和VNet的身份扩展到Azure服务。从VNet到Azure服务的流量始终保留在 Microsoft Azure主干网络上。
      

    如今,来自虚拟网络的Azure服务流量使用公共IP地址   作为源IP地址。使用服务端点,服务流量   切换为使用虚拟网络专用地址作为源IP   从虚拟网络访问Azure服务时的地址。   此开关使您无需访问即可访问服务   IP防火墙中使用的保留的公用IP地址。

因此,如果要从VNet访问Cosmos DB,它将使用该VNet中的专用IP地址来访问Azure Cosmos DB服务。如果您要访问Azure以外的Cosmos数据库,则会对Cosmos DB的防火墙IP地址感到困惑。