使用AzAPI Terraform Provider创建ASEv3资源遇版本指定问题求助
解决AzAPI Terraform Provider创建ASEv3时的400错误
你的配置未明确指定ASE的SKU为IsolatedV2(对应ASEv3),导致Azure默认尝试创建已废弃的ASEv1,触发订阅不支持的报错。以下是修正方案:
修正后的完整配置
resource "azapi_resource" "ase" { type = "Microsoft.Web/hostingEnvironments@2024-04-01" name = "my-app-service-environment" location = "eastus2" parent_id = data.azurerm_resource_group.example.id schema_validation_enabled = false body = jsonencode({ properties = { internalLoadBalancingMode = "None" virtualNetwork = { id = "/subscriptions/{subscriptionid}/resourceGroups/{resourcegroupid}/providers/Microsoft.Network/virtualNetworks/{vnetname}/subnets/{subnetname}" } # 关键:指定ASEv3对应的SKU sku = { name = "IsolatedV2" capacity = 1 # 初始实例数量,可按需调整 } frontEndScaleFactor = 15 ipsslAddressCount = 2 } }) }
核心修正点说明
- 强制指定ASEv3 SKU:ASEv3对应
IsolatedV2SKU,必须在properties.sku中明确配置,否则Azure会默认启用已淘汰的ASEv1创建流程,而当前订阅已不支持该版本。 - 移除无效参数:ASEv3不再使用
multiSize参数,实例规格由IsolatedV2SKU自动关联(对应Dv3系列虚拟机),因此需要删除原配置中的multiSize字段。 - 子网验证:确保关联的虚拟子网满足ASEv3要求——必须是至少/24的专用子网,且未被其他资源占用。
AzureRM超时问题补充方案
如果使用AzureRM Provider创建ASE时超时,除了切换到AzAPI,还可以尝试:
- 延长Terraform超时配置:在AzureRM的ASE资源块中添加
timeouts { create = "3h" },适配ASE创建的长耗时特性。 - 检查订阅配额:确认订阅中IsolatedV2实例配额充足,避免因配额不足导致创建流程卡顿。
内容的提问来源于stack exchange,提问作者mystack
相关产品推荐
相关产品推荐

