terraform resource_error ai_generated true

Error: Failed to load state: S3 bucket "my-terraform-state" does not exist

ID: terraform/s3-backend-bucket-not-found

Also available as: JSON · Markdown · 中文
90%Fix Rate
87%Confidence
1Evidence
2024-03-10First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
Terraform v1.5.0 active
Terraform v1.6.0 active
Terraform v1.7.0 active

Root Cause

The S3 bucket specified in the backend configuration for state storage has not been created or has been deleted.

generic

中文

后端配置中指定的用于状态存储的S3存储桶尚未创建或已被删除。

Official Documentation

https://developer.hashicorp.com/terraform/language/settings/backends/s3

Workarounds

  1. 95% success Create the S3 bucket manually with the correct name and region: `aws s3api create-bucket --bucket my-terraform-state --region us-east-1 --create-bucket-configuration LocationConstraint=us-east-1`
    Create the S3 bucket manually with the correct name and region: `aws s3api create-bucket --bucket my-terraform-state --region us-east-1 --create-bucket-configuration LocationConstraint=us-east-1`
  2. 90% success Update the backend configuration to point to an existing bucket, then run 'terraform init -reconfigure'
    Update the backend configuration to point to an existing bucket, then run 'terraform init -reconfigure'

中文步骤

  1. Create the S3 bucket manually with the correct name and region: `aws s3api create-bucket --bucket my-terraform-state --region us-east-1 --create-bucket-configuration LocationConstraint=us-east-1`
  2. Update the backend configuration to point to an existing bucket, then run 'terraform init -reconfigure'

Dead Ends

Common approaches that don't work:

  1. Run 'terraform init' with -migrate-state flag 95% fail

    The bucket still doesn't exist; migrate requires an existing bucket.

  2. Change the bucket name in the backend block to a random new name 80% fail

    The new bucket also doesn't exist unless created manually.

  3. Use local backend by removing the backend block 70% fail

    This changes the state location and may lose remote state history.