AWS Cost Usage Reports (CUR) Demo

The course is part of this learning path

Start course

This course explores how to visualize your costs in AWS and share them with others. We'll look at some of the tools you can use for this purpose, including the AWS Billing Service, AWS Cost and Usage Reports (CURs), AWS Glue, Amazon Athena, and Amazon QuickSight. You'll follow with guided demonstrations from the AWS platform showing you how to use these services.

Learning Objectives

  • Learn how to visualize your AWS costs
  • Get a practical understanding of how to use the AWS Billing Service, AWS Cost and Usage Reports (CURs), AWS Glue, Amazon Athena, and Amazon QuickSight

Intended Audience

This course is intended for anyone who wants to understand the tools available for visualizing costs in AWS


This course is beginner-friendly, however, to get the most out of it, it would be useful to have some knowledge of cost optimization theory, cloud & finance-related terminology, and a basic understanding of AWS Athena, AWS Glue, Amazon Quicksight, and SQL commands.


The Cost and Usage Report, or CUR, usually is a rather complex CSV File that stores all details about expenses and usage of your AWS resources. Enabling the CUR is important, as it is the most granular, detailed mechanism to collect data for AWS cost and usage. It offers historical, by-the-hour data that can offer clarity on trends and lead to more accurate, data-driven insights.

Until the CUR is enabled, you are losing valuable data about your usage and without it you won't be able to set up any analyses. Conversely, this means that if you do not have any cost and usage reports, you won't be able to use any of the visualization tools.

At this point, we already have our CUR set up and ready. That's why the first thing to do here is to verify that our CUR files are being delivered as they are supposed to. To do so, we can either type the URL to the target bucket that stores our CUR files or we simply go to the Billing Service and select Cost and Usage Reports in the list on the left.

Now here we can see three reports. Two of them are located in the same S3 bucket, in og-test-billing. We can tell how frequent those are updated by looking at the third column and the latest refresh date in the next column. But let's not focus on details of the CUR, because our main intention was to confirm that we have reports available for further processing, so let's move on.

In this case, the location is the S3 bucket named og-test-billing. Let's check it out. A new tab opens and we are now in the S3 Service, more precisely, we are in the bucket itself. Here you can see the Objects inside of our bucket. There are some other objects in here but I already know that our CUR is located in the OG-Test Object. So let's click on it.

You see, this is the common directory structure for CUR. The actual CUR file we're after, however, lies in the folder which has a different name. The folders are named according to months. It should look similar on your end as well. The file is a so-called parquet file and confirms that we in fact have a ready-to-process cost and usage report.

After successfully verifying our access to the CUR files, and that they are available in the correct file format, let's move to Athena.

About the Author

Heinrich Marks and is a FinOps Consultant at kreuzwerker Frankfurt GmbH, Germany. His expertise lies in AWS cost optimization and FinOps methodology at the enterprise level. 
At kreuzwerker, we focus on AWS, Software Engineering, and Cloud Financial Management. We've faced many cases with our customers where costs in the cloud got out of hand and lost touch with the actual business values. This made us work harder on solutions and find ways to master financial management in the cloud. 
Over time, we have already been able to save our customers many millions of dollars. Moreover, we are also proud partners of the FinOps Foundation and the leading professionals in Germany. Today, we want to share this knowledge with you and spread more awareness on the topic!