- Install jq
- Install the python3 dependencies:
sudo pip3 install -r requirements.txt
Follow the instructions at https://developers.google.com/sheets/api/quickstart/python to setup credentials and API access.
# Print help and usage informations
$> ./run.py --help
# Run with one billing bucket and one EC2 profile
$> ./run.py --billing profile_name billing-bucket-name prefix --ec2 profile_name --xlsx-name filename
# Run with multiple billing buckets and EC2 profiles
$> ./run.py --billing profile_name billing-bucket-name prefix --billing profile_name2 billing-bucket-name2 prefix2 --ec2 profile_name --ec2 profile_name2 --xlsx-name filename
The tool is built to use AWS credentials stored in ~/.aws/credentials
.
If you set the profile to env
, the tool will use environment variables you must supply instead.
The docker container do not export any data to google sheets.
However it generates CSVs in the out
directory, and a local spreadsheet generation will be added soon.
# Pull the msolution/aws-cost-report image
$> docker pull msolution/aws-cost-report
# Build your own msolution/aws-cost-report image
$> docker build -t msolution/aws-cost-report .
# Run with one billing bucket and one EC2 profile, using env credentials
$> docker run -v /local/path/out:/root/aws-cost-report/out -e AWS_ACCESS_KEY_ID=accesskeyid -e AWS_SECRET_ACCESS_KEY=secretaccesskey -e AWS_DEFAULT_REGION=default-region -e AWS_SESSION_TOKEN=sessiontoken(optional) msolution/aws-cost-report --no-generate-sheet --billing env billing-bucket-name prefix --ec2 env --xlsx-name filename
# Run with multiple billing buckets and EC2 profiles, using your local aws credentials
$> docker run -v /path/to/credentials:/root/.aws:ro -v /local/path/out:/root/aws-cost-report/out msolution/aws-cost-report --no-generate-sheet --billing profile_name billing-bucket-name prefix --billing profile_name2 billing-bucket-name2 prefix2 --ec2 profile_name --ec2 profile_name2 --xlsx-name filename
Download the report example here.