Current coverage
| Detection | Signal | Engine | Current mode |
|---|---|---|---|
| Underused EC2 | Average CPU below threshold over 7 days by default | boto3 + CloudWatch | AWS stop or manual downsizing |
| Stopped EC2 | Stopped state across the window with residual EBS cost | boto3 | AWS termination after review |
| Orphaned EBS | Available volume with no attachment | boto3 | Deletion after a snapshot |
| Unused Elastic IP | No associated instance or ENI | boto3 | Manual |
| Old EBS snapshot | Account snapshot at least 90 days old | boto3 | Manual |
| Unused load balancer | No registered target or instance | Steampipe | Guarded, irreversible deletion |
| Unused NAT Gateway | No outbound traffic observed over 30 days | Steampipe | Guarded, irreversible deletion |
| Empty VPC | No network interface | Steampipe | Manual, €0 hygiene signal |
| gp2 to gp3 migration | Attached gp2 volume in use | Steampipe | Guarded modification |
Snapshots used by an AMI or managed by AWS Backup or Data Lifecycle Manager are excluded. An empty default VPC receives lower confidence than a standard VPC.
Two collection paths
| Path | Families | Behavior |
|---|---|---|
| boto3 | Underused and stopped EC2, EBS, EIP, snapshots | Available with the read-only role |
| Steampipe | Load balancers, NAT Gateways, VPC, gp2 to gp3 | Skipped if CLI is missing, run marked partial |
./wasteless.sh collectThe default five-minute cadence is polling. Decisions use observation windows of up to 30 days.
From evidence to action
- 01
Collect
Read metrics and inventory allowed by the read-only role.
- 02
Detect
Produce evidence, an estimate and a confidence score.
- 03
Review
Present the recommendation and context to the operator.
- 04
Decide
Route the decision to an AWS call, remediator or manual action.
- 05
Trace
Record the decision and action attempts in history.
| Mode | Current actions | Important point |
|---|---|---|
| Direct AWS | EC2 stop and terminate | Write role and policy required |
| Remediator | gp2 to gp3, EBS, NAT and load balancer deletion | Resource-specific preconditions |
| Manual | EC2 downsize, snapshot, EIP, VPC | Decision is recorded, AWS is not called |
Regions, pricing and limits
The EC2 collector uses
AWS_REGION.The boto3 EBS, EIP and snapshot detectors currently scan
eu-west-1,eu-west-2,eu-west-3andus-east-1.Steampipe detectors use regions in
~/.steampipe/config/aws.spc.Amounts use a static on-demand pricing reference and do not cover every discount, tax or AWS pricing dimension.
Cost Explorer confirmation currently covers supported EC2 stops after enough observation data exists.