Services
CostCutter supports multiple AWS services. Each service has specific resources that can be deleted.
Supported Services
| Service | Key | Resources |
|---|---|---|
| EC2 | ec2 |
Instances, volumes, snapshots, Elastic IPs, key pairs, security groups |
| Elastic Beanstalk | elasticbeanstalk |
Environments, applications |
| S3 | s3 |
Buckets (including all objects and versions) |
Enabling Services
Specify which services to clean up in your configuration:
# costcutter.yaml
aws:
services:
- ec2
- elasticbeanstalk
- s3
Or via CLI:
costcutter --services ec2,s3
What CostCutter Does
CostCutter permanently deletes AWS resources. For each service:
- Discovers all resources in the configured regions
- Builds a dependency graph to determine safe deletion order
- In dry-run mode: Reports what would be deleted
- In live mode: Executes deletions in the correct order
What CostCutter Does NOT Do
CostCutter has intentional limitations:
| CostCutter Does | CostCutter Does Not |
|---|---|
| Delete entire resources | Selectively preserve tagged resources |
| Scan specified regions | Scan global resources (IAM, Route 53) |
| Handle deletion dependencies | Manage cross-account resources |
| Report on what was deleted | Create backups before deletion |
No Selective Deletion
CostCutter is a kill-switch, not a cleanup utility. It deletes all discovered resources without discrimination. There is no allowlist or tag-based filtering.
Deletion Order
CostCutter respects AWS dependency constraints. Resources are deleted in this order:
flowchart TB
subgraph Dependent["Deletes dependent resources first"]
EB_ENV["1. EB Environments"]
EC2_INST["2. EC2 Instances"]
EC2_VOL["3. EC2 Volumes"]
EC2_EIP["4. EC2 Elastic IPs"]
EC2_SG["5. EC2 Security Groups"]
end
subgraph Independent["Independent resources last"]
EC2_KEY["6. EC2 Key Pairs"]
EC2_SNAP["7. EC2 Snapshots"]
EB_APP["8. EB Applications"]
S3["9. S3 Buckets"]
end
EB_ENV --> EC2_INST --> EC2_VOL --> EC2_EIP --> EC2_SG
EC2_SG --> EC2_KEY --> EC2_SNAP --> EB_APP --> S3
This order ensures:
- Elastic Beanstalk environments (which create EC2 instances) are removed before EC2 cleanup
- Volumes are detached before deletion (instances terminated first)
- Security groups have no attached instances when deleted
- Applications are deleted only after all environments are gone
-> See individual services: EC2 | Elastic Beanstalk | S3