Automated AWS resource cleanup tool. Deletes orphaned resources across all regions, reduces costs, maintains account hygiene.
- Dev/test accounts accumulate unused resources
- Orphaned EBS volumes, snapshots, and EIPs cost money
- Manual cleanup is tedious and error-prone
- AWS doesn't auto-delete your forgotten infrastructure
| Feature | Description |
|---|---|
| Multi-region | Cleans all AWS regions in parallel |
| Safe by default | Dry-run mode, tag filtering, exclude patterns |
| Comprehensive | EC2, EBS, S3, Lambda, VPC, IAM, RDS, EKS, and more |
| Configurable | YAML config or CLI flags |
| Observable | Structured JSON logging, detailed reports |
git clone https://github.com/chernistry/awswipe.git
cd awswipe
pip install -r requirements.txtRequires Python 3.8+ and configured AWS credentials (aws configure).
# Dry-run (default) - see what would be deleted
python awswipe.py
# Interactive menu
python awswipe.py --interactive
# Delete everything in specific region
python awswipe.py --region us-east-1 --live-run
# Use config file
python awswipe.py --config config.yaml
# Verbose JSON logs
python awswipe.py -vv --json-logsCopy config.example.yaml to config.yaml:
regions:
- us-east-1
- eu-west-1
resource_types:
- ec2
- s3
- lambda
tag_filters:
include:
Environment: [dev, test]
exclude:
DoNotDelete: ["true"]
exclude_patterns:
- "prod-*"
- "critical-*"
dry_run: true=== AWS Cleanup Report ===
Resource: S3 Buckets
Deleted:
- dev-temp-bucket
- test-logs-2024
Failed:
None
Resource: EC2 Instances
Deleted:
- i-0abc123def456gh78
Failed:
- i-09xyz987lmn654pq (Permission Denied)
| Error | Solution |
|---|---|
NoCredentialsError |
Run aws configure |
Permission Denied |
Check IAM permissions |
ThrottlingException |
Retry later or reduce concurrency |
MIT
Alexander Chernysh — GitHub
