Fastest time to get an EC2 instance running

I am considering moving from a VPS to EC2. EC2 is elastic and so is its pricing; I could boot my instance on demand, then let it shut down if it isn't active by the end of some hourly period.

How much time does that process take? Assume a micro instance booting from EBS. Assume Linux (probably Ubuntu); the 10 minute times mentioned for Windows leave me unimpressed. The transition could be ec2-run-instance (with its pending state) or ec2-start-instance. Feel free to mention the start up times of other clouds if you know them.


There is no definite answer to this because that's dependent on EC2's current load. You may also experience capacity issues. In my experience I get EC2 startups in about a minute to three for a Small in west-1b. I don't think Amazon even has an SLA to guarantee the ability to start new instances. Rackspace Cloud Server 256MB is also about a minute but I've seen about three minutes or so.


On amazon, booting a machine off of EBS should be significantly faster than a read-only, S3 based instance - From http://aws.amazon.com/ebs/:
"You can also stop and restart instances that boot from Amazon EBS volumes while preserving state, with very fast start-up times. As with any use of Amazon EBS, you only pay for the amount of resources you consume."

For more detail on the EBS boot process, this is more-or-less required reading - See the section titled "Boot times" and "How You're Charged": http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?Concepts_BootFromEBS.html

Of particular note is that, "We charge a full instance hour for every transition from a stopped state to a running state, even if you transition the instance multiple times within a single hour." The following implies that this is only the case for EBS. This information is _deeply_buried_ - so, if you need to flick machines on and off frequently, boot-from-EBS could be more costly.


My benchmarks indicate a bootup time of about 45s. The XEN hypervisor is responsible for most of that.
The test measures from instance launch (pick AMI and launch new instance) to SSH connectivity. I use debian squeeze, built with my own bootstrapper (doesn't start gettys etc.).

You can test the bootup time with a benchmark script I created for that specific purpose.


There are various ways you can speed up your instance boot times. The majority of the time is the OS loading and what you have your AMI configure to load at boot. I posted some guidance I received from AWS Support in another post:

https://stackoverflow.com/a/39298090/1806763