【发布时间】:2020-01-13 05:39:38
【问题描述】:
我创建了一个子网,并在其中连接了一个 Cosmos DB 作为服务端点。除了 Cosmos DB 的 IP 防火墙之外,我还想通过 NSG 规则控制出站。但是,如果我创建一个拒绝所有出站的规则(也使用拒绝所有入站进行测试),它似乎必须在通过 Mongo 客户端连接到数据库时生效。
这是预期的行为吗?
【问题讨论】:
标签: azure azure-cosmosdb vnet network-security-groups
我创建了一个子网,并在其中连接了一个 Cosmos DB 作为服务端点。除了 Cosmos DB 的 IP 防火墙之外,我还想通过 NSG 规则控制出站。但是,如果我创建一个拒绝所有出站的规则(也使用拒绝所有入站进行测试),它似乎必须在通过 Mongo 客户端连接到数据库时生效。
这是预期的行为吗?
【问题讨论】:
标签: azure azure-cosmosdb vnet network-security-groups
是的,这是从启用服务终结点的 VNet 访问 Cosmos DB 时的预期行为。 您的问题有两点:
今天,来自虚拟网络的 Azure 服务流量使用公共 IP 地址 作为源 IP 地址。使用服务端点,服务流量 切换到使用虚拟网络专用地址作为源 IP 从虚拟网络访问 Azure 服务时的地址。 此开关允许您访问服务,而无需 IP 防火墙中使用的保留公共 IP 地址。
因此,如果您从 VNet 访问 Cosmos DB,它将使用该 VNet 中的专用 IP 地址来访问 Azure Cosmos DB 服务。如果您在 Azure 之外访问 Cosmos DB,您将受到 Cosmos DB 的防火墙 IP 地址的限制。
【讨论】: