Stopped EC2 GPU instances still pay for attached EBS volumes (often large for ML workloads — 500GB+ gp3/io2). These are easy to miss.
Detection:
- Instance state is
stopped
- Uptime (time since stop) > 7 days
- Recommend: snapshot and terminate, or restart if still needed
Implementation:
- Add a new rule in
internal/analysis/rules.go
- EC2 scanner already discovers stopped instances (state filter includes "stopped")
- EBS cost estimation could use a rough heuristic (e.g., $0.08/GB/mo for gp3) or be left as "investigate"
Stopped EC2 GPU instances still pay for attached EBS volumes (often large for ML workloads — 500GB+ gp3/io2). These are easy to miss.
Detection:
stoppedImplementation:
internal/analysis/rules.go