Terraform: Error configuring provider
Terraformプロバイダーの設定エラーの原因と解決策
概要
Terraformがクラウドプロバイダーへの認証や接続に失敗した際に発生するエラーです。
エラーメッセージ
``` Error: error configuring Terraform AWS Provider: no valid credential sources for Terraform AWS Provider found. ```
原因
- 認証情報の欠落: AWS_ACCESS_KEY_ID等が未設定
- 認証情報の期限切れ: 一時認証情報のexpire
- プロバイダーバージョン不整合: required_providers設定の問題
- リージョン設定の誤り
解決策
1. 認証情報を確認
```bash
環境変数を確認
env | grep AWS
AWS CLIで認証確認
aws sts get-caller-identity
プロファイル指定
export AWS_PROFILE=myprofile ```
2. プロバイダー設定を確認
```hcl terraform { required_providers { aws = { source = “hashicorp/aws” version = “~> 5.0” } } }
provider “aws” { region = “ap-northeast-1”
プロファイル指定(オプション)
profile = “myprofile”
AssumeRole(オプション)
assume_role { role_arn = “arn:aws:iam::123456789012:role/TerraformRole” } } ```
3. プロバイダーを再初期化
```bash
ロックファイルを削除して再初期化
rm -rf .terraform .terraform.lock.hcl terraform init -upgrade ```
4. 複数プロバイダーの設定
```hcl provider “aws” { alias = “tokyo” region = “ap-northeast-1” }
provider “aws” { alias = “virginia” region = “us-east-1” }
resource “aws_s3_bucket” “tokyo_bucket” { provider = aws.tokyo bucket = “my-tokyo-bucket” } ```
よくある間違い
- 環境変数とプロバイダー設定の両方で認証情報を指定
- 古いプロバイダーバージョンを使用
- MFAが必要なプロファイルを直接使用
関連エラー
関連エラー
Terraform の他のエラー
この記事は役に立ちましたか?