C# 等待EC2实例重新启动

C# 等待EC2实例重新启动,c#,amazon-web-services,amazon-ec2,aws-sdk,C#,Amazon Web Services,Amazon Ec2,Aws Sdk,您可以在实例上执行的大多数操作都是同步的,例如,如果发送一个,它将立即运行,程序将阻塞,直到完成 ,但是,只需计划稍后重新启动即可 有没有一种方法可以访问实例的时间表,以了解是否计划重新启动,或者以其他方式等待重新启动完成 如果您发送一个停止请求,它将立即运行,程序将阻塞,直到完成 不是真的。当您发出ec2:StopInstance请求时,实例将从运行状态移动到停止状态。但是你的程序不会阻塞。请求立即返回更新的实例状态。如果要确定EC2实例何时最终处于stopped状态,则需要使用EC2:des

您可以在实例上执行的大多数操作都是同步的,例如,如果发送一个,它将立即运行,程序将阻塞,直到完成

,但是,只需计划稍后重新启动即可

有没有一种方法可以访问实例的时间表,以了解是否计划重新启动,或者以其他方式等待重新启动完成

如果您发送一个停止请求,它将立即运行,程序将阻塞,直到完成

不是真的。当您发出
ec2:StopInstance
请求时,实例将从
运行
状态移动到
停止
状态。但是你的程序不会阻塞。请求立即返回更新的实例状态。如果要确定EC2实例何时最终处于
stopped
状态,则需要使用
EC2:descripbeinstances
轮询EC2实例状态

至于重启请求,一旦请求,重启几乎立即发生。正如您的链接所提到的,如果Linux实例在4分钟内没有重新启动,AWS最终会强制进行硬重启

由于重新启动发生在EC2实例硬件中,因此EC2实例的状态不会从
运行更改为
。没有
重新启动状态。除了EC2实例控制台日志中的监视消息外,没有任何机制可以确定EC2实例的操作系统何时启动和/或完成重新启动

您最多只能发出重新启动请求,并假设/希望它在接下来的几分钟内重新启动

或者,您可以停止并重新启动实例:

  • 发出停止请求
  • 等待实例停止
  • 发出启动请求
  • 等待实例正在运行

  • 好的,谢谢。“开始/停止”方法需要花费另外一个小时的计费时间,因此我想我将尝试计时。再次感谢!