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

Terraform流水线创建Azure SQL Server时超时错误求助

问题:Terraform流水线创建Azure SQL Server超时,本地执行正常

本地执行terraform apply可成功创建Azure SQL Server资源,但通过流水线执行时始终触发超时错误,本地创建仅需不到2分钟,流水线等待30分钟后失败。

错误日志

module.sql.azurerm_mssql_server.sql_server: Still creating... [30m10s elapsed]
2023-06-08T07:59:30.903Z [ERROR] provider.terraform-provider-azurerm_v3.58.0_x5: Response contains error diagnostic: tf_rpc=ApplyResourceChange tf_req_id=741d1c06-f641-256b-eb93-421bb15a7eb5 diagnostic_detail= diagnostic_severity=ERROR diagnostic_summary="waiting for creation/update of Server: (Name \"a250621-ds-sql-server-eu2-dev\" / Resource Group \"eastus2-250621-datasquad\"): Code=\"OperationTimedOut\" Message=\"The operation timed out and automatically rolled back. Please retry the operation.\"" tf_proto_version=5.3 tf_provider_addr=provider @caller=github.com/hashicorp/terraform-plugin-go@v0.14.3/tfprotov5/internal/diag/diagnostics.go:55 @module=sdk.proto tf_resource_type=azurerm_mssql_server timestamp=2023-06-08T07:59:30.903Z
2023-06-08T07:59:30.903Z [ERROR] vertex "module.sql.azurerm_mssql_server.sql_server" error: waiting for creation/update of Server: (Name \"a250621-ds-sql-server-eu2-dev\" / Resource Group \"eastus2-250621-datasquad\"): Code=\"OperationTimedOut\" Message=\"The operation timed out and automatically rolled back. Please retry the operation.\"
╷
│ Error: waiting for creation/update of Server: (Name \"a250621-ds-sql-server-eu2-dev\" / Resource Group \"eastus2-250621-datasquad\"): Code=\"OperationTimedOut\" Message=\"The operation timed out and automatically rolled back. Please retry the operation.\"
│ 
│   with module.sql.azurerm_mssql_server.sql_server,
│   on ../modules/sql/main.tf line 8, in resource \"azurerm_mssql_server\" \"sql_server\":
│    8: resource \"azurerm_mssql_server\" \"sql_server\" {

当前环境

  • Terraform版本:v1.2.2
  • Azure Provider版本:3.58.0(已尝试升级至3.59.0,问题依旧)

排查建议

  • 检查流水线代理网络连通性:流水线代理可能处于受限网络环境,无法稳定访问Azure SQL管理端点。确认代理能正常访问*.database.windows.net及Azure Resource Manager相关服务地址,可通过telnet或curl测试连通性与延迟。
  • 手动设置资源超时时间:在azurerm_mssql_server资源块中延长超时配置,覆盖默认值以适配流水线环境的潜在延迟:
resource "azurerm_mssql_server" "sql_server" {
  # 原有配置项...
  
  timeouts {
    create = "60m"
    update = "60m"
  }
}
  • 验证流水线服务主体权限:确认流水线使用的服务主体拥有创建SQL Server的完整权限,排查是否存在订阅/资源组层面的策略限制或速率限制(本地身份无此限制)。
  • 排查Azure区域负载:目标区域(eastus2)可能存在临时资源过载,尝试切换至同区域的不同可用区,或临时更换其他区域测试是否复现问题。
  • 启用Terraform调试日志:在流水线中设置环境变量TF_LOG=DEBUG,获取详细的请求/响应日志,定位是Azure服务端超时还是客户端与服务端的通信中断。

内容的提问来源于stack exchange,提问作者TinaZhang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:32:02