AWS Cloud Financial Management

More flexibility in grouping AWS resources and accounts with AWS Cost Categories

AWS has launched two new features for creating AWS Cost Categories rules. It has added a new dimension -“Region” to its category rule, and a new dimension operator “OR” to define cost categories rules across dimensions. You can now create cost categories rules with six types of dimensions – “Linked Account”, “Charge Type”, “Service “, “Cost Allocation Tags”, “Region”, and other “Cost Category”. With the ‘OR’ operator, rules can be more inclusive across multiple dimensions.

Background

AWS Cost Categories is a feature within the AWS Cloud Financial Management product suite that enables you to group cost and usage information into meaningful categories based on your needs. You can create custom categories and map your cost and usage information into these categories based on the rules defined by you using various dimensions, such as Linked Account, Cost Allocation Tags. Once cost categories are set up and enabled, you will be able to view your cost and usage information by these categories starting at the beginning of the month or retroactively for up to 12 months in AWS Cost Explorer, AWS Budgets, and AWS Cost and Usage Report (CUR).

How the new features work

The new “Region” Dimension: For organizations who have deployed resources across multiple AWS regions, you can use the group-by function in AWS Cost Explorer and select “region” as the group-by dimension.  These are AWS regions, e.g. US East (Virginia) (us-east-1), US East (Ohio) (us-east-2).

Figure 1: Cost Explorer graph with “group-by” via the dimension of “Region”

Figure 1: Cost Explorer graph with “group-by” via the dimension of “Region”

If you want to consolidate the usage and categorize cost across AWS regions into the preferred geographic regions used by your organization, you can now easily achieve this with the new dimension of “Region” in Cost Categories. For instance, you can create a Cost Category “AWS Regions” to group cost information with rules for cost incurred in NAMER, EMEA, APAC, and LATAM respectively. The screenshots below show how you can create these geo-based cost categories with the new dimension “Region” and define cost categories values: “Cost in NAMER”, “Cost in EMEA”, “Cost in APAC”, and “Cost in LATAM”.

Figure 2: Cost category “AWS Regions” built with the new “Region” dimension

Figure 2: Cost category “AWS Regions” built with the new “Region” dimension

24 hours after the creation of your new Cost Categories, the status of your newly created Cost Categories will be updated from “processing” to “applied”  on the home page of “Cost categories”.  When you click on the actual Cost Categories, for example, the “AWS Regions”, you will see the cost breakdown by each cost category value. In my demo account, the majority of cost is incurred by resources deployed in NAMER. Notice that there is an “uncategorized” segment, in which case is the cost not associated with any particular AWS Region. You can click on the “uncategorized” cost that will lead you to a pre-filtered view in Cost Explorer. You can see what services drove the uncategorized cost, and apply other filters, e.g. linked account, to help you understand the owners behind the cost.

Figure 3: the overview of the newly created “AWS Regions” cost category

Figure 3: the overview of the newly created “AWS Regions” cost category

Figure 4: the pre-filtered view in Cost Explorer for the “uncategorized” cost

Figure 4: the pre-filtered view in Cost Explorer for the “uncategorized” cost

The “OR” operator: Previously, you could only set an “AND” relation across dimensions, for example, a cost category rule of a “Linked Account” with “Account ID 123456789012”, and the dimension “Cost Allocation Tags” with “name:AnalyticsProject”. This rule includes cost incurred by linked account “Account ID 123456789012” who also deployed resources with Cost Allocation Tags of “name: AnalyticsProject”. Using the same dimensions, with the availability of an “OR” operator, you can include cost incurred by linked account “Account ID 123456789012”, or any resources deployed that have Cost Allocation Tags of “name: AnalyticsProject”. This can cover any costs incurred by accounts who aren’t being actively tracked, but have deployed resources for the analytics project.

Next, we want to show how you can use the “OR” operator. Let’s say we want to create a Cost Categories “Marketing Team Usage” that covers all the AWS spend incurred by the Marketing department.

We’ve previously created a Cost Category “Cost Center”, in which we built three Cost Categories rules for “Engineering”, “Marketing”, and “Sales” via the dimension of “Cost Allocation Tags”.  See below the Cost Categories rules for “0020 -Marketing”.

Figure 5:Cost Category rule “0020 – Marketing” from the existing Cost Category “Cost Center“

Figure 5:Cost Category rule “0020 – Marketing” from the existing Cost Category “Cost Center“

Since the marketing department have been using Amazon QuickSight extensively to build visualization dashboards to analyze marketing campaign performance and business trends, we want to assign all QuickSight costs to the marketing department. Due to the fact you can’t tag resources that QuickSight costs are based on, e.g. storage capacity, number of users, type of users, you can’t use Cost Allocation Tags to trace QuickSight costs back to responsible parties. You can, however, use the “OR” operator to include all QuickSight costs to the marketing department. Therefore, we built a Cost Category “Marketing Team Usage”, which used the existing “Cost Category: Cost Center”, value “0020 – Marketing”, the “Service”, service code “AmazonQuickSight”, and created an “OR” logic relation with these two dimensions.

Figure 6: Cost Category rule “Marketing Team cost” for the new Cost Category “Marketing Team Usage”

Figure 6: Cost Category rule “Marketing Team cost” for the new Cost Category “Marketing Team Usage”

24 hours after the creation of the new Cost Category “Marketing Team Usage”, we could see the actual cost allocated.

Figure 7: Overview of the new Cost Category “Marketing Team Usage”

Figure 7: Overview of the new Cost Category “Marketing Team Usage”

To double check whether the new Cost Category value “Marketing team cost” includes both the cost of the “0020 – Marketing” cost category value and all the Amazon QuickSight cost, I used Cost Explorer and filtered with the Cost Category value “0020 – Marketing” from the existing Cost Category “Cost Center” and “Service – QuickSight”, and confirmed the result.

Figure 8: Cost Explorer view with Cost Category “Cost Center” and value ““0020 – Marketing” cost category rule”

Figure 8: Cost Explorer view with Cost Category “Cost Center” and value ““0020 – Marketing” cost category rule”

Figure 9: Cost Explorer view with Service filter and value “Amazon QuickSight”.

Figure 9: Cost Explorer view with Service filter and value “Amazon QuickSight”.

Conclusions

In this blog post, I walked you through examples of how you can leverage the two new features in Cost Categories: the new “Region” dimension, and the new “OR” dimension operator. In the next few weeks, we’ll follow up with another blog and share how you can use Cost Categories to allocate cost for your commitment purchases.

🚀 Get started with AWS Cost Categories