I have what I'm sure is a very common problem. Our company has many projects and groups working for different clients. We do a lot of our development work in the cloud and deploy our solutions there.

We have a VPC set up that isolates projects from each other in their own subnet and that VPC is getting a hardware VPN connection back to HQ.

We need to keep track of the cost run up by every project. The way I currently implement this is by providing my own tools for starting and stopping instances which log which user (and thus which project) to bill the instance too. This works okay for BoxUsage costs but not for other costs.

I could create a separate account for each project and use consolidated billing, this I think would allow me to pay once but track costs per "project", but I would then not be able to share common resources (like bring account B's running instances inside the same VPC).

Does anyone have any suggestions?


As of Aug 21, 2012, AWS supports cost allocation billing based on tags.

You can tag resources from these services:

  • S3 buckets
  • EC2 Instances
  • EBS volumes
  • Reserved Instances
  • Spot Instance requests
  • VPN connections
  • Amazon RDS DB Instances
  • AWS CloudFormation Stacks

Basically, you tag your resources and then configure AWS billing reports by telling it which tags are meaningful for your cost allocation. Your billing reports will then add a new column for each tag you configured and you can sort/filter by those values.

More information: http://aws.typepad.com/aws/2012/08/aws-cost-allocation.html


You can't. AWS doesn't have any (useful) ability to track costs like that. The advice I got from someone who works at one of the big AWS resellers is to screenscrape and monitor the bejesus out of everything yourself, and use that to apportion costs. Or, yeah, consolidated billing (that's what we do for our customers). VPNs are cheap, so having separate VPCs with their own VPNs back to the hivemind should be fine.


Full disclosure: I work at Cloudability, and we see this request a lot.

Tagging is definitely the way to go if you want to segment your costs or usage data from a single account. But, as womble pointed out, AWS doesn't give you an easy way to see your data.

What a lot of folks don't know is that there are tools like Cloudability that can automatically collect all of your AWS spending and tagging data so you can segment the costs any way you need to see them, no matter how many accounts you use.

You can also screenscrape the data as womble suggested, or use AWS's programmatic access to download all of your Detailed Billing data and use something like Excel to create the reports.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy