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

同服务计划两个Azure Web应用VNET网络配置报错咨询

Azure Web应用关联VNET子网触发App Service Plan VNET配额超限报错解决方案

问题场景

  • 环境配置:
    • 2个Web应用webapps1、webapps4部署在同一个应用服务计划SP1下,计划规格为P1v2: 1
    • 配套虚拟网络VNET1,其下2个子网均已配置Microsoft.Web/serverFarms委托
  • 操作目标:将webapps1关联至VNET1的sub01子网,webapps4关联至VNET1的sub02子网
  • 执行的PowerShell配置脚本:
# 为webapps1配置子网关联
$properties = @{
    subnetResourceId = "/subscriptions/XXX/resourceGroups/RG1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/sub01"
}

$vNetParams = @{
    ResourceName      = "mywebapps1/VirtualNetwork"
    Location          = "West Europe"
    ResourceGroupName = "RG1"
    ResourceType      = "Microsoft.Web/sites/networkConfig"
    PropertyObject    = $properties
}

$result = New-AzResource @vNetParams -Force

# 为webapps4配置子网关联
$properties = @{
    subnetResourceId = "/subscriptions/XXX/resourceGroups/RG1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/sub02"
}

$vNetParams = @{
    ResourceName      = "mywebapps4/VirtualNetwork"
    Location          = "West Europe"
    ResourceGroupName = "RG1"
    ResourceType      = "Microsoft.Web/sites/networkConfig"
    PropertyObject    = $properties
}

$result = New-AzResource @vNetParams -Force
  • 执行结果:第一条命令执行成功,第二条命令抛出如下错误:

New-AzResource : {"Code":"Conflict","Message":"Adding this VNET would exceed the App Service Plan VNET limit of 1


问题解答

1. 报错具体含义

该报错由旧版经典VNET集成的架构限制触发:

  • 你当前调用的Microsoft.Web/sites/networkConfig资源接口对应Azure App Service的旧版经典VNET集成模式,该模式下VNET关联规则绑定在App Service计划(ASP)层面而非单Web应用层面,对应配额规则为:每个ASP最多只能关联1个VNET连接,与子网是否属于同一个VNET无关。
  • 你已经为同属SP1计划的webapps1配置了VNET关联,再给同计划下的webapps4配置VNET关联时,系统判定会超出单ASP 1个VNET连接的配额,因此抛出Conflict错误。
  • 该报错并非P1v2 SKU规格不足导致,而是旧版接口本身的架构限制,不支持同ASP下多应用关联多子网的场景。

2. 正确配置方法

可根据业务需求选择以下两种可行方案:

  • 方案一:切换为新版区域VNET集成(最优,无额外成本)
    新版区域VNET集成是Azure官方推荐的标准集成方案,VNET规则绑定在单应用层面,同ASP下的应用可共享集成基础设施,分别接入同VNET下的不同子网,不会触发配额超限,操作步骤如下:

    1. 先删除当前已经给webapps1配置的旧版VNET关联,清除SP1计划上残留的经典VNET集成配置
    2. 弃用旧版Microsoft.Web/sites/networkConfig资源接口,改用新版VNET集成对应的官方命令配置。PowerShell配置示例:
    # 为webapps1关联sub01子网
    $sub01Id = "/subscriptions/XXX/resourceGroups/RG1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/sub01"
    Set-AzWebApp -ResourceGroupName "RG1" -Name "mywebapps1" -VNetIntegrationSubnetId $sub01Id
    
    # 为webapps4关联sub02子网
    $sub02Id = "/subscriptions/XXX/resourceGroups/RG1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/sub02"
    Set-AzWebApp -ResourceGroupName "RG1" -Name "mywebapps4" -VNetIntegrationSubnetId $sub02Id
    

    也可使用Azure CLI完成配置:

    # 配置webapps1
    az webapp vnet-integration add --name mywebapps1 --resource-group RG1 --vnet vnet1 --subnet sub01
    # 配置webapps4
    az webapp vnet-integration add --name mywebapps4 --resource-group RG1 --vnet vnet1 --subnet sub02
    
    1. 前置校验:确保两个子网均已完成Microsoft.Web/serverFarms委托,同时子网未配置强制网络策略阻断Web应用的出站集成流量,否则配置会失败。
  • 方案二:拆分App Service计划
    若因业务兼容需求必须使用旧版经典VNET集成模式,需要为webapps4单独创建一个独立的同规格App Service计划,两个应用部署在不同的ASP下,即可各自独立配置VNET子网关联,不会触发配额限制。该方案需要额外支付新App Service计划实例的运行成本。


内容的提问来源于stack exchange,提问作者Frédéric De Lène Mirouze

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:48:22