我创建了一个子网,在这里我将Cosmos DB作为服务端点连接。除了Cosmos DB的IP防火墙之外,我还想通过NSG规则控制出站。但是,如果我创建一个规则,该规则拒绝所有出站(也通过拒绝所有入站进行测试),那么当通过Mongo客户端连接到数据库时,它似乎必须生效。
这是预期的行为吗?
答案 0 :(得分:1)
是的,从启用了服务端点的VNet访问Cosmos DB时,这是预期的行为。 您的问题有两点:
如今,来自虚拟网络的Azure服务流量使用公共IP地址 作为源IP地址。使用服务端点,服务流量 切换为使用虚拟网络专用地址作为源IP 从虚拟网络访问Azure服务时的地址。 此开关使您无需访问即可访问服务 IP防火墙中使用的保留的公用IP地址。
因此,如果要从VNet访问Cosmos DB,它将使用该VNet中的专用IP地址来访问Azure Cosmos DB服务。如果您要访问Azure以外的Cosmos数据库,则会对Cosmos DB的防火墙IP地址感到困惑。