Terraform:使用 S3 存储桶托管远程状态文件 - 存储桶区域错误:区域不正确



存储桶已在 AWS 中的正确区域中创建。使用以下提供程序设置

provider "aws" {
access_key = "CORRECTACCESSKEYISINHERE"
secret_key = "CORRECTSECRETKEYISINHERE"
region ="eu-west-2"
alias = "regional"
}

以下是 S3 后端设置

terraform {
backend "s3" {
region = "eu-west-2"
bucket = "red-dwarf-terraform-eu-west-2"
key    = "terraform-state/red-dwarf/dev/main/terraform.tfstate"
access_key = "CORRECTACCESSKEYISINHERE"
secret_key = "CORRECTSECRETKEYISINHERE"
}
}

不断收到以下错误

Error refreshing state: BucketRegionError: incorrect region, the bucket is not in 'eu-west-2' region at endpoint ''
status code: 301, request id: , host id: 

已尝试删除现有的 .terraform 文件夹,部署到完整的环境。什么都没用。

任何帮助将不胜感激

provider "aws" {
region = "desired-region"
alias = "regional"
}
terraform {
backend "s3" {
region = aws.regional
bucket = "red-dwarf-terraform-eu-west-2"
key    = "terraform-state/red-dwarf/dev/main/terraform.tfstate"
access_key = "CORRECTACCESSKEYISINHERE"
secret_key = "CORRECTSECRETKEYISINHERE"
}
}

问题看起来像这一行

key    = "terraform-state/red-dwarf/dev/main/terraform.tfstate"

试试这个

terraform {
backend "s3" {
region = "eu-west-2"
bucket = "red-dwarf-terraform-eu-west-2"
key    = "(filename)/terraform.tfstate"
}
}

在我的环境中,我们像这样使用

例如:project(项目名称(文件夹,在这个文件夹中我们有2个文件夹(testproject,Jenkins(。 测试项目文件夹中backend.tf文件

文件夹结构

project
testproject ---->backend.tf, database.tf, iam.tf, config.tf, .., ...
Jenkins

地形文件 backend.tf

terraform {
backend "s3" {
bucket = "bucketname"
key    = "testproject/terraform.tfstate"
region = "ap-southeast-2"
}
}

选项 2

删除 .terraform 文件夹并重试terraform init

最新更新