Differences between "reboot" and "ec2-reboot-instances"

Differences in use:

  • No SSH access required (can be run from any computer, or even the AWS console)
  • ec2-reboot-instances requires AWS credentials
  • Can easily script for multiple instances (easier to integrate with other AWS services)

Difference in functionality:

  • ec2-reboot-instances will force a hard reboot after 4 minutes if the instance hasn't cleanly shutdown. (See Documentation)
  • The command does not confirm success - the reboot request is queued but you are not informed if it worked or if a hard start is required, etc (you are informed of outright failed commands - e.g. permissions problems, etc)
  • There is a slight delay in execution of command - usually not noticable

In cases where the instance is responsive and can be accessed via SSH reboot (via SSH) will perform the same task as ec2-reboot-instances.


As an additional point of mention, reboots from SSH will suffice for scheduled maintenance (i.e. you do not need to use ec2-reboot-instances). As per the 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.