Azure App Service能否借助已搭建的Site-to-Site VPN连接本地数据库?
可以通过Site-to-Site VPN实现Azure App Service访问本地数据库
答案是肯定的,但需要给你的Azure App Service配置虚拟网络(VNet)集成——因为默认App Service运行在Azure多租户公共网络中,无法直接接入已搭建的Site-to-Site VPN隧道。具体步骤如下:
- 先确认Site-to-Site VPN链路正常连通:用Azure VNet内的虚拟机测试访问本地数据库,确保双向网络可达。
- 为App Service开启VNet集成:
- 进入目标App Service后台,找到「网络」选项卡,选择「虚拟网络集成」。
- 选择已和本地建立S2S VPN的Azure VNet(若VNet与App Service不在同一区域,需选择「网关集成」模式)。
- 分配专属子网给VNet集成(该子网不能被其他Azure资源占用,建议提前预留/创建)。
- 验证路由配置:Site-to-Site VPN网关会自动传播本地网段路由到VNet;若VNet使用自定义路由表,需确保包含本地数据库网段的路由条目,指向VPN网关。
- 本地侧放行:在本地防火墙、路由器上配置规则,允许Azure VNet(及App Service集成的子网)IP段访问本地数据库的服务端口(如SQL Server的1433、MySQL的3306)。
- 测试连接:在App Service代码中直接使用本地数据库的私有IP或内部域名(若Azure VNet可解析本地DNS)进行连接,无需通过公网地址。
注意事项
- App Service定价层需为Basic及以上,Free/Shared层不支持VNet集成功能。
- 若使用网关集成模式,需确保VNet网关为VPN网关或ExpressRoute网关,且已完成Site-to-Site配置。
- 代码中避免使用本地数据库的公网IP,必须走VNet集成的私有网络路径,才能利用Site-to-Site VPN隧道。
内容的提问来源于stack exchange,提问作者Airo
相关产品推荐
相关产品推荐

