我有一个node.js应用程序部署到Azure应用程序服务,它使用CosmosDB来存储应用程序数据。一切正常。
但是,我想在网络级别锁定对 CosmosDB 实例的访问,以更好地保护数据。
按照文档,我设置了一个虚拟网络,将应用程序服务应用程序添加到其中,为 CosmosDB 设置一个服务端点,并限制对数据库实例的访问以仅允许虚拟网络。
我已重做多次,等待所有内容更新(12-24 小时),但无济于事。当我实现上述设置后,当应用程序尝试调用数据库时,我一直收到连接错误。
有人有任何见解吗?我非常沮丧,正在考虑迁移到 AWS,但我的客户出于多种不同的原因热衷于使用 Azure。
最佳答案
根据我的研究,如果你想允许你的应用程序服务访问Vnet内的cosmos db。我们需要通过区域 VNet 集成将 Vnet 与应用服务集成。之后,我们可以跨服务端点访问cosmos DB。但它无法让我们通过全局对等连接访问资源。这意味着应用程序服务和cosmos db应该位于同一区域。更多详情请引用docuemnt
另外,如果您想跨地域访问资源,我建议您使用App服务环境。关于该问题,请引用article
关于azure - 从应用服务安全访问 CosmosDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59910776/