“重新启动”和“ ec2-reboot-instances”之间的区别


16

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

不会ec2-reboot-instances做任何事情,发送reboot通过SSH会话不会做,如处理环境的事情,具体到AWS?

这两个命令之间有优先选择吗?

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

Answers:


12

使用差异:

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

功能差异:

  • ec2-reboot-instances如果实例尚未完全关闭,则会在4分钟后强制硬重启。(请参阅文档
  • 该命令无法确认成功-重新启动请求已排队,但不通知您它是否有效或是否需要硬启动等(通知您完全失败的命令-例如权限问题等)
  • 执行命令会稍有延迟-通常不明显

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


值得一提的是,从SSH重新启动就足以进行计划的维护(即,您无需使用ec2-reboot-instances)。根据文档

实例重启是虚拟实例的重启,等效于操作系统重启。

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


非EC2重新启动命令会触发计划的维护事件吗?
ceejayoz

@ceejayoz:是的,它将-更新答案以提及它。
cyberx86

我遇到的情况是,发行时sudo reboot会将附加的EBS卷重置为文件系统状态,就像创建AMI时一样……而从控制台重新启动则没有。我希望可以提供更多详细信息...但是,这很奇怪。
卡尔·G
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.