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

Azure Function VNet集成失败:API版本不兼容等问题求助

解决Azure Functions VNet集成与P2S网关API版本不兼容问题

问题根源

  • Azure门户(GUI)在处理VNet集成时默认调用2016-09-01版本API,而你的Virtual Network Gateway通过2019-04-01版本配置了AAD认证的VpnClientConfiguration,旧API无法更新这类网关,导致集成状态异常、证书同步失败。
  • 同时,OpenVPN协议下不支持传统CMAK生成,必须使用VPN Profile Package,这也是同步失败的次要原因。

解决方案

1. 用Azure CLI手动配置VNet集成(指定新版API)

门户无法切换API版本,必须通过CLI或PowerShell使用2019-04-01及以上版本API完成配置:

  • 执行以下命令添加VNet集成,替换占位符为你的资源信息:
    az functionapp vnet-integration add \
      --name <你的FunctionApp名称> \
      --resource-group <资源组名称> \
      --vnet <虚拟网络名称> \
      --subnet <用于VNet集成的子网名称> \
      --api-version 2021-03-01
    

    注:2021-03-01是兼容AAD认证网关的稳定API版本,也可使用2019-04-01或更高版本。

2. 手动同步网络配置并处理证书

  • 完成集成添加后,执行同步命令:
    az functionapp vnet-integration sync \
      --name <你的FunctionApp名称> \
      --resource-group <资源组名称>
    
  • 导出支持AAD认证的VPN Profile Package(替代CMAK):
    az network vnet-gateway vpn-client generate \
      --name <虚拟网络网关名称> \
      --resource-group <资源组名称> \
      --authentication-method AAD \
      --output-type zip
    
    解压生成的ZIP包,里面的配置文件可用于客户端P2S连接,同时确保网关的证书配置与Function App集成同步。

3. 验证配置

  • 进入Function App的网络标签页,确认VNet integration状态为On
  • 测试Function能否访问VNet内的目标资源(如虚拟机、数据库)
  • 检查资源组活动日志,确认无UpdateOnResourceNotAllowedWithApiVersion或VpnClientCMakGenerationNotSupportedForVpnClientProtocol错误

注意事项

  • 你的App Service Plan必须是**Premium SKU(EP1/EP2/EP3)**或Elastic Premium,基础/标准SKU不支持VNet集成
  • 用于VNet集成的子网需预留足够IP(建议至少/28掩码),且不能与其他Azure服务共享
  • 确保虚拟网络网关的P2S配置中,仅启用兼容的协议(如OpenVPN),无冲突的认证设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:18:23