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

Azure Web App、Function与SQL DB私有端点通信问题求助

问题分析与解决方案

核心问题

你的API和Function App无法连接SQL DB的根本原因是DNS解析未正确指向私有端点IP:即使所有资源都在同一个子网且配置了私有端点,默认公共DNS仍会将SQL DB的FQDN解析为公网IP,而SQL DB已禁用公网访问,因此连接被拒绝。

解决方案(无需新增子网)

1. 创建并关联Azure私有DNS区域

  • 在Azure门户中创建私有DNS区域:privatelink.database.windows.net(这是Azure SQL DB私有端点对应的标准私有链接域名)
  • 将该私有DNS区域与你的VNet关联,确保VNet内的所有资源(API、Function、SQL DB)都能通过这个区域解析私有端点IP

2. 确认私有端点DNS记录

  • 检查SQL DB的私有端点配置,确保它已自动在上述私有DNS区域中创建了A记录(记录值为SQL DB的私有端点IP)
  • 如果未自动创建,手动添加A记录:主机名填SQL DB的服务器名称(不含.database.windows.net后缀),IP地址填SQL DB私有端点的实际私有IP

3. 验证解析结果

在API Web App的高级工具(Kudu)中执行nslookup <你的SQL服务器FQDN>,此时应该返回SQL DB的私有端点IP,而非公网IP。验证通过后,API和Function App即可正常连接SQL DB。

补充说明

  • 关于VNet集成:如果后续需要用到VNet集成,无需为每个资源单独创建子网。对于Premium SKU的Web App和Function App,使用区域VNet集成时,多个资源可以共享同一个子网(每个资源仅占用少量IP地址,32位子网完全足够容纳5个Function App+1个API)。
  • 私有DNS是私有端点通信的必要配置:Azure私有端点依赖私有DNS区域来实现FQDN到私有IP的解析,仅靠同子网和私有端点配置不足以完成通信。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:33:24