That stopped EC2 is still costing you $17/month. Here's why nobody deletes it.
Stopped EC2 instances keep billing for EBS storage. But the real problem isn't the bill — it's that nobody on your team dares to delete them. Here's the psychology, and how to fix it safely.
You open your AWS bill. EC2 line is up again.
You dig into Cost Explorer. Find a stopped instance. jenkins-setup. Stopped 47 days ago. Still running up $17/month in EBS storage charges.
You open Slack. Ask the channel: "Anyone know if this is safe to delete?"
Silence.
Three days later, the instance is still there.
Why stopped EC2 instances never get deleted
It's not laziness. It's rational fear.
The last time someone deleted a stopped instance at a company I worked with, it turned out to be a database backup server that someone had stopped "temporarily" six months ago. The deletion caused a 2am incident. The engineer who deleted it spent two hours explaining what happened.
After that, nobody touched stopped instances without a meeting.
This pattern repeats everywhere. Engineers know the waste is there. They just can't afford to be wrong.
What you actually need before deleting
The safe answer to "can I delete this?" isn't a gut feel — it's evidence.
Before deleting any stopped EC2 instance, you want to know:
1. When was it last active?
Not just "when was it stopped" — when did it last have network traffic? An instance stopped yesterday is different from one stopped 3 months ago with zero activity for 90 days before that.
2. Is it part of a CloudFormation stack?
Instances inside a CloudFormation stack shouldn't be deleted directly — you'd need to update or delete the stack. Deleting the instance manually orphans the rest of the stack.
3. Does it have any attached resources?
EBS volumes, Elastic IPs, security groups. If you delete the instance without detaching or releasing these, they keep billing.
4. Who owns it?
An instance tagged team: platform vs one with no tags at all carry different risk profiles. Missing owner context = higher risk.
5. Is there a snapshot or backup path?
If something does go wrong after cleanup, can you recover?
The math on ignoring this
Let's say you have 8 stopped EC2 instances across your account. That's conservative — most accounts we scan have more.
Average cost per stopped instance (EBS + EIP): $12/month
8 × $12 = $96/month = $1,152/year
That's money leaving your account every month while your team debates whether it's safe to act.
How InfraDesk approaches this
When InfraDesk scans your account, stopped EC2 instances go into your Decision Inbox — not as a flag, but with an evidence packet:
- Last network activity timestamp
- CloudFormation membership check
- Attached EBS volumes and their cost
- Tag and owner status
- Confidence level (safe to review / needs engineering review / do not touch)
You review the evidence. You approve the action. InfraDesk takes a snapshot where supported, then executes. Audit log maintained.
No more "did someone check this?" conversations.
What to do right now
If you want to find the stopped EC2 instances in your account today:
Manual approach:
- Open AWS Console → EC2 → Instances
- Filter by state: Stopped
- For each instance: check "Last state transition reason" and look at CloudWatch metrics for the last 30/60/90 days
- Cross-reference with CloudFormation stacks before touching anything
This takes 30–60 minutes per account. For multi-account setups, multiply accordingly.
Faster approach:
Free scan
See what's wasting money in your AWS account
Read-only scan · No AWS changes · Results in 60 seconds
Scan My AWS Account Free →The real cost of the stopped instance
The $17/month isn't the real cost. The real cost is the 3-day delay every time someone asks "is this safe?" — and the fact that it never gets resolved because nobody wants to be responsible for a 2am incident.
Evidence eliminates the fear. When your team can see last network activity, dependency status, and owner context — cleanup becomes a decision, not a gamble.
That's the only way stopped instances actually get cleaned up.