This is a simple CLI tool that wraps the AWS Cost Explorer APIs to be able to quickly identify cost anomalies between monthly bills.
- Comparing costs between two different months
- Creating a CSV report to show changes in the bill
- Diagnosing which specific line item changed the most to identify anomalies
- AWS Credentials Setup locally
- Access to Cost Explorer APIs (
ce:*)
brew tap rocketmiles/aws-cct https://github.com/rocketmiles/aws-cct
brew install aws-cctUpdating
brew upgrade aws-cctDownload from the releases
go get github.com/rocketmiles/aws-cctFor full usage, see the help page with aws-cct help:
NAME:
aws-cct - AWS Cost Comparison Tool
USAGE:
aws-cct [global options] command [command options] [arguments...]
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--start value First month to compare (2020-01-01) (default: "2021-09-01")
--end value Second month to compare (2020-02-01) (default: "2021-10-01")
--cost-metric value Cost Metric to compare (NetAmortizedCost, UnblendedCost, etc.) (default: "NetAmortizedCost")
--service value Define a service to dig into
--tag value Tag value to filter results (app=web, env=prod, etc.)
--sort value Column to sort results on (name, start, end, delta, deltapercent) (default: "name")
--sort-order value Order to sort in (asc or desc) (default: "asc")
--output value Output format (supported formats: table, csv) (default: "table")
--help, -h show help (default: false)
Simple usage
aws-cctCheck Unblended Costs
aws-cct --cost-metric UnblendedCostDig into EC2 costs
You can get the string from the initial output. Simply copy the value in the "SERVICE" section and you can filter into that
aws-cct --service "Amazon Elastic Compute Cloud - Compute"Filter by tags
You can get filter costs by tag, to return costs for resources that match all specified tag values.
aws-cct --tag app=widgetizer --tag env=productionCompare Older Months
aws-cct --start 2020-08-01 --end 2020-09-01Sort on a column
You can sort on any column, ascending or descending, for example to see the largest deltas first.
aws-cct --sort delta --sort-order descOutput in CSV format
This will output in a CSV friendly format and you can utilize this to do analysis or for reporting.
aws-cct --output csvDiagnose where the largest cost increase is coming from
Between March & April 2022:
First, figure out which service has the largest cost
aws-cct --start 2022-03-01 --end 2022-04-01 --sort delta --sort-order descThen, copy that full service name and dig into which specific line item within that service increased the most.
In this example, the EC2 costs are high and we want to see what specifically increased.
aws-cct --start 2022-03-01 --end 2022-04-01 --sort delta --sort-order desc --service "Amazon Elastic Compute Cloud - Compute"Requires Go >= 1.15.3
Build with go build
You should see a local binary called aws-cct which you can use to interact with
MIT