* Latest update: July 19th, 2019 - added details for e-mail integration
Staying on top of AWS cost is a painful thing to do. Many AWS customers I talk to are concerned about cost management and they’ve mentioned the following problems:
- Managing AWS cost requires a lot of knowledge and it is time consuming - it’s very easy to become overwhelmed by it. Many AWS customers don’t have neither the expertise nor the time to do it effectively.
- Once you have your applications running, it’s very easy to get a “bad AWS billing surprise” at the end of the month. Many customers I’ve talked to have learned this the hard way, unfortunately. Others are concerned that one month they’ll have to deal with unexpected AWS charges worth hundreds - or even thousands- of dollars.
- There are tools, such as AWS Cost Explorer, but many customers don’t have time to visit the AWS console every day and monitor cost closely. Other AWS tools, such as CloudWatch Billing Alarms are not detailed enough and don’t help with understanding exactly where your money is going.
- Instead of having to go somewhere to get updates, customers want AWS cost information to come to them.
- Many 3rd party tools are geared towards customers that already spend many thousands of dollars each month in AWS. For these customers, it makes sense to spend a few hundred or even thousands of dollars a month just in cost monitoring. For the rest, it’s not economical.
- Even for customers who can pay for expensive cost monitoring tools, there is no direct way to coordinate corrective actions with their teams or to keep track of what needs to be done in order to fix AWS cost issues.
That’s why I created MiserBot, a stingy chatbot that will make sure you don’t spend more than you have to on AWS! MiserBot saves you money and it increases your team’s productivity by making AWS cost information easily accessible, in a natural language format, from a proven collaboration tool such as Slack.
Ok, but how can a chatbot help me save money on AWS?
Finding ways to save money on AWS is the perfect job for a bot!
MiserBot is proactive, it’s always looking for your latest AWS cost and usage data. As soon as the latest information is ready, MiserBot analyzes it for you and within minutes it sends your team a message via a Slack channel. You will know right away if things are looking good with your AWS bill (or not). This will save your team a lot of time and it will help you identify anomalies early, so they can be corrected.
If you want to drill-down on your cost, you can ask MiserBot more details. For example, MiserBot can break-down your cost by service, usage types and even by resource.
Right now MiserBot supports the following features:
- Integration with Slack
- E-mail integration. You can receive daily updates about your AWS cost directly to your e-mail.
- It returns the total accumulated AWS cost for the month, as soon as the latest AWS cost and usage data is available.
- It tells you which AWS services you’re paying for (e.g. EC2, S3, etc.) and their respective cost.
- It returns a list of AWS usage types and their cost in the current month (e.g. t2.2xlarge box usage, EBS storage, data transfer, etc.). This will help you uncover unforeseen costs associated to your components.
- It tells you the top AWS resources you’re paying for and their associated cost (e.g. EC2 instance ID, EBS volume ID, etc.). This lets you see your most expensive AWS components (did you forget to terminate that r4.16xlarge? Is that S3 bucket storing too many files?). By the way, you can’t find this information in AWS Cost Explorer.
Setup Instructions
MiserBot can send you updates to both Slack and your e-mail.
Slack
Like any other Slack chatbot, you need to add it to your team first. Once it’s added to Slack, MiserBot needs read-only access to your AWS Account and it also needs the ability to configure AWS Cost and Usage reports.
So, here are the steps to install MiserBot in Slack…
1. First, you already have a Slack account and team.
If not, you can get started with Slack here.
2. Add MiserBot to your Slack team
Click on the “Add to Slack” button below:
Then select a Slack channel and authorize MiserBot in the Slack OAuth page:
Go to your team page in Slack (typically https:/{your-team-name}.slack.com
)
3. Give MiserBot read-only permissions in your AWS account
Since this is the first time you use MiserBot, it will show you a message with instructions and a link to a CloudFormation template. This template will create an IAM Role and S3 bucket to place AWS Cost and Usage reports.
Complete the CloudFormation steps, which only take a few clicks. If you don’t have AWS Cost and Usage reports enabled, MiserBot will configure one in your account. If you already have AWS Cost and Usage reports enabled, MiserBot will use that existing configuration.
4. That’s it!
When the CloudFormation stack creation completes, MiserBot will send a message to your Slack channel. If this is the first time AWS Cost and Usage reports are enabled in your account, it will take up to 24 hours before cost data is available.
When a new Cost and Usage report is ready, MiserBot will process it and it will send your channel a message with your new accumulated cost for the month.
1. First, let us know your e-mail
Click on this link and let us know your e-mail.
2. Give MiserBot read-only permissions in your AWS account
Similar to the Slack integration, you need to create AWS permissions so MiserBot can analyze your AWS Cost and Usage Reports. The CloudFormation template will create an IAM Role that grants read-only permissions for MiserBot and limited permissions to configure AWS Cost and Usage reports.
You will receive an e-mail with a link to create the CloudFormation stack. It only takes one click to create the stack.
3. That’s it
You will receive another e-mail confirming successful creation of the CloudFormation stack. You might have to wait up to 24 hours until the next Cost and Usage report is ready.
See it in action!
This is what you see when a new AWS Cost and Usage report is ready…
*(screenshots are taken from a test account with low usage, but MiserBot can handle accounts that spend thousands of dollars every month)
MiserBot finds your top AWS services…
… usage types
and the top resources by spend…
You can click on each link and it will take you to the AWS Management Console.
In Slack you can also type help
using direct messaging and MiserBot will show you what to do.
By the way, we’re just getting started. We’ve been constantly improving this tool, so stay tuned!
How much does it cost?
You can install MiserBot for FREE! So, click on the button below and give it a try!