Cleanup your old unused ami and related snapshots
Description
This tool enables you to clean your custom Amazon Machine Images (AMI) and related EBS Snapshots.
You can either run in fetch and clean mode where the tool will retrieve all your private AMIs and EC2 instances, exclude AMIs being holded by your EC2 instances (it can be useful if you use autoscaling, and so on …). It applies a filter based on their names or tags and a number of previous AMIs you want to keep. You can also check and delete EBS snapshots left orphaned by manual deletion of AMIs.
It can simply remove AMIs with a list of provided ids.
Prerequisites
python 2.7 or 3+
This tool assumes your AWS credentials are in your environment, either with AWS credentials variables :
export AWS_DEFAULT_REGION='your region'
export AWS_ACCESS_KEY_ID='with token Access ID'
export AWS_SECRET_ACCESS_KEY='with token AWS Secret'
or with awscli :
export AWS_PROFILE=profile-name
Minimum AWS IAM permissions
To run the script properly, your aws user must have at least these permissions in iam:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1458638250000",
"Effect": "Allow",
"Action": [
"ec2:DeleteSnapshot",
"ec2:DeregisterImage",
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeSnapshots",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeLaunchConfigurations"
],
"Resource": [
"*"
]
}
]
}
Installation
amicleaner is available on pypi and can be installed on your system with pip
From pypi
[sudo] pip install aws-amicleaner
From source
You can also clone or download from github the source and install with pip
cd aws-amicleaner/
pip install [--user] -e .
Usage
Getting help
amicleaner --help
Fetch and clean
Print report of groups and amis to be cleaned
amicleaner --full-report
Keep previous number of AMIs
amicleaner --full-report --keep-previous 10
Regroup by name or tags
amicleaner --mapping-key tags --mapping-values role env
Exclude amis based on tag values
amicleaner --mapping-key tags --mapping-values role env -excluded-mapping-values prod
Skip confirmation, can be useful for automation
amicleaner -f --keep-previous 2
Activate orphan snapshots checking
amicleaner --check-orphans
Delete a list of AMIs
amicleaner --from-ids ami-abcdef01 ami-abcdef02
See this blog article for more information.
History
0.1.0 (2016-08-22)
First release on PyPI.
0.1.1 (2016-08-22)
Documentation update
rst files in pip package
Metadata
Release files for aws-amicleaner 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aws-amicleaner-0.2.2.tar.gz | 17.9 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aws_amicleaner-0.2.2-py3.6.egg | Legacy Egg format | - | - | Details |
| aws_amicleaner-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.0 kB
Release files / aws-amicleaner-0.2.2.tar.gz
| Download URL | aws-amicleaner-0.2.2.tar.gz |
|---|---|
| Size | 17.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8a8721c055e59a20e56dd1796ff1228ae5c165341c104267c43e881e3cd8fdf
|
|
BLAKE2b-256 checksum How to use checksums |
47c7b3f15132bf0220142612f9fe8bbdd1ad521f182394a7acc1cabcd3c1e2dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / aws_amicleaner-0.2.2-py3.6.egg
| Download URL | aws_amicleaner-0.2.2-py3.6.egg |
|---|---|
| Size | 25.2 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
a2dbec1ee7e299fda0e0c3ccf70cb9aacc0c58fd0a21926c86ac2a5756a91100
|
|
BLAKE2b-256 checksum How to use checksums |
5bcf9358ed763d5c9a6f7440f36d50233f8a016aa087f47cc7fc376789b4c22a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / aws_amicleaner-0.2.2-py3-none-any.whl
| Download URL | aws_amicleaner-0.2.2-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4e1d60d0c1dec7d24614aede6deff0a807531b29d348d1cf3f52361da69b2b70
|
|
BLAKE2b-256 checksum How to use checksums |
2ec6e1bd0e2469b9c111a454244f532bc4e1ac76c844c8776e66f97bfe17481f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |