AWS pricing and billing is a genuinely complicated topic, and it takes much time and effort to grasp its main peculiarities, including hidden charges. While AWS does an excellent job of providing tools to help users understand and control their costs, it’s nevertheless essential to stay aware of various non-obvious charges that can add up to be fully prepared to minimize them.
In this article, we will look at the most significant hidden AWS charges you should be aware of and share tips for avoiding them or at least minimizing their impact.
But first, let’s have a 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, 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 an excellent 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 new to AWS and who 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 know.
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 several regions or requires transferring data between S3 and EC2. Luckily, there are several ways to 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 allows running code without provisioning and managing servers. It is often used 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 exceptionally costly if you have multiple 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 exceptionally costly if you have multiple 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.
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 elements 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. However, for every snapshot you make, 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 unused 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 a stable endpoint for any of your instances, 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
Its service 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 automatically increases your database’s storage capacity on the go. 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 essential, 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. However, when using ElastiCache, remember 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 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 other features that 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 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
Discover:
● 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