Terraform: Using S3 bucket to host remote state file - BucketRegionError: incorrect region

Terraform: Using S3 bucket to host remote state file - BucketRegionError: incorrect region

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

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

ex: project(Project name ) 文件夹,在这个文件夹中我们有 2 个文件夹(testproject,Jenkins)。 backend.tf testproject 文件夹中的文件

文件夹结构

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

Terraform 文件backend.tf

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

选项 2

删除 .terraform 文件夹并再次尝试 terraform init