AWS cost · stopped EC2
Why your stopped EC2 instance is still being charged
I was reading my own AWS bill and one line did not make sense - a small EC2-Other charge, a few dollars a month. I traced it back to a server I stopped during a migration in 2020 and never came back to. The instance had been off for six years. I assumed it cost nothing. The 8 GB disk was still attached, billing every month the whole time. Stopping a server does not stop its bill.
Stopping an EC2 instance stops the compute charge, but not the storage. The attached EBS volume keeps billing at its full provisioned rate - roughly $0.10 to $0.12/GB-month for gp2, depending on region - and any Elastic IP keeps charging too. An 8 GB disk on a server I stopped in 2020 quietly cost about $0.95/month, roughly $70 by the time I found it.
Does a stopped EC2 instance cost money?
The compute stops. Almost nothing else does. Here is what is still on the bill after you stop an instance:
| Resource | While stopped | Note |
|---|---|---|
| Compute (vCPU + RAM) | $0 | the one thing that does stop |
| Attached EBS volume | ~$0.10-0.12/GB-mo (gp2) | billed the whole time it is stopped |
| Elastic IP | ~$0.005/hr (~$3.60/mo) | charged while attached to a stopped instance |
| EBS snapshots | $0.05/GB-mo | keep billing even after the volume is gone |
Why is a switched-off server still on my bill?
EBS volumes are billed on provisioned capacity, not usage. AWS charges for the disk you reserved whether the instance is running, stopped, or idle - the bytes are allocated to you either way. A stopped instance still has its root volume attached, so that storage bills every month. The instance state changes; the storage charge does not.
What else keeps charging when the instance is stopped?
An Elastic IP attached to a stopped instance keeps billing at about $0.005/hour (~$3.60/month), because it counts as an address that is not actively in use. Snapshots of the volume keep billing at $0.05/GB-month - and they survive the volume, so they carry on even after you delete the disk. Forgotten snapshots are their own quiet leak; here is how to find the orphaned ones.
How do I stop paying for a stopped instance?
If you truly do not need the machine, terminate it rather than leaving it stopped - and then confirm the cleanup. Delete any volume that did not go with the instance, release the Elastic IP, and remove snapshots you no longer need. The fastest place to look first is anything marked available in your EBS volumes: that is a disk attached to nothing, pure waste, billing every month. These two read-only commands surface both leaks:
# EBS volumes attached to nothing - pure waste, still billing
aws ec2 describe-volumes --filters Name=status,Values=available \
--query 'Volumes[].{ID:VolumeId,GB:Size,AZ:AvailabilityZone}' --output table
# Elastic IPs you are paying for
aws ec2 describe-addresses \
--query 'Addresses[].{IP:PublicIp,Instance:InstanceId}' --output tableWant to know what is switched off but still on your bill? Connect your account read-only and see what it is wasting, in real dollars.
The role can only read - Get, Describe, List, nothing else. Read the exact permissions before you deploy it, and delete the stack whenever you want.
Frequently asked questions
Does a stopped EC2 instance cost money?+
Yes. Stopping an instance stops the compute charge, but the attached EBS volume keeps billing at its full provisioned rate - roughly $0.10 to $0.12/GB-month for gp2 depending on region. Any Elastic IP and any snapshots keep charging too.
Why am I charged when my EC2 instance is stopped?+
EBS volumes are billed on provisioned capacity, not usage, and independent of instance state. A stopped instance still has its root volume attached, so that storage bills every month whether the machine runs or not.
How much does an EBS volume cost while the instance is off?+
The same as when it is on. A gp2 volume is about $0.10/GB-month in us-east-1 (more in some regions - $0.119 in Frankfurt, where gp3 is $0.0952), so an 8 GB root disk is roughly $0.80 to $0.95/month - about $70 over six years for a machine that was switched off the whole time.
Am I charged for an Elastic IP on a stopped instance?+
Yes. Since February 2024 every public IPv4 address is billed at about $0.005/hour (~$3.60/month) whether in use or not, and a stopped instance's Elastic IP does not qualify for the in-use free allowance. Release it if you no longer need the address.
What is the EC2-Other charge on my bill?+
EC2-Other is where AWS groups EBS volumes, snapshots, Elastic IPs, and data transfer - the costs that are not the instance-hour itself. A mysterious EC2-Other line is very often a stopped or forgotten instance's disk still billing.
How do I completely stop EC2 charges?+
Terminating an instance stops the compute and, if the volume is set to delete-on-termination, removes the disk. To be sure, terminate the instance, delete any leftover volume, release the Elastic IP, and delete snapshots you no longer need.
Do EBS snapshots keep costing money after I delete the volume?+
Yes. Snapshots are independent of the volume they came from, so deleting the volume does not delete its snapshots. They keep billing at $0.05/GB-month until you remove them - see how to find orphaned snapshots.
Related cost breakdowns
Why EKS is expensive: the $73/month control plane
Every EKS cluster bills $0.10/hour - about $73/month - for the control plane before a single node runs, and $0.60/hour once it falls out of standard support. Idle and forgotten clusters are pure waste.
Spot instances: what is safe to run on them, and what is not
Spot instances are up to 90% cheaper than on-demand - I moved almost everything to spot. The catch is a 2-minute interruption notice. Here is what is safe to run on spot and what is not.
Graviton (ARM) is ~20% cheaper than x86 for the same work
AWS Graviton instances cost about 20% less than comparable x86 at equal or better performance, and arm64 Lambda is a one-dropdown switch. Here is how to find migration candidates.
How to find idle and oversized EC2 instances draining your bill
An EC2 instance sized for a peak that never comes idles at under 10% CPU while billing full price. Here is how to spot the oversized ones and right-size them down.