Terraform:导入s3存储桶时出错,存储类区域和提供程序区域存在差异

Terraform:导入s3存储桶时出错,存储类区域和提供程序区域存在差异,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我正在尝试将位于us-east-1地区的存储桶导入位于ap-south-1地区的父模块。我现在不想将bucket迁移到ap-south-1区域,但我希望它的状态在父模块中,父模块具有provider regionap-south-1。我在做这件事的时候犯了错误 命令: terraform import aws_s3_bucket.cdn staging.domain.com terraform import aws_s3_bucket.cdn staging.domain.com

我正在尝试将位于
us-east-1
地区的存储桶导入位于
ap-south-1
地区的父模块。我现在不想将bucket迁移到
ap-south-1
区域,但我希望它的状态在父模块中,父模块具有provider region
ap-south-1
。我在做这件事的时候犯了错误

命令:

terraform import aws_s3_bucket.cdn staging.domain.com
terraform import aws_s3_bucket.cdn staging.domain.com                    [15:02:27]
aws_s3_bucket.cdn: Importing from ID "staging.domain.com"...

Error: aws_s3_bucket.cdn (import id: staging.domain.com): import aws_s3_bucket.cdn (id: staging.domain.com): Error importing AWS S3 bucket policy: BucketRegionError: incorrect region, the bucket is not in 'ap-south-1' region at endpoint ''
    status code: 301, request id: , host id:
错误:

terraform import aws_s3_bucket.cdn staging.domain.com
terraform import aws_s3_bucket.cdn staging.domain.com                    [15:02:27]
aws_s3_bucket.cdn: Importing from ID "staging.domain.com"...

Error: aws_s3_bucket.cdn (import id: staging.domain.com): import aws_s3_bucket.cdn (id: staging.domain.com): Error importing AWS S3 bucket policy: BucketRegionError: incorrect region, the bucket is not in 'ap-south-1' region at endpoint ''
    status code: 301, request id: , host id:

到目前为止可能吗?

我认为桶的区域(us-east-1)与母模块的区域(ap-south-1)不匹配

所以我建议使用多个提供者。


1.为us-east-1地区创建aws提供商

//父模块的默认aws提供程序
提供商“aws”{
...
region=“ap-south-1”
...
}
//为us-east-1添加
提供商“aws”{
...
region=“us-east-1”
别名=“us-east-1”
...
}
  • 将新aws提供程序设置为aws_s3_bucket.cdn
  • 资源“aws\u s3\u bucket”“cdn”{
    ...
    provider=“aws.us-east-1”
    ...
    }
    
  • 使用提供程序选项导入

  • 然而,这是一个好主意,但不起作用。我收到了相同的错误。
    terraform import-provider=aws.us-east-1 aws_s3_bucket.cdn staging.domain.com
    在执行上述步骤后,此操作正常。很抱歉,我错过了参数顺序,我已将其修复。