存储桶已在 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