Terraform: Ошибка при импорте корзины s3 с разницей в области класса хранения и области поставщика - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь импортировать сегмент, который находится в us-east-1 регионе, в родительский модуль, который находится в ap-south-1 регионе.Я не хочу переносить сегмент в область ap-south-1 на данный момент, но я хочу, чтобы его состояние находилось в родительском модуле, который имеет регион поставщика 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:

Возможно ли это на данный момент?

1 Ответ

0 голосов
/ 11 июля 2019

Я думаю, что область сегмента (us-east-1) не совпадает с областью родительского модуля (ap-south-1).

Поэтому я предлагаю использовать несколько провайдеров.https://www.terraform.io/docs/configuration/providers.html#alias-multiple-provider-instances

1. создать провайдера aws для региона us-east-1

// default aws provider for parent module
provider "aws" {
  ...
  region = "ap-south-1"
  ...
}

// add for us-east-1 
provider "aws" {
  ...
  region  = "us-east-1"
  alias   = "us-east-1"
  ...
}
установить для нового провайдера aws значение aws_s3_bucket.cdn
resource "aws_s3_bucket" "cdn" {
  ...
  provider    = "aws.us-east-1"
  ...
}
импорт с опцией провайдера https://www.terraform.io/docs/commands/import.html#provider-provider
terraform import -provider=aws.us-east-1 aws_s3_bucket.cdn staging.domain.com 
...