“rebo ot”和“ec2-reboot-instances”之间的区别

Modified on: Tue, 20 Aug 2019 08:20:02 +0800

在EC2实例的命令行上调用reboot并从AWS Command Line Tools发出ec2-reboot-instances命令之间有什么区别(如果有)另一台机器?

ec2-reboot-instances是否会执行通过SSH会话发送reboot的任何事情,例如处理特定于AWS的环境事务?

这两个命令之间是否有偏好?

在我的具体情况中,我使用Java库来访问AWS API而不是命令行工具,但它仍然在AWS上调用相同的命令。 Java库比命令行工具更冗长,因此通过SSH发送reboot命令会更容易,但我想了解是否有任何其他考虑因素可以使其值得使用AWS API方法。

最佳答案

使用上的差异:

  • 无需SSH访问(可以从任何计算机,甚至是AWS控制台运行)
  • ec2-reboot-instances需要AWS凭证
  • 可以轻松编写多个实例的脚本(更容易与其他AWS服务集成)

功能差异:

    如果实例没有干净地关闭,
  • ec2-reboot-instances将在4分钟后强制重启。 (参见文档
  • 该命令未确认成功 - 重新启动请求已排队,但未通知您是否有效或是否需要硬启动等(您被告知完全失败的命令 - 例如权限问题等)
  • 执行命令会有轻微延迟 - 通常不会显示

如果实例响应并且可以通过SSH访问reboot(通过SSH)将执行与ec2-reboot-instances相同的任务。


作为一个额外的提及,从SSH重新启动就足以进行计划维护(即您不需要使用ec2-reboot-instances)。根据文档

  

实例重新启动是您的虚拟实例的重新启动,并且是
  相当于操作系统重启。

  
  

管理您自己的实例重新启动非常简单。 ...您可以
  还可以从实例的操作系统重新启动实例。

作者:,cyberx86

相关问答

添加新评论