AWS bills can be confusing, especially if you’re not familiar with the different pricing tiers and features. To make things a little easier, we’ve put together a guide to debugging your AWS bill with Cost Explorer and billing tags. If you’re having trouble understanding your AWS bill, start by checking out our Cost Explorer tool. This interactive tool lets you explore your usage data in detail and see where your costs are coming from. You can also use billing tags to help categorize your spending. For example, you might tag all of your Amazon Web Services (AWS) spending as “development” or “production.” This will make it easier to see which services are costing you the most money. Once you have a good understanding of where your costs are coming from, it’s time to start cutting back on those expenses. There are a few things that you can do to lower your AWS bill:

  1. Review the usage limits for each of your accounts. You may be using more resources than is allowed by default. If so, consider adjusting those limits or upgrading to a higher-tier account.
  2. Reduce the number of instances that you’re using. Each instance uses resources, so reducing the number of instances that you’re using will save you money on each bill cycle.
  3. Use cloud storage services that offer lower prices per GB or month rather than paying for unlimited storage space through AWS Cloud Storage Services. For example, Google Drive offers 1TB of free storage space for users who sign up for an annual subscription plan . This way, you can store all of your files in one place without worrying about running out of space on AWS Cloud Storage Services ..

AWS’s billing is notoriously complicated, and misconfigurations in your network can lead to excess data or resource use that can pile up unnoticed. AWS provides many solutions for debugging your bill before it hits your wallet.

What Is Cost Explorer?

AWS provides a lot of services related to billing, but the most useful is the Cost Explorer. While the main billing home page provides a general overview of your bill, Cost Explorer allows you to drill down into exactly what you’re paying for.

Each penny spent in AWS is associated with a lot of data. This can help to locate unnecessary spending, which can give you some actionable insights on what you need to change in your cloud network.

For example, a common problem using too much data, as AWS has very high data costs. You could take steps to alleviate the problem, or even consider moving the problematic service to another cloud provider. Another issue might be high numbers of requests to backend services like S3—you could consider implementing more frontend caching to reduce this.

Cost Explorer is free, but you can enable “hourly granularity” if you want to pay for it. This costs a few cents per resource tracked.

Using The Cost Explorer

Cost Explorer is available from the account dropdown, under “Billing Dashboard”

On the sidebar, you’ll see the Cost Explorer. Open it up, and you’ll see a graph of your bill over time, as well as multiple ways to filter it.

At the top, you’ll see the grouping options—you’ll probably want to set this to something such as “Usage Type” or “API Operation,” which will show you what you’re actually paying for. For example, this graph is largely S3 operations, and it’s split between various costs such as data transfer out, PutObject requests, and GetObject requests.

In March here is when I switched a problematic bucket to Digital Ocean, which charges a lot less for data transfer costs. I could have also implemented more client-side caching if I wanted to stay on S3. The high DataTransfer-Out cost disappeared, leaving only the PutObject requests, which are headed for a different archival bucket that will remain on S3, though it seems reducing the rate of requests could bring the bill down even further.

If you’re using lots of different services, the filters on the side will help you narrow down the issues. You can filter costs by name, as well as by region, availability zone, instance and usage type, and even multiple accounts.

Using Tags

One of the most useful filtering options you have are tags. Tags are an AWS feature that applies across every single service. Nearly every object in AWS can be assigned key-value pairs that are used for organization.

These can be used for lots of things, but a major one is cost-tracking based on different factors. For example, perhaps you have a lot of applications running in the same cloud, using the same kkinds of resources. Giving them different tags can easily split up the costs in the Cost Explorer.

Tags are quite simple to use. They can be set programmatically when launching services with the AWS API or CloudFormation, but if you want to manually set them, you’ll usually find a settings panel for them somewhere in the settings for each service. For example, S3 has them on the bucket settings page under “Properties.”

Once set, you’ll be able to sort Cost Explorer by tag, but unless you have hourly granularity turned on, it will take a while before the next round of billing goes through.