AWS pricing and billing is a truly complicated topic, and it takes much time and effort to grasp its main peculiarities, one of the main of which is hidden charges. While AWS does a good job of providing tools to help users understand and control their costs, it’s nevertheless important to stay in the know of various non-obvious charges that can add up in order to be fully prepared to minimize them.
In this article, we will take a look at the most significant hidden AWS charges that you should be aware of and share tips for avoiding them or at least minimizing their impact.
But first, let’s have a quick glance at AWS pricing and billing. As you probably know, AWS offers a pay-as-you-go pricing model, i.e. you only pay for the services and resources you use. There are numerous pricing options to choose from, and the most widespread are On-Demand, Reserved Instances, and Savings Plans — everyone can find something that will suit their needs and budget. What’s more, for some limited cases, AWS also provides a Free Tier, which enables new users to try certain services.
The flexibility of the pricing model is a great thing per se, but it’s effortless to run into unexpected charges if you use Amazon Web Services without enough caution. This is especially true for users who are new to AWS and haven’t yet understood what the billing is all about, and what are the caveats and best practices for working with it. Now, let’s overview some of the hidden AWS charges you should be aware of.
Recognized by Forrester as a leading cloud cost management solution
Hidden AWS charges to watch out for at all costs
1. Data transfer fees
Data transfer fees are one of the hidden charges that can be overlooked easily. These fees are applied when data is moved between different AWS services, availability regions, and between AWS and the rest of the Internet. It’s not always obvious how much data is moving in and out of your account, especially when your infrastructure spans across several regions or it requires transferring data between, say, S3 and EC2. Luckily, there are several ways to, firstly, monitor your data transfer usage and, secondly, take steps to minimize them when possible. We’ve put together an article entirely devoted to this topic.
2. AWS Lambda data transfer costs
Lambda is a compute service that makes it possible to run code without provisioning and managing servers. It is often used in combination with other AWS services and, apart from paying for the Lambda compute time you consume, you’ll be required to pay fees for the data sent to and from the service.
S3 ‘requests’ charges. It goes without saying that when you use Amazon S3, you pay for storage and data transfer (see the previous item). But here’s a less obvious thing: Amazon also charges for requests made to the service, which includes requests to list objects in a bucket, delete objects, or access objects through the API. It can be especially costly if you have numerous small files stored in S3 and you’re frequently accessing them. Each time you access a file, it counts as a request and you’ll be charged for it.
3. S3 ‘requests’ charges
It goes without saying that when you use Amazon S3, you pay for storage and data transfer (see the previous item). But here’s a less obvious thing: Amazon also charges for requests made to the service, which includes requests to list objects in a bucket, delete objects, or access objects through the API. It can be especially costly if you have numerous small files stored in S3 and you’re frequently accessing them. Each time you access a file, it counts as a request and you’ll be charged for it.
Free cloud cost optimization for a lifetime
4. Incomplete multipart uploads
In a nutshell, a multipart upload is a feature that allows S3 to divide an object being uploaded into several parts that can be uploaded independently and in parallel. However, if the upload process is interrupted or not completed for some reason, S3 will keep the parts that have been (not completely) uploaded as ‘incomplete MPUs’ and you will be charged for their storage. To find out how to avoid that, read this article.
5. Amazon Elastic Block Store (EBS) snapshot storage fees
One of the principal features of EBS is the ability to create snapshots of your EC2 instances for backup and recovery purposes. For every snapshot, you create you’ll be charged for the storage of these snapshots. Please refer to this article to find out more about EBS snapshot fees and what you can do with them.
6. Unattached EBS volumes
Another source of hidden charges that concerns EBS is unattached EBS volumes which in some — and not that rare — cases don’t get removed even if EC2 instances related to them are terminated. Such unattached EBS volumes in AWS accounts often get overlooked, increasing your cloud bill. Here’s our piece of advice on how to detect and get rid of unattached volumes in AWS.
7. Elastic IP address fees
When you need to have a stable endpoint for any of your instances, you attach an Elastic IP address (EIP) to it. If it turns out later on that you don’t need that instance anymore, you terminate it, but the EIP attached to it will still be allocated to you. As a result, you will be charged a fee until you release it.
8. Amazon Relational Database Service (RDS) storage auto-growth charges
It’s a service that makes it incredibly easy to set up, operate, and scale a relational database in the AWS cloud. One of the most popular features of RDS is its capability to enable auto-growth, which increases your database’s storage capacity on the go automatically. With the storage auto-growth feature enabled, you will be charged for the additional storage capacity.
9. Elastic Load Balancer (ELB) data processing fees
ELB helps improve the availability of your applications and services by redistributing incoming web traffic across different EC2 instances. When you use an Amazon Elastic Load Balancer, Amazon will charge you for the data processing, which includes the traffic forwarded to your instances and any data processed by the load balancer, such as SSL/TLS offloading, connection draining, and content-based routing.
10. Unused EC2 instance reservation fees
Using the reserved instances pricing model is a great way to save money. It’s still important, however, to keep abreast of your usage of reserved instances — you will be charged for the reserved capacity regardless of whether you use them or not until you haven’t released the reservation.
11. Amazon ElastiCache node cache storage fees
ElastiCache reduces the load on databases and offloads intensive workloads thus improving the application performance. When using ElastiCache, bear in mind that you will be charged for the storage used by the cache nodes and every snapshot taken of the cache.
12. Amazon SES sending limits and additional fees
By and large, it’s always a good idea to use Amazon Simple Email Service (SES) to send a large volume of emails, as it’s a reliable and cost-effective service. However, you should be aware of the fact that there are certain sending limits, such as the maximum number of recipients per message, and the maximum number of daily messages. You are allowed to exceed these limits, but in such cases, you will be subject to additional charges. What’s more, SES offers additional features, and they aren’t provided for free — these include email sending domains, dedicated IPs, and email analytics.
13. AWS Glue charges
AWS Glue is used for data processing, and if you have this feature enabled on your account, be aware that Amazon always charges a minimum fixed fee for the service, even if you do not use it at all for the entire billing period.
Tips for avoiding hidden AWS charges
Now, let’s consider the main techniques that will help you avoid hidden AWS charges.
- Use the AWS pricing calculator both before you start using Amazon services and during the usage. It’s an indispensable tool for estimating your future costs and finding the most suitable pricing options for your needs. You can even use it to work out different usage scenarios and see how they can affect your costs.
- Monitor your usage and billing closely and thoroughly, no matter what. For example, you can use the AWS Cost Explorer to get a detailed breakdown of your costs and identify areas that have room for improvement. You can also set up billing alerts to get notified when your costs reach a certain threshold and have a chance to take timely action.
- Consider using third-party tools to monitor and manage your AWS costs. There are numerous third-party tools available on the market that can help you truncate your AWS costs without compromising the benefit of using it. These tools can provide additional insights and recommendations for reducing your charges. There are tools for every taste and budget, with different functionality.
For instance, OptScale can help you optimize your cloud usage and costs by automating many of the manual tasks associated with managing and monitoring your resources. It has all the necessary tools needed to identify and address areas where there are unnecessary leaks in your budget.
Hystax OptScale offers the first-ever open source FinOps & multi-cloud cost management solution that is fully available under Apache 2.0 on GitHub → https://github.com/hystax/optscale
Our cloud experts destroy the myths about the general approach to FinOps adoption → https://hystax.com/what-is-the-best-finops-strategy-or-why-having-a-finops-team-is-a-waste-of-money
● How many companies are really interested in building a process but not just an instant cost reduction and reflection of that in their P&L
● What the right size of the FinOps team is
● Real-life tips to build the right FinOps strategy