AWS Cloud Financial Management

Improve Cost Visibility and Observability with AWS Cost Categories – Part 1: Fundamentals and Basic Grouping Techniques

As cloud environments continue to expand and evolve, deriving value from their cloud investments becomes paramount for businesses operating on AWS. The ability to group and analyze costs across resources and accounts is crucial for gaining visibility, identifying optimization opportunities, and making data-driven decisions. Organizations aim to accurately allocate and track cloud costs across different business units, projects, and environments to improve budgeting, enable effective chargeback processes, and make informed optimization decisions. With AWS Cost Categories, a free feature, you can create rules to flexibly group and visualize cost using various dimensions such as account, charge type, service and even other Cost Categories.

In this first part of our two-part series, we will explore the fundamentals of AWS Cost Categories and demonstrate how they can transform your cost management approach. We’ll cover:

  1. Cost Categories overview and key benefits
  2. How to flexibly group and visualize costs using ‘ANY’ or ‘ALL’ operators
  3. Practical implementation examples including:
    1. Cost grouping by region
    2. Cost grouping across multiple dimensions
    3. Splitting charges within AWS Cost Categories

Through these examples, you will learn how to implement AWS Cost Categories to gain better control and visibility over your cloud spending, enabling more accurate cost allocation, improved financial planning, and strategic decision-making.

AWS Cost Categories Overview

AWS Cost Categories, a feature within the AWS Cloud Financial Management product suite, allows you to create customized categories to map and organize your cloud spending based on your organizational structure and business needs. This empowers organizations to effectively manage their cloud finances, enabling accurate cost allocation, streamlined chargeback processes, and data-driven optimization decisions. This feature addresses key business needs such as tracking expenses across complex organizational structures, attributing costs to specific projects or departments, and gaining granular insights for budget planning and cost control.

Using Cost Categories, you can map your cost and usage information based on defined rules using various dimensions, such as Linked Account and Cost allocation Tags. Once Cost Categories are set up and enabled, you will be able to view your cost and usage information by these Cost Categories starting at the beginning of the month or retroactively for up to 12 months in AWS Cost ExplorerAWS Budgets, Data Exports, AWS Billing Conductor, and AWS Cost Anomaly Detection.

Prerequisites

To follow along with this post, make sure you have the following prerequisites in place:

  1. An AWS account. If you don’t have one, follow the instructions here to create and activate it.
  2. A fundamental grasp of creating Cost Categories.
  3. Activated Cost allocation tags. Once activated, it typically takes up to 24 hours for these tags to become available for use.
  4. Appropriate IAM permissions to access and manage AWS Cost Categories (ce:CreateCostCategoryDefinition, ce:DeleteCostCategoryDefinition, ce:DescribeCostCategoryDefinition, ce:ListCostCategoryDefinitions, ce:UpdateCostCategoryDefinition).

How to flexibly group and visualize cost using Cost Categories

Before diving into specific examples, let us explore various ways to group and analyze your AWS costs using Cost Categories. Throughout this guide, we will use regional cost tracking as our primary example to demonstrate these grouping capabilities.

Regional cost tracking is a critical requirement for organizations operating global cloud infrastructures. Many enterprises need to monitor and analyze their AWS spending across different geographical locations to support regional business units, comply with local regulations, and optimize resource allocation. By selecting the ‘Region’ dimension, you can create Cost Categories that align with your global AWS footprint. This enables granular visibility into spending patterns across your operational regions, such as US East (Virginia) (us-east-1), US East (Ohio) (us-east-2), etc.

With this level of regional cost breakdown, you can identify opportunities for optimization, such as resource allocation, and disaster recovery planning. Tracking costs by regions, as shown in Figure 1, helps identify where your highest expenses occur and enables strategic decisions about resource placement and regional pricing advantages.

Figure 1. Cost Explorer view of cost breakdown with group by via dimension ‘Region’

Figure 1. Cost Explorer view of cost breakdown with group by via dimension ‘Region’

Beyond granular region-level visibility, you can consolidate and categorize your cloud costs based on geographic regions that align with your organization’s structure and reporting needs. For example, if your business operates across North America, Europe, Asia-Pacific, and Latin America, you can create custom Cost Categories to group your AWS spending accordingly. Instead of viewing costs broken down by individual AWS Regions like us-east-1 or eu-central-1, you can define broader categories such as ‘Cost in North America’, ‘Cost in EMEA’, ‘Cost in APAC’, and ‘Cost in LATAM’. This allows you to gain a higher-level, regional perspective on your cloud expenditure, which may be more meaningful for your finance, operations, and executive teams.

To accomplish this, you can leverage the ‘Region’ dimension in the AWS Cost Categories feature. Simply create a new Cost Category rule, and under the ‘Region’ dimension, specify the appropriate values that map to your preferred geographic groupings.

Cost Grouping by Region

To create a Cost Category with Region dimension:

  1. Navigate to AWS Cost Categories by searching ‘Cost Categories’ in the AWS Console search bar, or access it through the Billing and Cost Management Console’s left navigation menu.
  2. Click ‘Create Cost Category’ on the AWS Cost Categories console.
  3. Group your costs
    1. Name your ‘Cost Category’ as ‘Cost By AWS Regions’ and click ‘add rule’ to group your cost.
    2. Select your rule type as ‘Manually define how to group costs’.
    3. Select the dimension as ‘Region’ to group the cost by, select the matching operator as ‘Is’ and select the value for the dimension.
    4. Before creating the rule by clicking the ‘Create rule’ button, provide a name such as ‘Cost in NAMER’ for the cost group.

Figure 2 below illustrates how you can define these regional Cost Categories:

Figure 2. Cost Category with Region dimension

Figure 2. Cost Category with Region dimension

Note: 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 select the ‘AWS Regions’ Cost Category, you will see a detailed cost breakdown for each region, as shown in Figure 3. You may notice an ‘uncategorized’ segment in the report, which represents costs that are not tied to any specific AWS Region. By clicking on this ‘uncategorized’ section, you will be taken to a filtered view in Cost Explorer. This view helps you identify which services are generating these uncategorized costs, and you can apply additional filters, such as linked accounts, to determine who owns these expenses. It is important to note that not all AWS costs can be categorized by region due to the nature of certain global services or specialized pricing components. Understanding these uncategorized costs through Cost Explorer helps you identify any potential gaps in your cost allocation strategy and maintain comprehensive cost visibility across your AWS environment.

Figure 3. Cost Category - Cost by AWS Regions

Figure 3. Cost Category – Cost by AWS Regions

‘ANY’ or ‘ALL’ Operators:

The rule creation process includes two powerful operators: ‘ANY’ and ‘ALL.’ The ‘ANY’ operator enables you to create more inclusive rules by allowing costs to be grouped based on multiple conditions within a single dimension. Conversely, the ‘ALL’ operator enables you to create more specific rules by requiring costs to match all the specified conditions.

For instance, you want to consolidate all costs related to your ‘North America’ operations. You can use the ‘Region’ dimension and apply the ‘ANY’ operator to include multiple region values such as ‘us-east-1’, ‘us-east-2’, ‘us-west-1’, and ‘us-west-2’. This approach ensures that your ‘North America’ Cost Category encompasses expenses from all these regions, offering a comprehensive overview of your spending in this geographic area.

On the other hand, the ‘ALL’ operator allows you to create more specific rules by requiring costs to match all the specified conditions.

The flexibility offered by the ‘ANY’ and ‘ALL’ operators empowers you to define Cost Categories that align precisely with your organization’s needs, whether you are looking for broader, more inclusive groupings or narrowly targeted, specific cost tracking.

Grouping cost with Multiple Dimensions

We can also use multiple dimensions inside the Cost Category definition to group and visualize cost. In the example below, you can visualize the cost of each of their accounts by region by adding both dimensions in a single rule and choosing the appropriate cost values. To accomplish this, you can leverage the existing Cost Category ‘Cost by Region’ illustrated above as one of the dimensions in the AWS Cost Categories feature.

To create a new multiple dimensions Cost Category ‘Account spend by region’ to group cost of each of their accounts by region, follow these steps:

  1. Click ‘Create Cost Category’ on the AWS Cost Categories console.
  2. Grouping your costs
  3. Name your ‘Cost Category’ as ‘Account spend by region’ and click ‘add rule’ to group your cost.
  4. Select your rule type as Regular rule to Manually define how to group costs
  5. Add the ‘Account’ dimension and select the appropriate values.
  6. Click ‘Add condition’ to add another dimension to the rule, Select the existing Cost Category ‘Cost by Region’.
  7. Provide a name such as “AccountA in NAMER” for the cost group, and then click the “Create rule” button.

By using multiple dimensions in a single Cost Category rule, as shown in Figure 4, you can effectively visualize the cost of each account by region.

Figure 4. Cost Category Multiple Dimensions Rule definition

Figure 4. Cost Category Multiple Dimensions Rule definition

Configure the Cost Category by adding individual rules that map specific AWS account and region combinations as shown in Figure 5, ensuring accurate cost allocation across geographical segments like NAMER and APAC based on AWS regional spend patterns

Figure 5. Cost Category Multiple Dimensions

Figure 5. Cost Category Multiple Dimensions

Splitting charges within AWS Cost Categories

We can use split charges to allocate costs across multiple Cost Category values. This is useful when a cost cannot be directly attributed to a single Cost Category bucket, definition, or owner. Common examples include data transfer costs, API metrics with aggregated costs, and support costs. You can define split charge when you create or edit your Cost Categories and allocate these charges using the following allocation methods – Proportional, Fixed or Even Split.

To split charges, follow these steps:

  1. For existing Cost Categories, click ‘Split charges’ tab, and then ‘Create Split charge’.
  2. Select the ‘Source value’ that you want to split and name your uncategorized costs.
  3. Chose the ‘Target value’ – Choose one or more target Cost Category values to allocate the source Cost Category value to.
  4. Chose any of the below appropriate ‘Charge Allocation Method’
    1. Proportional – Allocates costs using proportionally weighted target values, ideal for organizations that want cost distribution to reflect actual resource consumption. For example, if Project A uses 60% of the compute resources and Project B uses 40%, the AWS costs would be split accordingly using this method, ensuring that projects consuming more resources bear a larger portion of the costs.
    2. Fixed – To Allocate your costs by defining a percentage for each of your target values. For Organizations with strict budgetary agreements or cost-sharing arrangements. For example, if a consulting firm has three clients with predefined agreements, Client X could be allocated 50%, Client Y 30%, and Client Z 20% of the total AWS costs, regardless of actual usage. This method ensures compliance with contractual obligations and simplifies billing, even when actual resource consumption varies.
    3. Even Split – Allocate your costs evenly across your target values. For Organizations where resources are shared equally or when detailed usage tracking is not necessary. For example, if a university research department has five teams sharing AWS resources, each team would be responsible for 20% of the total AWS costs, regardless of their individual usage patterns. This method promotes collaboration and simplifies budgeting by ensuring equal cost distribution among all participating groups.
  5. Click ‘Next’ and ‘Save changes’.

Figure 6, Cost Category – Split Charges and Figure 7, Cost Category – Create Split Charges below illustrate how you can create split charges on an existing Cost Category and allocate the uncategorized spend proportionally (using the allocation method) to existing Cost Category values:

Figure 6. Cost Category – Split Charges

Figure 6. Cost Category – Split Charges

Figure 7. Cost Category – Create Split Charges

Figure 7. Cost Category – Create Split Charges

Figure 8 below shows the Uncategorized spend ‘Split-Charge’ is Proportionally split across the other values in the Cost Category.

In this example, there was an uncategorized cost of $7.74 that has been proportionally split across the four regions. The ‘Total Allocated Cost’ metric includes both the raw cost for each region and its portion of the split uncategorized cost. This provides a more comprehensive view of costs, ensuring that all expenses, including those initially uncategorized, are appropriately allocated to each region.

Figure 8. Cost Category –Split Charges Allocated

Figure 8. Cost Category –Split Charges Allocated

Clean Up

While AWS Cost Categories do not incur any charges, you may want to clean up test configurations to maintain organizational clarity in your cost reporting.

To Delete Test Cost Categories:

If you created ‘Cost Categories’ for testing or learning purposes, you can remove them to keep your cost reporting organized

  • Navigate to the AWS Cost Categories console.
  • Select the test ‘Cost Category’ you want to remove.
  • Choose ‘Delete’ from the Actions menu.
  • Confirm deletion by typing the Cost Category name.

Important Notes:

  • Cost Categories are a free feature and do not generate any AWS charges.
  • Cost Category deletion cannot be undone.
  • Historical cost data associated with deleted ‘Cost Categories’ will no longer be available for reporting.
  • It may take up to 24 hours for Cost Category deletions to fully process.
  • Deleted Cost Categories will still appear in historical reports for the time period they were active.

Conclusion

In this first part of our series, we’ve explored how AWS Cost Categories can transform your approach to cloud financial management. We’ve covered the fundamentals of creating and configuring Cost Categories, using flexible operators to define grouping rules, and implementing practical examples for regional cost tracking, multi-dimensional analysis, and charge splitting.

By implementing these foundational AWS Cost Categories techniques, organizations can achieve:

  • Enhanced visibility into spending patterns across different regions and accounts.
  • More accurate cost allocation aligned with business structures.
  • Flexible grouping capabilities that adapt to your unique organizational needs.
  • Improved financial reporting with consistent categorization across all AWS cost management tools.
  • These capabilities enable more informed decision-making, better budget planning, and clearer cost accountability across your organization. The ability to group and analyze costs in meaningful ways provides the foundation for a mature cloud financial management practice.

In part two of this series, we will build on these fundamentals by exploring advanced techniques for hierarchical ost categorization and programmatic management. We’ll demonstrate how to create multi-level organizational structures within your Cost Categories and how to automate ‘Cost Category’ creation and management at scale using AWS APIs and JSON templates.

Karthikeyan KM

Karthikeyan KM

KM is a Senior Technical Account Manager supporting Enterprise Users at AWS. With over 20 years of IT experience, he focuses on designing secure, reliable, and scalable solutions while ensuring operational excellence. He is passionate about helping customers accelerate their digital transformation journeys through efficient cloud architectures that align with their business objectives.

Bhaskar Mazumdar

Bhaskar Mazumdar

Bhaskar is a Senior Technical Account Manager with extensive experience helping organizations optimize their cloud infrastructure and accelerate their digital transformation journeys. He focuses on designing scalable, secure, and cost-effective architectures that align with business objectives.

Vivek Somi

Vivek Somi

Vivek is a seasoned Technical Account Manager focused on security and cloud financial management at Amazon Web Services (AWS). He plays a pivotal role in supporting State and Local Government customers. He acts as a trusted advisor, guiding AWS customers through the complexities of AWS services to achieve their strategic outcomes.