Amazon EC2:如何像在AWS控制台中一样通过API检测重新启动状态



在AWS控制台中,在EC2面板中,当您(通过控制台)重新启动实例时,状态列从"running"变为"rebooting",然后在重新启动完成后返回"running"。

在Amazon EC2 API中,没有这种"重新启动"的状态。唯一可用的选项是"running","pending","stopped","stopped","stopped","closing -down"one_answers"terminated"。检查实例状态的API在重新启动时也会返回"status:ok"。

我怎么知道,使用API,启动重启的实例完成并再次正常运行?必须有一些信息,我可以检查在重启状态,知道重启已经启动。

提前致谢

我认为您从评论中得到的一般要点是,仅仅因为实例已经重新启动,并不意味着它以干净的状态启动,以便准备执行工作。

因此,您确实应该在启动时进行某种健康监视器或完整性检查,以指示您的应用程序实际上正在正常运行(或准备运行)。然后,您可以查询该监视器,以确定一切是否按预期运行。

感谢大家的建议。我最终"逆向工程"了AWS控制台javascript代码,它是:

> AWS.ioc.Configuration.getInstance("/ec2/instances/rebootInstances#controller").subscribe("changed",
> function() { var o =
> m.dataTable.getRecords(m.dataTable.getSelectedRows());
> m.dataTable.setColumn(o, "instanceState", "rebooting");
> i.rebooting.fire(o); YAHOO.lang.later(60000, m.dataTable, function(p,
> q, r) {
>                  m.dataTable.setColumn(p, q, r);
>                  i.rebooted.fire(p)
>                  }, [o, "instanceState", "running"], false) });

可以看到,它只是一个60秒(60000毫秒)的超时…

相关内容

最新更新