部署带Vnet Integration的Web/函数应用遇问题:ARM模板部署后未创建集成
解决ARM模板部署Web/函数应用时VNet集成未创建的问题
核心原因
VNet集成不会随应用部署自动创建,必须在ARM模板中显式配置相关参数,同时满足子网权限、配置要求。
关键配置修正
1. 在模板中添加VNet集成配置
无论Web应用还是函数应用,都需要在properties.siteConfig节点下添加以下配置:
vnetRouteAllEnabled: 设置为true以启用所有流量路由到VNetvirtualNetworkSubnetId: 指定目标子网的资源ID(需提前创建符合要求的子网)
Web应用模板示例片段
{ "type": "Microsoft.Web/sites", "apiVersion": "2023-01-01", "name": "[parameters('webAppName')]", "location": "[parameters('location')]", "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]", "siteConfig": { "vnetRouteAllEnabled": true, "virtualNetworkSubnetId": "[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'), 'subnets', parameters('subnetName'))]" } }, "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]", "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetName'))]" ] }
函数应用模板示例片段(专用计划)
{ "type": "Microsoft.Web/sites", "apiVersion": "2023-01-01", "name": "[parameters('functionAppName')]", "location": "[parameters('location')]", "kind": "functionapp", "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]", "siteConfig": { "vnetRouteAllEnabled": true, "virtualNetworkSubnetId": "[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'), 'subnets', parameters('subnetName'))]" } }, "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]", "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetName'))]" ] }
注意:消耗计划的函数应用仅支持区域VNet集成,需确保子网与应用处于同一区域,且无需配置网关。
2. 确保部署身份具备子网权限
部署模板的身份(用户/服务主体/托管身份)需要对目标子网拥有Microsoft.Network/virtualNetworks/subnets/join/action权限:
- 前往目标子网的“访问控制(IAM)”页面
- 添加角色分配,选择“网络参与者”或自定义包含上述权限的角色
3. 验证子网配置合规性
- 子网不能是网关子网,需为独立的专用子网
- 子网IP地址范围至少包含16个可用IP(VNet集成会预留部分IP用于应用实例)
- 若需访问Azure服务,需为子网启用对应服务的服务端点(如Storage、SQL)
部署后验证
- 部署完成后,进入应用门户的“网络”->“VNet集成”页面查看状态
- 若状态显示失败,前往应用的“活动日志”查看具体错误(常见为权限不足、子网IP耗尽)
内容的提问来源于stack exchange,提问作者Jai Vivaan
相关产品推荐
相关产品推荐

