使用Terraform为Azure App Service Plan配置自动扩缩容时报409错误
错误原因与解决方案
返回的409状态码为Azure服务端返回的资源冲突错误,可按照以下顺序排查:
- 排查1:确认App Service Plan定价层支持自动扩缩容
自动扩缩容功能仅适用于标准层(S1/S2/S3)、高级层(P1V2/P2V2等)、独立层的App Service Plan,免费层(F1)、共享层(D1)、基础层(B1/B2/B3)均不支持自动扩缩容。检查你的azurerm_app_service_plan.mldockers_plan资源的sku_tier参数,不符合要求的话先调整定价层。 - 排查2:修正扩缩容规则的维度配置
你当前配置的扩容规则添加了AppName维度筛选,但缩容规则没有对应配置相同的维度,两边规则不匹配导致服务端校验失败。要么给缩容规则也加上完全相同的dimensions块,要么直接删除所有dimensions配置(CpuPercentage是App Service Plan级别的全局指标,无需额外指定应用维度即可对整个计划的资源使用率生效)。 - 排查3:检查目标资源是否已绑定自动扩缩容配置
同一个App Service Plan仅能关联一个自动扩缩容配置,登录Azure门户进入对应App Service Plan的「缩放(横向扩充)」页面,确认是否已存在手动创建的自动扩缩容规则,如果存在可手动删除后重新执行Terraform部署,或者执行terraform import azurerm_monitor_autoscale_setting.example <现有自动扩缩容资源ID>将现有配置纳入Terraform管理。 - 排查4:升级AzureRM Provider版本
低于3.0版本的azurerm provider存在多个已知的自动扩缩容配置创建bug,将provider升级到最新稳定版后重试即可解决。
如果需要获取更详细的错误信息,可将Terraform生成的配置参数填入Azure CLI命令手动创建,会返回明确的服务端错误提示。
内容的提问来源于stack exchange,提问作者Manzoor Shaikh
相关产品推荐
相关产品推荐

