How to figure out cost per tenant in multi-tenant environment


We manage multi-tenant environments accommodating over 100+ customers, with each customer's usage distributed across various AWS accounts and not a single account per customer. Our cost analysis has identified the primary cost drivers, including EC2 instances, Containers, EBS volumes, EFS, S3, and RDS, among others. Our current challenge involves determining the individual cost per tenant. While we've implemented TAGS to enhance cost tracking, but certain factors such as shared RDS schemas, IOPS, and I/O operations are gray areas.

Are there any solutions available to facilitate per-tenant cost visibility? Our ultimate goal is to identify which tenants are impacting our margins.

3 Answers

You can use AWS Cost Categories to map your AWS costs and usage into meaningful categories. With cost categories, you can organize your costs using a rule-based engine. The rules that you configure organize your costs into categories. For shared costs, you can use Split Charge Rules, a feature of Cost categories to split the costs using fixed percentage, equal or proportionately.

For usage based cost allocations, you can use Split Cost Allocation Data, a feature of Cost Management that allows you to split the charge compute costs of ECS and Batch workloads.

answered 7 months ago
  • Hi Robert, the AWS Application Cost Profiler will be discontinued and is therefore no longer an option.

  • That's a bummer that the Cost Profiler is being discontinued. I didn't see the discontinue notice until Luca mentioned it here. Anyone know if there will be a replacement?


I'm afraid there is no silver bullet for this, but rather ask how much of your total cost is currently unallocated to one of the customers? I wouldn't aim for 100% here because taking care of last 10-20% is likely to more costly than what it is worth. Ideally you could have dedicated accounts for every customer but that wouldn't work with multi-tenant thinking and would increase total costs compared to your current model where you can share some resources. Typically you would allocate those shared costs a) by equal split for each customer, b) proportinally to their allocated spend or some other business metric you have. You could also check for inspiration what to do with shared cost.

profile picture
answered 7 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions