You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Azure AI Search连接带专用终结点的私有Cosmos for MongoDB?

解决Azure AI Search与私有Cosmos for MongoDB的连接问题

问题原因

当你在Azure门户操作Azure AI Search添加数据源时,请求实际来自Azure管理平面的公网IP,而非AI Search的专用终结点。由于你的CosmosDB已禁用公网访问,仅允许专用终结点流量,因此该公网请求被防火墙拦截,触发403错误。

临时测试解决方案(快速验证流程)

  • 登录CosmosDB门户,进入「防火墙和虚拟网络」设置
  • 在「允许访问的IP地址」区域,添加错误提示中显示的公网IP(即发起请求的Azure管理平面IP)
  • 完成Azure AI Search数据源配置后,立即移除该IP,恢复CosmosDB的私有访问限制

长期生产级解决方案

1. 配置Azure AI Search为纯私有访问

  • 进入Azure AI Search的「网络」设置,将「公网访问」设置为「禁用」,仅允许通过专用终结点访问
  • 确保AI Search的专用终结点与CosmosDB的专用终结点处于同一个虚拟网络和子网(或已配置VNet对等互联)

2. 确保网络连通性

  • 检查虚拟网络的路由表,允许AI Search子网与CosmosDB子网之间的流量
  • 确认网络安全组(NSG)未阻止两者之间的通信端口:Cosmos for MongoDB默认使用27017端口,需确保该端口的入站/出站规则允许

3. 使用API或Terraform配置数据源

由于Azure门户操作依赖公网管理平面,建议直接通过以下方式配置:

  • Azure AI Search REST API:在虚拟网络内的机器上调用API,使用CosmosDB的私有DNS名称或私有IP地址作为连接目标
  • Terraform自动化:在Terraform配置中:
    • 禁用AI Search的公网访问:public_network_access_enabled = false
    • 配置AI Search的专用终结点:使用azurerm_private_endpoint资源关联到AI Search服务
    • 配置CosmosDB的专用终结点:public_network_access = "Disabled"
    • 定义数据源时,使用CosmosDB的私有连接字符串(或通过专用终结点的DNS名称构建连接字符串)

内容的提问来源于stack exchange,提问作者ban_ana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 15:27:48