If you start and stop one instance 60 time in an hour, you will be charged 60 hours.
So scaling down on a dime and scalling right back up is more expensive than doing nothing.
Instance hours are just rounded up.
Source: I auto scale my companies entire stack.
"Pricing is per instance-hour consumed for each instance, from the time an instance is launched until it is terminated or stopped. Each partial instance-hour consumed will be billed as a full hour."
https://aws.amazon.com/ec2/pricing/
"You are billed for an EC2 instance-hour for each hour or partial hour (rounded up) that your instance is in the “running” state. Instances that are in any other state (“stopped”, “pending”, etc.) are not billed."
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-i...
Here's a company that got hit hard by that behavior :
"A little-discussed fact about AWS EC2 pricing is that users are billed for each server that runs for any partial hour it runs. That means if a user starts a server and then kills it within five minutes, he is still billed for the full hour. That seems acceptable, but if a user kills a server and replaces it with a new server of the exact same type and location, this move doubles the bill."
http://searchaws.techtarget.com/tip/Paying-the-price-when-an...
You should probably take a look at this, you are probably costing your company a lot of money.
This is not restricted to a specific instance type, nor a specific region.
There is literally no way you are performing compute in seconds from when an EC2 instance is instaniated.
I've bookmarked this to come back to benchmark this.
Doesn't AWS still charge by the hour ... so if you were spinning instances up and down based on minute-to-minute load you would be overpaying for vs just maintaining a steady baseline.
If you turn an instance off you need to be pretty confident it will stay off for at least an hour.
If you've got a pre-baked application AMI, are using EBS-backed instances, and are starting them with auto-scaling or health-checks rather than manually using the console, then no, you really can have new instances up in a couple of seconds.
Mind you, the key (to getting a high ROI from AWS) isn't scaling up on a dime. It's scaling down on a dime, whenever your load decreases for even a minute or two, knowing you can just scale right back up. Being able to run with literally no paid compute-hours spent sitting around doing nothing waiting for a task can save you a rather large amount of money, usually quite easily compensating for that 30-40% AWS surcharge.