ec2-reboot-instances是否会执行通过SSH会话发送重新启动的任何操作,例如处理特定于AWS的环境事务?
这两个命令之间有偏好吗?
在我的具体情况下,我使用Java库来访问AWS API而不是命令行工具,但它仍然在AWS上调用相同的命令. Java库比命令行工具更冗长,因此通过SSH发送reboot命令会更容易,但我想了解是否有任何其他考虑因素值得使用AWS API方法.
解决方法
>无需SSH访问(可以从任何计算机,甚至AWS控制台运行)
> ec2-reboot-instances需要AWS凭据
>可以轻松编写多个实例的脚本(更容易与其他AWS服务集成)
功能差异:
>如果实例没有干净地关闭,ec2-reboot-instances将在4分钟后强制重启. (见Documentation)
>该命令未确认成功 – 重新启动请求已排队但您不会被告知它是否有效或是否需要硬启动等(您被告知完全失败的命令 – 例如权限问题等)
>执行命令有一点延迟 – 通常不会显着
如果实例响应并且可以通过SSH重新启动(通过SSH)将执行与ec2-reboot-instances相同的任务.
另外值得一提的是,从SSH重新启动就足以进行计划维护(即您不需要使用ec2-reboot-instances).根据documentation:
Instance reboots are reboots of your virtual instance,and are
equivalent to an operating system reboot.Managing your own instance reboots is very straightforward. …you can also reboot your instance from the operating system of your instance.