我正在尝试通过terraform输出获取新创建实例的状态检查。
我检查了所有可能获得的用于输出的参数,但找不到任何参数。
有没有一种方法可以检查新创建实例的运行状况?如果运行状况检查通过,我将运行后续脚本。
答案 0 :(得分:1)
是的,您可以通过以下两种方法之一来实现。您可以在您的ec2资源中添加local-exec provisioner,也可以在您的ec2资源中使用null_resource的本地执行配置器来添加depends_on。然后,我将使用AWS CLI继续检查实例的状态,直到完成状态检查为止。这将需要您使接下来要运行的任何资源也具有depends_on将它们链接在一起,因为terraform将无法弄清楚。 Here是我的博客文章,我在其中为Azure做类似的事情。
空资源提供者:
resource "null_resource" "status" {
provisioner "local-exec" {
command = "aws ec2 wait instance-status-ok --instance-ids ${use interpolation here to get id}"
}
depends_on = ["ec2 instance"]
}
或者,您可以执行一个Python脚本,该脚本使用Boto API代替AWS CLI执行相同的操作。
希望这可以帮助您正确定向。