Cost management of Metworx related AWS resources
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 you monitor and control your AWS costs. This document describes those recommendations for monitoring, alerting, and allocating these costs.
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 metworx 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 columna
- Step 3: Click Activate.
Note: For workflows/new deployments after the upcoming 20.09 release, the "Application" tag key will have "Metworx" value for all Metworx-related resources and can be used instead of MetworxOrganization.
For more information on activating cost allocation tags, click here: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html
At MRG, 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. But, in the most basic sense, when creating an alarm, you want to take two basic 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 we utilize are 1. an alarm that flags potential billing abnormalities and 2. 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: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html
To help track your overall spending, you can take advantage of the AWS Budgets feature, where you can enter your organization's key budget information, allowing you to compare your 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
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.