等待EC2实例重新启动
本文关键字:重新启动 实例 EC2 等待 | 更新日期: 2023-09-27 18:18:06
你可以在一个实例上执行的大多数操作都是同步的——例如,如果你发送一个停止请求,它将立即运行,程序将阻塞直到它完成。
RebootInstanceRequest,但是,只是安排稍后重新启动。
是否有一种方法可以访问实例的调度来知道重新启动的计划,或者以其他方式等待重新启动完成?
如果你发送一个停止请求,它将立即运行,程序将阻塞,直到它完成
不是真的。当您发出ec2:StopInstance
请求时,实例从running
状态移动到stopping
状态。但是你的程序不会阻塞。请求立即返回更新后的实例状态。如果您想确定EC2实例何时最终处于stopped
状态,那么您需要使用ec2:DescribeInstances
轮询EC2实例状态。
对于重新引导请求,一旦请求,重新引导几乎立即发生。正如您的链接所提到的,如果Linux实例没有在4分钟内重新启动,AWS最终会强制进行硬重启。
由于重新启动发生在EC2实例硬件中,因此EC2实例的状态不会从running
更改。没有rebooting
状态。除了监视EC2实例控制台日志中的消息外,没有任何机制可以确定EC2实例的操作系统何时启动和/或完成重新启动。
你能做的最好的事情就是发出重新启动请求,并假设/希望它在接下来的几分钟内重新启动。
作为另一种选择,您可以停止并重新启动实例:
- 发出停止请求,
- 等待实例停止,
- 发出启动请求,
- 等待实例正在运行