Product coverage

Nine detectors with an explicit scope

Each result connects an AWS signal, a monthly estimate, a confidence score and a declared action mode.

Verified against the product code10 minFinOps and cloud engineers

Current coverage

DetectionSignalEngineCurrent mode
Underused EC2Average CPU below threshold over 7 days by defaultboto3 + CloudWatchAWS stop or manual downsizing
Stopped EC2Stopped state across the window with residual EBS costboto3AWS termination after review
Orphaned EBSAvailable volume with no attachmentboto3Deletion after a snapshot
Unused Elastic IPNo associated instance or ENIboto3Manual
Old EBS snapshotAccount snapshot at least 90 days oldboto3Manual
Unused load balancerNo registered target or instanceSteampipeGuarded, irreversible deletion
Unused NAT GatewayNo outbound traffic observed over 30 daysSteampipeGuarded, irreversible deletion
Empty VPCNo network interfaceSteampipeManual, €0 hygiene signal
gp2 to gp3 migrationAttached gp2 volume in useSteampipeGuarded 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

PathFamiliesBehavior
boto3Underused and stopped EC2, EBS, EIP, snapshotsAvailable with the read-only role
SteampipeLoad balancers, NAT Gateways, VPC, gp2 to gp3Skipped if CLI is missing, run marked partial
Manual collection
./wasteless.sh collect

The default five-minute cadence is polling. Decisions use observation windows of up to 30 days.

From evidence to action

  1. 01

    Collect

    Read metrics and inventory allowed by the read-only role.

  2. 02

    Detect

    Produce evidence, an estimate and a confidence score.

  3. 03

    Review

    Present the recommendation and context to the operator.

  4. 04

    Decide

    Route the decision to an AWS call, remediator or manual action.

  5. 05

    Trace

    Record the decision and action attempts in history.

ModeCurrent actionsImportant point
Direct AWSEC2 stop and terminateWrite role and policy required
Remediatorgp2 to gp3, EBS, NAT and load balancer deletionResource-specific preconditions
ManualEC2 downsize, snapshot, EIP, VPCDecision 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-3 and us-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.

View source on GitHub