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

Azure App Service与Cosmos DB同VNET跨子网连接失败解决方案咨询

解决方案:通过VNET实现App Service与Cosmos DB/Blob Storage的私有连接

问题根源

即使在同一个VNET里,Azure Cosmos DB和Blob Storage的VNET防火墙默认采用白名单机制——只有被显式添加的子网才能访问,哪怕是同VNET内的其他子网也不行。你把App Service集成到subnet_2,但没在Cosmos/Blob的VNET规则里放行这个子网,所以连接被阻断了。

针对Cosmos DB的配置步骤

  1. 打开你的Cosmos DB资源页面,进入「网络」选项卡
  2. 切换到「虚拟网络」标签,确保选中的是「允许从选定的虚拟网络和IP地址访问」
  3. 点击「添加现有虚拟网络」,选择你的目标VNET,然后选中App Service所在的subnet_2,确认添加
  4. 保存配置,等待2-3分钟让规则生效

提示:哪怕你已经把Cosmos DB集成到subnet_1,也要单独添加subnet_2,因为每个子网都需要被显式授权。

针对Blob Storage的配置步骤

  1. 打开目标存储账户的资源页面,进入「网络」选项卡
  2. 在「防火墙和虚拟网络」标签下,选择「选定的网络」
  3. 在「虚拟网络」区域点击「添加现有虚拟网络」,选择你的VNET和App Service所在的subnet_2
  4. 如果需要让Azure内部的一些服务(比如备份工具)访问存储账户,可以勾选「允许受信任的Microsoft服务访问此存储账户」
  5. 保存配置

额外检查项

  • 确认App Service用的是区域VNET集成(不是网关集成):区域集成是同区域VNET资源访问的首选,网关集成仅适合跨区域或特定场景
  • 检查子网NSG规则:确保subnet_2的出站规则没有拦截到Cosmos/Blob私有IP的流量,同时对应的目标子网(比如subnet_1)的入站规则允许subnet_2的流量
  • 验证私有连接:在App Service的控制台里运行nslookup <你的cosmos账户名>.documents.azure.com,如果解析到的是VNET内部的私有IP,说明配置生效了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 23:32:43