If you work in technology, it's reasonable to think that you have some respect for science.
And if you have some respect for science, then you'll understand why spending a significant chunk of your monthly AWS bills on fossil fuel powered infrastructure isn't a thing we can afford to do anymore.
Because Amazon provide a helpful breakdown of which regions you use run on what they refer to as sustainable power, and which ones do not, and because they provide a cost-explorer tool, you combine this information to get an idea of where you might be spending money on fossil fuels without realising.
You can also just look at this nice cartoon. The ones which are notionally sustainable, have the green leaf next to them:
TODO:
- Sort your monthly spend into green vs grey spend
- Create a basic table showing this
- Show this as a chart
- Project forward, using AWS's cost projection features, to help you see these against your own commmitments
- Enable AWS Cost Explorer: Simply opening AWS CostExplorer in the AWS console
- An IAM user with CostExplorer read permissions
You can use aws configure
to export keys as access, or manually export:
AWS_ACCESS_KEY_ID='YOUR_KEY_ID'
AWS_SECRET_ACCESS_KEY='YOUR_SECRET_ACCESS_KEY'
This is a wrapper around the AWS NodeJS SDK, so by default, it looks for creds in your environment the way the AWS NodeJS normally does. However, you can also set following the environment variables to override these to try it out. It looks for the AWS credentials in your environment, but if you're not comfortable with this, the AWS SDK lets you pass in credentials in number of ways.
npx @tgwf/green-cost-explorer
If you have it installed and npm link
-ed locally you can run:
npx greencost
If all goes well, you'll get something like this (sample data below):
┌──────────────────────────────┬──────────────────────────────┐
│ Total Green Cost │ Total Grey Cost │
├──────────────────────────────┼──────────────────────────────┤
│ 49.0% ($146.66) │ 51.0% ($152.48) │
└──────────────────────────────┴──────────────────────────────┘
┌──────────────────────────────┬──────────────────────────────┬──────────────────────────────┐
│ month │ Green Cost by month │ Grey Cost by month │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-08-01 │ 64.8% ($11.55) │ 35.2% ($6.27) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-09-01 │ 27.5% ($13.42) │ 72.5% ($35.47) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-10-01 │ 66.6% ($13.60) │ 33.4% ($6.82) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-11-01 │ 68.0% ($13.59) │ 32.0% ($6.39) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2018-12-01 │ 34.0% ($11.62) │ 66.0% ($22.54) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2019-01-01 │ 52.0% ($19.43) │ 48.0% ($17.94) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2019-02-01 │ 49.4% ($19.64) │ 50.6% ($20.13) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2019-03-01 │ 52.0% ($21.61) │ 48.0% ($19.92) │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ 2019-04-01 │ 56.6% ($22.19) │ 43.4% ($16.99) │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
There are also flags to let you see a breakdown by service as well.
Note: Only infrastructure costs are taken into consideration. Non-infrastructure global costs like Taxes are ignored.
Feel free to use this commercially - part of your job as a professional in tech is to avoid unnecessary harm, and burning fossil fuels to run our infrastructure:
- objectively causes harm
- is avoidable, by either switching regions, or using a different provider, or contacting AWS about offsetting the emissions from running infra in their non-sustainable regions.
To be honest, given this is all about tracking your own spend, so it's actually pretty hard to make this something you couldn't use for commercial use.
So, Apache 2.0, yo.
Thanks goes to these wonderful people (emoji key):
Franka 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!