Можно ли запустить сценарий с поставщиком для ресурса, который уже развернут в terraform? - PullRequest
0 голосов
/ 28 марта 2020

Хорошо, поэтому я пытаюсь запустить простой скрипт для группы экземпляров EC2, которые были развернуты через terraform. Моя цель - иметь возможность запускать приложение terraform и запускать мой сценарий на всех экземплярах EC2 с заданным именем в моей среде без необходимости повторного развертывания ресурсов. Я знаю, что вы можете использовать провайдеров при создании ресурсов, но возможно ли их использовать из источника данных? Идея состоит в том, что, когда у нашего приложения есть проблема, мы можем запустить эту terraform, и скрипт будет работать на всех наших экземплярах без необходимости входа в каждый из них по отдельности и запуска его вручную. Я все еще новичок в terraform (работаю с ним чуть больше месяца) и после поиска по inte rnet я не видел ни одного примера такого использования и задавался вопросом, делал ли кто-то что-то подобное раньше или если это даже возможно.

Вот код, который я начал собирать вместе из того, что я читал в Интернете (не работает, конечно):

data "aws_instances" "my-instances"{
  filter {
    name = "name-shared-by-several-instances"
  }
}

resource "null_resource" "run-script" {
  for id in data.aws_instances.my-instances.ids:
    data "aws_instance" "curInstance" {
      instance_id = id
    }

    connection {
      type     = "type"
      user     = "user"
      password = "password"
      host     = "${data.aws_instance.curInstance.private_ip}"
    }

    provisioner "remote-exec" {
      inline = [
        "simple command"
      ]
    }
}

Я уверен, что синтаксис здесь неправильный, но, надеюсь, это передает идею. Любая информация, которую могут предложить люди, будет очень полезна. Спасибо!

...