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

Terraform AWS Provider配置报错:无法获取共享配置文件terragrunt(未用Terragrunt)

问题解决:Terraform执行plan时提示找不到terragrunt共享配置文件(未使用Terragrunt)

问题场景

使用纯Terraform,main.tf配置如下:

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.16"
    }
  }

  required_version = ">= 1.2.0"
}

provider "aws" {
  region = "us-west-2"
}

执行terraform plan时出现错误:

Error: configuring Terraform AWS Provider: failed to get shared config profile, terragrunt
 
   with provider["registry.terraform.io/hashicorp/aws"],
   on provider.tf line 2, in provider "aws":
    2: provider "aws" {

原因分析

虽然没使用Terragrunt,但AWS Provider读取的配置被指向了名为terragrunt的profile,可能的触发点:

  • 环境变量AWS_PROFILE被设置为terragrunt
  • AWS本地配置文件(~/.aws/config或~/.aws/credentials)中存在terragrunt相关的profile配置,或默认profile被错误指向
  • 系统残留了Terragrunt相关的环境变量,干扰了AWS Provider的配置读取

解决步骤

1. 检查并清理环境变量

  • 查看当前AWS_PROFILE值:
    echo $AWS_PROFILE
    
    如果输出是terragrunt,取消该环境变量:
    unset AWS_PROFILE
    
  • 检查是否有TERRAGRUNT_*前缀的环境变量,有则同样用unset命令清除

2. 检查AWS本地配置文件

  • 打开~/.aws/config(Linux/macOS)或C:\Users\<用户名>\.aws\config(Windows),确认:
    • 不存在[profile terragrunt]的配置块(不需要的话直接删除)
    • 默认的[default]配置块指向的是你实际使用的AWS账号信息
  • 同步检查~/.aws/credentials(或对应Windows路径),确保没有错误关联terragrunt的密钥配置

3. 显式指定AWS Profile(可选)

在Terraform的provider块中直接指定要使用的AWS profile,强制跳过默认读取逻辑:

provider "aws" {
  region  = "us-west-2"
  profile = "default" # 替换成你实际的profile名称
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 08:12:19