【Azure Developer】Terraform Plan 长时间等待问题排查:Azure China 环境下 AzureRM Provider 自动注册 Resource Provider 导致卡顿
背景
在使用 Terraform 部署 Azure Container Apps Job 时,执行以下命令:
terraform plan -out tfplan
发现命令执行耗时很长,并且终端长时间没有任何输出。Terraform 配置中主要包含以下资源:
- Resource Group
- Azure Container App Environment
- Azure Container App Job
- AzureRM Provider
- AzAPI Provider
问题现象
执行 terraform plan -out tfplan 后,终端没有明显进度输出,看起来像是 Terraform 卡住了。
Terraform 的 plan 命令本身没有进度条。如果 Provider 初始化、Azure API 调用、Azure CLI token 获取、Resource Provider 检查等步骤耗时较长,终端可能会长时间没有新输出。
开启 Terraform 日志查看卡住位置
为了确认 Terraform 到底卡在哪一步,可以开启 Terraform 日志。
PowerShell 中开启日志
$env:TF_LOG="INFO"
terraform plan -out tfplan
实时查看日志
日志中看到如下内容:
2026-08-11T16:27:13.464+0800 [WARN] provider.terraform-provider-azurerm_v4.81.0_x5.exe: [WARN] The required Resource Provider "Microsoft.DevTestLab" wasn't returned from the Azure API
2026-08-11T16:27:13.464+0800 [WARN] provider.terraform-provider-azurerm_v4.81.0_x5.exe: [WARN] The required Resource Provider "Microsoft.DataLakeAnalytics" wasn't returned from the Azure API
2026-08-11T16:27:13.464+0800 [WARN] provider.terraform-provider-azurerm_v4.81.0_x5.exe: [WARN] The required Resource Provider "Microsoft.DataLakeStore" wasn't returned from the Azure API
2026-08-11T16:27:13.464+0800 [WARN] provider.terraform-provider-azurerm_v4.81.0_x5.exe: [WARN] The required Resource Provider "Microsoft.AVS" wasn't returned from the Azure API
2026-08-11T16:27:13.464+0800 [WARN] provider.terraform-provider-azurerm_v4.81.0_x5.exe: [WARN] The required Resource Provider "Microsoft.CustomProviders" wasn't returned from the Azure API
2026-08-11T16:27:13.465+0800 [WARN] provider.terraform-provider-azurerm_v4.81.0_x5.exe: [WARN] The required Resource Provider "Microsoft.Maps" wasn't returned from the Azure API
2026-08-11T16:27:13.465+0800 [WARN] provider.terraform-provider-azurerm_v4.81.0_x5.exe: [WARN] The required Resource Provider "Microsoft.MixedReality" wasn't returned from the Azure API
2026-08-11T16:27:13.465+0800 [WARN] provider.terraform-provider-azurerm_v4.81.0_x5.exe: [WARN] The required Resource Provider "Microsoft.HealthcareApis" wasn't returned from the Azure API
错误截图:

根因分析
AzureRM Provider 在初始化时,默认会检查或尝试注册一批 Azure Resource Provider。
在 Azure Public Cloud 中,这些 Provider 可能存在;但在 Azure China 中,某些 Resource Provider 并不存在或不可用,例如:
Microsoft.DevTestLabMicrosoft.DataLakeAnalyticsMicrosoft.DataLakeStoreMicrosoft.AVSMicrosoft.CustomProvidersMicrosoft.MapsMicrosoft.MixedRealityMicrosoft.HealthcareApis
因此,在 Azure China 环境中,AzureRM Provider 自动检查或注册这些 Provider 时可能出现大量 warning,并导致 terraform plan 阶段耗时很长。
本项目只需要部署 Container Apps Job,实际需要的 Resource Provider 主要是:
Microsoft.AppMicrosoft.OperationalInsights- 可能还包括
Microsoft.ContainerRegistry,如果同时管理 ACR
并不需要 AzureRM Provider 自动扫描和注册一大批无关 Provider。
解决方案:关闭 AzureRM Provider 自动 Resource Provider 注册
在 azurerm provider 中显式添加:
resource_provider_registrations = "none"
完整配置如下:
provider "azurerm" {
environment = "china"
resource_provider_registrations = "none"
features {}
}
这表示 Terraform 不再自动检查和注册大量 Azure Resource Provider,而是只按当前 Terraform 配置实际使用的 Azure API 进行操作。
修复后的 Terraform Provider 配置
当前项目中的 Provider 配置如下:
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 4.0"
}
azapi = {
source = "Azure/azapi"
version = "~> 2.0"
}
}
}
provider "azurerm" {
environment = "china"
resource_provider_registrations = "none"
features {}
}
provider "azapi" {
environment = "china"
}
其中:
environment = "china":告诉 Provider 使用 Azure China endpoint。resource_provider_registrations = "none":禁用 AzureRM Provider 的自动 Resource Provider 注册。features {}:AzureRM Provider 必需配置块。
验证修复
修改 Terraform 配置后,先执行:
terraform validate
如果输出:
Success! The configuration is valid.
说明语法和 Provider 配置有效。
然后重新执行:
terraform plan -out tfplan
如果之前的卡顿是由 AzureRM Provider 自动 Resource Provider 注册引起的,修改后 plan 阶段通常会明显变快。
总结
在 Azure China 环境中,如果 terraform plan 长时间没有输出,需要先打开日志确认是否卡在 AzureRM Provider 的 Resource Provider 检查阶段。
如果确认是无关 Provider 自动注册带来的等待,可以通过 resource_provider_registrations = "none" 关闭自动注册,再手动维护当前项目真正需要的 Resource Provider。
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

浙公网安备 33010602011771号