можно ли использовать terraform просто для создания ресурсов в разных регионах AWS? - PullRequest
0 голосов
/ 31 декабря 2018

У меня есть следующий deploy.tf файл:

provider "aws" {
  region          = "us-east-1"
}

provider "aws" {
  alias           = "us_west_1"
  region          = "us-west-2"
}

resource "aws_us_east_1" "my_test" {
  # provider        = "aws.us_east_1"
  count           = 1
  ami             = "ami-0820..."
  instance_type   = "t2.micro"
}

resource "aws_us_west_1" "my_test" {
  provider        = "aws.us_west_1"
  count           = 1
  ami             = "ami-0d74..."
  instance_type   = "t2.micro"
}

Я пытаюсь использовать его для развертывания 2 серверов, по одному в каждом регионе.Я продолжаю получать сообщения об ошибках типа:

aws_us_east_1.narc_test: Provider doesn't support resource: aws_us_east_1

Я пытался установить псевдонимы для обоих блоков провайдера и ссылаться на правильный регион различными способами.Я читал о поддержке нескольких регионов, и некоторые ответы показывают, что это можно сделать с помощью модулей, однако это простой тест, и я хотел бы сохранить его простым.Возможно ли это в настоящее время?

1 Ответ

0 голосов
/ 31 декабря 2018

Да, его можно использовать для создания ресурсов в разных регионах, даже внутри одного файла.Нет необходимости использовать модули для тестового сценария.

Возможно, ваша ошибка вызвана опечаткой.Если вы хотите запустить экземпляр ec2, ресурс, который вы хотите создать, это aws_instance, а не aws_us_west_1 или aws_us_east_1.

Конечно, Terraform не знает такого рода ресурсов, так как он просто не существует.Измените его на aws_instance и вам будет хорошо!Кроме того, вам, вероятно, следует называть их по-разному, чтобы избежать двойного именования, используя my_test для обоих ресурсов.

...