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

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

reboot如果有的话,在 EC2 实例的命令行上调用和ec2-reboot-instances从另一台计算机上的 AWS 命令​​行工具发出命令之间有什么区别?

是否可以执行通过 SSH 会话ec2-reboot-instances发送无法执行的操作reboot,例如处理特定于 AWS 的环境事项?

这两个命令之间有偏好吗?

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

答案1

使用上的区别:

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

功能差异:

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

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


另外需要指出的是,从 SSH 重新启动就足以进行定期维护(即您不需要使用ec2-reboot-instances)。根据文档

实例重启是虚拟实例的重启,相当于操作系统重启。

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

相关内容