Хорошо, поэтому я пытаюсь запустить простой скрипт для группы экземпляров 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"
]
}
}
Я уверен, что синтаксис здесь неправильный, но, надеюсь, это передает идею. Любая информация, которую могут предложить люди, будет очень полезна. Спасибо!