【问题标题】:Entity with the specified id does not exist in the system系统中不存在具有指定 id 的实体
【发布时间】:2018-11-27 18:45:09
【问题描述】:

我正在尝试从集成到 vnet subnet = "default" 的应用服务访问 cosmos db。该子网为 Cosmos db 启用了服务端点,并且在 cosmos db 门户中添加了 vnet+subnet 的配置。

我收到此错误 - 当我的应用通过 NodeJS SDK 向 cosmos db 帐户发送查询时,系统中不存在具有指定 ID 的实体

与 vnet 关联的虚拟网络网关有

Address pool = 172.16.0.0/24, Tunnel type = SSL VPN(SSTP) [disabled IKEv2 VPN]

SKU = VpnGw1

我希望与 vnet 集成的应用服务访问为 vnet、子网启用服务端点的 cosmos db

【问题讨论】:

  • 除了您的环境之外,您可能还想添加查询和 cosmos DB 架构,这可能是罪魁祸首。
  • 如果我允许“防火墙和虚拟网络”设置下的所有网络访问,则相同的查询有效
  • question 类似,但我想要一个解决方案,只允许从 vnet 访问
  • 如果回复有意义,您可以在“回答”下打勾,或者如果您需要更多帮助,请告诉我。
  • 是的,非常感谢@NancyXiong

标签: azure-cosmosdb azure-virtual-network


【解决方案1】:

Azure 应用服务中的应用托管在多租户系统中,因此无法直接在 VNet 中预配应用。此外,VNet 集成功能始终用于安全访问虚拟网络中的资源。这并不意味着 Web 应用位于该 VNet 中,并且您无法通过 VNet 终结点部分限制 Web 应用对 cosmos DB 的访问。

如果您只想允许来自 VNet 的访问,您可以使用App Service Environments 创建一个 Web 应用服务。 Web 应用程序将部署到 VNet 中,您可以对入站和出站应用程序网络流量进行细粒度控制。然后,您可以将 VNet 添加到 cosmos DB 防火墙。

【讨论】:

    猜你喜欢
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2014-04-03
    • 2021-11-08
    相关资源
    最近更新 更多