- Newest
- Most votes
- Most comments
Hi Sara,
Our team has reached out with an update!
Please use the following CUR Data Dictionary, which documents all the CUR columns and their purpose: CUR Data Dictionary.
You can follow additional examples in our CUR Query Library, here: CUR Query Library.
If you've additional concerns, feel free to reach out.
- Elle G.
Hi Sara,
I've shared your latest insights with the team. CUR query samples are provided on a best effort basis. I've ensured your suggestion to add an example in the CUR Query Library has been forwarded on the team, but there isn't an ETA that can be shared when this will be contributed.
— Kraig E.
Thanks. It will likely be another couple of years before a response probably. If you see, I originally asked this a couple of years ago - and there is still no good response on how to use this https://repost.aws/questions/QUoIO4XMgxTQugekFJnMDKGQ/cur-query-for-using-split-cost-allocation-data
All the information that is provided is simply about CUR queries that show that AWS split the ec2 runinstance cost correctly. No one doubts this. Simply want to understand how to use the split data that is provided. A cur query that shows how to use it will be fantastic. I am surprised that a simple request like - "how is a customer supposed use this" - is taking such a long time to get answered
Hi Sara,
Thanks for sharing your additional insights around this. I am reaching out to the blog posters in question for further review and input, thanks for your patience while we look into this further.
— Kraig E.
AWS Split Cost Allocation Data for Amazon EKS allows you to import Kubernetes labels as cost allocation tags to track application costs across both pod resources and other AWS resources. Let me clarify how this works:
When you use Kubernetes labels for cost allocation, the labels from your pods are imported as cost allocation tags with a specific format. For example, a Kubernetes label like app:web_app would appear in your Cost and Usage Report (CUR) as resourceTags/kubernetes.io/app.
To aggregate costs across both pod resources and other AWS resources:
-
You need to ensure consistent labeling/tagging across your environment. Your Kubernetes pods should use labels (like
app:web_app) while your other AWS resources (like RDS, S3) should use matching tags (alsoapp:web_app). -
After enabling split cost allocation data and activating the relevant cost allocation tags, both your pod costs and other AWS resource costs will appear in your CUR, but in different rows:
- Pod costs will appear in rows with the "SplitCost" line item type
- Other AWS resources will appear in rows with their standard line item types
- To sum these costs, you would create a query or report that aggregates costs based on the tag value (e.g., "web_app" or "spark"), regardless of whether the tag comes from Kubernetes labels or AWS resource tags.
Regarding unused costs, these are proportionally distributed to each pod based on usage ratios. The total allocated cost for each pod includes both the split cost and the redistributed unused cost.
Cost Explorer may not directly show the aggregated view you're looking for. For more complex analysis combining pod costs with other resource costs, you would typically need to create custom queries against your CUR data using tools like Amazon Athena or business intelligence tools.
You can use the Containers Cost Allocation dashboard in Amazon QuickSight or the CUR query library with Amazon Athena to create these aggregated views that combine costs from both Kubernetes workloads and other AWS resources.
Sources
Using Kubernetes Labels to Split and Track Application Costs on Amazon EKS | AWS Cloud Financial Management
Using Kubernetes labels for cost allocation in EKS - AWS Data Exports
Improve cost visibility of Machine Learning workloads on Amazon EKS with AWS Split Cost Allocation Data | AWS Cloud Financial Management
View costs by Pod in AWS billing with split cost allocation - Amazon EKS
Split Cost Allocation Data for Amazon EKS supports Kubernetes labels - AWS
"To sum these costs, you would create a query or report that aggregates costs based on the tag value (e.g., "web_app" or "spark"), regardless of whether the tag comes from Kubernetes labels or AWS resource tags." -- How can this be ? Arent they different cost types ? what columns should be added. Please illustrate this clearly with an example
Relevant content
- asked 2 years ago
- asked a year ago
- asked 8 months ago
- AWS OFFICIALUpdated 7 months ago
- AWS OFFICIALUpdated 20 days ago

Hi Elle - Do you mean this query: https://catalog.workshops.aws/cur-query-library/en-US/queries/container#amazon-eks-split-cost-allocation-data-comparison
This seems to be comparing the original runinstance cost to the split cost. I am actually looking to understand how the blog writers would calculate the cost of the applications (web-app and spark app that they have shown in the diagram). The queries that you are referring me to, dont have this information. Or if I am missing something can you please point me to the exact query that has this information
To make the blog very readable, perhaps they can update the table in the blog with this example illustrated
Here is what the query says it does
-- # This query outputs daily total split + unused amortized cost by instance, and equivalent -- # EC2 instance running hours amortized cost. The goal of this query is to validate split
-- # cost accuracy by comparing the total split cost of all pods on an instance, with the -- # EC2 running hours cost of the same instance. The query includes only instances which have
-- # pods with CPU and RAM split amortized cost larger than zero.
I am not looking to check whether AWS did the splitting correctly. I am looking to understand how to use the split data that AWS has produced , along with the other unsplit cost data that AWS has produced ; in order to figure out what the application costs are