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

Terraform部署AWS+Databricks遇405错误:无法创建实例配置文件与Secret

问题分析与解决方案

核心问题

databricks_instance_profile 和 databricks_secret 属于Databricks工作区级别API资源,但你的代码中未区分账号级(MWS)和工作区级Provider,导致请求被发送到了账号级API端点。而账号级端点不支持这两个资源的POST操作,因此返回405 Method Not Allowed错误。

修复步骤

1. 配置双Provider区分账号与工作区操作

在Terraform根模块中定义两个Databricks Provider:一个用于账号级(MWS)操作,另一个用于工作区级操作:

# 账号级MWS Provider,用于创建账号资源(如credentials)
provider "databricks" {
  alias = "mws"
  host  = "https://accounts.cloud.databricks.com" # 按实际区域调整,如中国区为accounts.cn.databricks.com
  # 认证方式:可通过AWS IAM角色、环境变量或token认证
}

# 工作区级Provider,依赖Workspace子模块创建的工作区
provider "databricks" {
  alias = "workspace"
  host  = module.workspace.databricks_workspace_url # 需确保Workspace模块输出工作区URL
  # 认证方式:需具备工作区管理员权限,如通过AWS IAM角色或工作区token
}

2. 为资源指定正确的Provider

修改S3_bucket模块中的资源,明确指定对应的Provider:

// Step 11: 账号级资源,使用MWS Provider
resource "databricks_mws_credentials" "s3_dbx_cred" {
  provider         = databricks.mws # 恢复该配置,指定账号级Provider
  account_id       = var.dbx_account_id
  credentials_name = var.prefix != null ? "${var.prefix}-${var.dbx_s3_credential_name}" : "${var.dbx_s3_credential_name}" 
  role_arn         = aws_iam_role.s3_cross_account.arn
}

// Step 13: 工作区级资源,使用工作区Provider
resource "databricks_instance_profile" "dbx_ip" {
  provider = databricks.workspace
  instance_profile_arn = aws_iam_instance_profile.iam_ip.arn
}

// Step 14: 工作区级资源,使用工作区Provider
resource "databricks_secret" "mount_config" {
  provider = databricks.workspace
  key   = "mount-config"
  scope = "AWS"

  string_value = jsonencode({
    "s3" = {
      "region"  = var.aws_region
      "endpoint" = "s3.${var.aws_region}.amazonaws.com"
      "enable_multipart_upload" = true
      "max_retry_count" = 10
      "max_parallel_uploads" = 5
    }
  })
}

3. 补充依赖与权限检查

  • 确保Workspace子模块正确输出databricks_workspace_url,且工作区已完全创建完成(可通过depends_on或模块输出的隐式依赖保证顺序)
  • 工作区级Provider的认证主体需具备Workspace Admin权限,或至少拥有管理实例配置、秘钥的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:17:10