If you’re using public cloud, in order to optimize your cloud costs, it’s important to fully understand your AWS stopped instance costs to make sure you aren’t accruing unnecessary costs.
AWS has two options when it comes to stopping your instances – you can either stop your instance for a period of time, or you can permanently terminate it.
It’s always our goal to help users understand their public cloud waste and help them optimize it, so here’s an overview of stopped instances and what they may cost you so you can plan accordingly:
What Happens When You Stop An Instance?
Once you stop an EC2 instance, the instance is shut down and the VM that was provisioned for you will be taken away indefinitely. You will not be charged for instance usage once this has happened. Some people may get stopping and termination of instanced confused, the biggest differentiator is that bootable EBS volume that’s attached to an instance will not be deleted if an instance is stopped. The EBS volume data remains, and you will be charged for storage on EBS volumes. When you stop an instance, all information on the local hard drive will be lost per usual. The volume will continue to persist in its availability zone.
As of now, the ability to stop an instance is only supported on instances that were launched using an EBS-based AMI where the root device data is stored on attached EBS volume as an EBS boot partition. Individuals use this option so their data isn’t stored on the local instance itself. One of the great things about stopping an instance is that it should give it a faster boot time.
If/when you choose to start a stopped instance, the EBS volume is just attached to the newly provisioned instance. It’s important to remember that your stopped instance will be a different VM.
What Instances You Can Stop
If your instance has an EBS volume as its root device then you can stop and start that instance. This is because when using EBS, data on the root device persists independently from the lifetime of the instance meaning you can stop and restart the instance at a subsequent time. Once an instance is stopped, AWS shuts it down. Stopping an instance allows you to start it again later, but you might be charged for storage.
While the instance is stopped, you can treat its root volume like any other volume, and modify it (for example, repair file system problems or update software). You just detach the volume from the stopped instance, attach it to a running instance, make your changes, detach it from the running instance, and then reattach it to the stopped instance. Make sure that you reattach it using the storage device name that’s specified as the root device in the block device mapping for the instance.
You can also start/stop RDS instances, which is very useful for dev/test environments. With this functionality, users will be able to stop non-production RDS instances so they are not running 24/7.
As of January 2020, you can also now stop EC2 Spot Instances that are backed by Amazon EBS. This means that you can now stop your Spot Instances and start them from the user-initiated stop state, all provided that Spot capacity is available within your maximum price requirements.
Does AWS Charge for Stopped Instances?
As mentioned above, once you stop an instance, AWS will shut it down so you will not be charged for the usage of the stopped instances or any data transfer fees.
What they do charge for is other resources that are attached to your stopped instances such as storage of any EBS volume or S3 storage. You are charged for EBS storage for the amount of storage provisioned to your account – this is measured in gigabyte/months. Unlike EC2 instances that accrue charges only when they’re running, EBS volumes attached to instances continue to retain information and accrue charges even when the instance is stopped.
It’s important to note that users will be charged a minimum of one minute for usage each time they start a stopped instance – once that minute is up AWS charges by the second. This means that if you run an instance for 15 seconds and then stop it, you will be charged for a full minute. But, if you run an instance for 5 minutes and 10 seconds, they charge for exactly 5 minutes and 10 seconds of usage.
When Should You Stop Instances?
More than $11 billion will be spent on idle EC2 instances this year alone. The majority of that waste comes from non-production instances for purposes like development, testing, staging, and QA. These instances are typically not needed nights and weekends. Simply by turning them off during these periods can save 65% of the cost.
When you choose to terminate instances instead, remember that the volume attached to your stopped instance will continue to persist in its availability zone, and standard charges for EBS volumes will apply. Ensure that any unnecessary volumes and snapshots are deleted as well.
Automatically Save on AWS Stopped Instance Costs
Stopping your AWS EC2 instances is a great way to start saving on your public cloud bill – particularly since you won’t be charged (except for storage) when instances are stopped.
What instances should you stop?
You can attempt to determine this manually, but it is unlikely you’ll want to rely on a manual process. You can get great information from your instance tags, telling you which VMs are for dev, test, staging, QA, and other non-production purposes, and are therefore good candidates to turn off nights and weekends to reduce costs. Even better is the actual utilization data from your resources to show when resources can safely be shut down based on your past patterns We created ParkMyCloud’s automatic parking scheduler to do just that – and to help users park public cloud compute resources as simple as possible. The start/stop times can be sequenced within the group and a single schedule can be used on the group for simplified management.
Sign up for a free trial today and get started scheduling those EC2 instances to save more on your cloud bill!