Cost Management of Metworx Related AWS Resources
Scope
In general, customers are responsible for their incurred AWS costs. However, we want to outline some of MetrumRG's own internal practices and offer them as recommendations that you can potentially utilize to help monitor and control your AWS costs.
This document describes those recommendations for monitoring, alerting, and allocating these costs, specifically as they relate to Metworx activity.
Recommendations
1. Activate Costs Allocation Tags
In the AWS payer account, Metworx-specific user-defined cost allocation tags should be defined and utilized. You can use tags to organize your resources, and cost allocation tags are particularly helpful at providing key details about your AWS account activity.
We recommend enabling the following Metworx-specific cost allocation tags (note - you will not need to create these custom tags, they will be included as part of your original account set up):
Tag Key | Tag Value |
---|---|
MetworxOrganization | This tag is used to identify Metworx-related resources. When activated, the value will be the Mtworx organization as it is defined on the Metworx GUI Dashboard |
MetworxWorkflowOwner | This tag is used to identify specific Metworx users. When activated, the value of this tag will be the email address associated with the user that created the workflow. This tag is particularly helpful when reviewing and allocating costs to each Metworx user |
The image below lays out the basic steps you can take to activage cost activation tags.
- Step 1: login to the "Payer" AWS account, and go to Service->Billing->Cost Allocation Tags
- Step 2: Select tags to activate by checking the box in the in the left-hand column
- Step 3: Click Activate
For more information on activating cost allocation tags, click here: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html
2. Create CloudWatch Alarms for Billing Events
At MetrumRG, we have some basic alarms set up via AWS to help us monitor usage related to our account. Linked below is the AWS documentation for creating alarms. If you are interested in potentially utilizing alarms, we recommend reading through the relevant parts of the documentation as you get started. https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html
In the documenation linked above, you will see that there are a lot of options when it comes to creating alarms for your AWS account.
In the most basic sense, when creating an alarm, you want to take two steps:
- Step 1: Create the SNS notification and subscribe your key personnel responsible for the AWS bill to it.
- Step 2: Then you want to enable CloudWatch billing alarms and send notifications to the SNS, which will alert all key personnel when an alarm is set off.
Two alarms that MetrumRG utilizes are:
- An alarm that flags potential billing abnormalities
- An alarm that alerts key personnel that your organization is approaching its pre-determined budget for the month (more on setting up budgets in the next section).
Below are the AWS step-by-step instructions for creating billing alarms in Amazon CloudWatch: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html
3. Use AWS Cost Explorer to Report Metworx Per-User AWS Costs
Once the cost allocation tags have been activated, those tags can be used to report on the spend. In this example, the MetworxWorkflowOwner tag is used to report on monthly per-user AWS spend for the past 6 months.
- Step 1: On AWS Console, go to AWS Cost Management > Cost Explorer. Then, in the "Group By" selector, pick Tag, and select MetworxWorkflowOwner
- Step 2: Resulting report will have per-user costs.
4. Leverage Budgets and Review Budgets Reports
To help track your overall spending, you can take advantage of the AWS Budgets feature. There, you can enter your organization's key budget information, allowing you to compare your actual usage and spending to your budgeted amount. In addition to creating alerts based on your budgets, you can also create reports to allow you to review your spending as well.
For more information on the AWS Best Practices for leveraging budgets, click below. https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html
In case your AWS account is shared with other, non Metworx-related services, you can use allocation tags, as described above, to filter costs. For example, you can utilize allocation tags to review and compare your spending to your budget for your Metworx Organization, as shown below.
We recommend setting up a budget, then configuring alerts AND creating a budget report that gets reviewed daily for abnormalities. For more information on setting up budget reports, click here: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/reporting-cost-budget.html
5. Review Workflows
Our final recommendation is to review the email Metworx sends out each day with the list of active workflows. It is extremely helpful to review the list of active workflows each day and make sure only needed resources remain active.