Tools used by Health Informatics Centre (HIC) to calculate AWS costs.
pip install git+https://github.com/hic-infra/hic-aws-costing-tools
Costs for yesterday, split by service
aws-costs
Costs can be grouped by two dimensions/tags.
The default is Account name (--group1 AccountName) and Service (--group2 Service).
For examples, costs for December 2022, split by AWS account name and cost tag Proj, using an IAM role that can access all AWS accounts in the organisation.
Note that this utility requires tags to be suffixed with $ to differentiate them from other dimensions.
aws-costs --start 2022-12-01 --end 2023-01-01 --group2 'Proj$' \
--assume-role arn:aws:iam::012345678901:role/Organisation-CostExplorer-role \
--granularity monthly --output full
Use --output csv to get a CSV file with the costs.
If you want to import this data into a tool like PowerBI that expects key-value inputs use --output flat.
aws-costs --help
Generate a markdown report for costs grouped by Proj and CreatedBy cost allocation tags, as a CSV:
aws-costs --group1 'Proj$' --group2 'CreatedBy$' \
--output full --start 2023-06-16 --end 2023-07-16
Generate a day by day report for costs grouped by Proj and CreatedBy (default granularity is monthly):
aws-costs --group1 'Proj$' --group2 'CreatedBy$' \
--output flat --start 2023-06-16 --end 2023-07-16 --granularity daily
from hic_aws_costing_tools import aws_costsAnd see the code in hic_aws_costing_tools/aws_costs.py.
Docstrings will be added in the future.