Cost Tagging and Reporting with AWS Organizations
Voiced by Amazon Polly
Organized, meaningful cost and usage data helps make informed decisions for your cloud investment. AWS provides various resources and tools to help you organize resources and accounts, such as AWS Cost Categories, AWS Control Tower, and AWS Organizations.
AWS Organizations is a great service to centrally manage and govern your AWS environment. You can programmatically create AWS accounts, group them, and apply policies to them for governance purposes. If you are looking for a way to allocate AWS costs using your existing account structure in your AWS Organizations, then this blog is for you. Today we will take you through how you can use AWS organizations for cost tagging and reporting in your organization, a widely used strategy for many of our customers.
This process is based on all costs associated with your AWS account, meaning there is little to no dependency on resource level tags. Many of you use resource level tags for an extra layer of detail. Learn about how you can use the AWS-Generated and User-Defined Cost Allocation Tags, and how you can enforce and validate resource tags. After you enable these resource level tags as AWS Cost Allocation Tags in your Billing and Cost Management Console, the metadata will appear in your cost management tooling such as the Cost and Usage Report (CUR) and Cost Explorer. However, costs such as data transfer and support fees are trickier to tag, causing additional metering and calculations to happen in order to correctly allocate. To get around some of these complexities, we’ve seen an increasing number of customers track their cost at the account level using AWS Organizations.
With the AWS Organizations Cost Tagging method, you can follow the model that, everything in one account is owned by one business unit, one type of environment, and charged to one cost center. To associate some of the metadata to your accounts, which will be useful in cost tagging, we recommend using account tags. To learn about account level tagging, please refer to our user guide Tagging AWS Organizations resources.
What to tag where
When you start using the AWS Organizations tagging strategy, it is key to work out which tag belongs to which account and which resource. To do this, make sure you align with your stakeholders about why you are tagging. As we are tagging for the use of cost in this blog, we have provided some examples. This blog gives you a list of common tags we have seen customers use and we have sorted them by Account and Resource. This is not necessarily a ‘one size fits all’ solution, but if you are new to the AWS Organizations cost tagging, it is a good starting point.
Currently, your AWS Organizations account level tags can’t be activated as Cost Allocation resource tags and therefore the tag data is not in your cost management tooling, such as Cost Explorer or CUR. To solve this problem, we have created a couple of resources for you to utilize. The first is an AWS Well-Architected Lab: Organization Data CUR connection that will show you how you can pull data from your AWS Organizations and associate them with your CUR report in AWS Athena. This way you can see your usage with account identifiers when you run Athena queries. We will go into more depth about this below. If you prefer reporting through AWS Cost Explorer, you can refer to the blog post Cost Reporting Based on AWS Organizations Account ID Tags as an alternative. This explains how you can pull data from AWS Organizations Tags and connect it with summarized data from AWS Cost Explorer and deliver them as a csv file to your designated Amazon S3 Bucket. You can choose an option that better suits your needs.
Getting Started with the Well-Architected Lab
The Lab guides you through setting up an AWS Lambda function to automatically query and extract data such as account ID, account name and, those all-important account tags from your AWS Organizations. This data will be refreshed once a week but you can adjust the frequency per your preference. This data is then stored in Amazon S3 and then, in Amazon Athena and we can join the Organizations data with the CUR report. Below is an example of how the account names are shown with CUR data.
Now you have this account metadata connected to your CUR, reviewing costs and combining them under an account name or cost center becomes a lot easier. However, sometimes you may need instructions to get started. You can refer to this Cost and Usage Reports User Guide for an overview.
Getting the Costs to Allocate
The CUR, many of you will concur, offers the most comprehensive sets of cost and usage data an AWS customer can access. This report can yet be millions of lines long and have hundreds of columns and contains data showcasing usage across your entire AWS Organizations. From data transfer costs to per second lambda usage, down to each GB off storage you utilize, the CUR has it all. This is invaluable when it comes to Cloud Financial Management (CFM) and getting the most out of the AWS ‘pay for what you use’ model.
Using SQL you can query this data to allocate costs. We have released a new AWS CUR Queries Library in the AWS Well-Architected Labs which contains a collection of curated SQL queries. This will help you to dive deep into your data and extract meaningful results. And, now you have enriched your CUR, using the lab above, you can use this in your reports. Using your AWS Organizations tags in these queries will allow you to break down cost as you need to.
Visualizing these Allocated Costs
Following this, if you would like to get a more visual experience to see how these costs are broken down and how distribution of spend is across your organization, we have the Enterprise Dashboard. This Dashboard is a great way to remove the complexities of cost & usage analysis and gives you a great insight into how you are using and spending on AWS services. It’s super quick to set up and gives you the flexibility to make it your own.
Hopefully, this blog has given you some useful insights into how you can use your AWS Organizations account tags to allocate costs and, using the Well-Architected Labs, you can better leverage your Cost & Usage Report and explore how you can get more out of your data.