AWS Free Tier — Blindspots

Key blindspots which we miss out while using the AWS Free Tier account

Ajay Kumar S
Javarevisited
5 min readOct 24, 2019

--

Amazon EC2

The first and most obvious AWS Service which we try out is the Amazon EC2. And it comes with many blindspots; let’s unfold them one by one.

750 Hours

This is the most generous amount which AWS can provide for a compute engine/VM. Amazon EC2 free tier page says “AWS Free Tier includes 750 hours of Linux and Windows t2.micro instances each month for one year. To stay within the Free Tier, use only EC2 Micro instances”. The hidden blindspot is free tier limits on EC2. In this page, AWS clearly mentions how the hourly usage works in the free tier —

In some cases, leaving your resources running maximizes your Free Tier benefits. For example, if you run an Amazon EC2 instance for only a portion of an hour, AWS counts that as an entire hour. Therefore, if you stop and start an Amazon EC2 instance three times in a single hour, you use up three hours of your monthly allotment.

Source: https://docs.aws.amazon.com

I used to stop/terminate a lot of times in my free tier account assuming I will be saving some extra hours of usage; clearly that’s not the case how AWS calculates the usage. So it’s safe to leave it running for an hour or less and not to rush and terminate the instances every time you have the instances idle.

Amazon S3

S3 could be easily the most used service in AWS’s history. The durability, scalability, and storage options are unparalleled with other storage services provided by other cloud providers or storage vendors.

PUT and forget

Obviously we tend to make mistakes here as well. The most common mistake is assuming if no EC2 instances are running, we won’t be charged after the free tier is over. However, we might have forgotten to delete the objects in the S3 buckets which we used long back. The same applies to Amazon EBS/EFS, Amazon Elastic Container Registry, Amazon DynamoDB, Amazon RDS, etc., which uses storage space.

Elastic Load Balancing

ELB is used in the distribution of incoming application traffic across multiple Amazon EC2 instances. This is usually never considered in a non-cloud environment. So most of us might not even aware of such costs and their existence. The free tier account provides —

  • 750 Hours per month shared between Classic and Application load balancers
  • 15 GB of data processing for Classic load balancers
  • 15 LCUs for Application load balancers

This means if you are streaming more data, then you lose more usage on the ELB. So at one point in time, you can fall under a category where — even when you have your EC2 instance credit, you might not have your ELB credit to proceed within your free limit. To get notifications on your limit exhaustion, use the Billing & Cost management options which I have explained in the last section.

AWS Lambda

The service which I like the most in the free tier — AWS Lambda is a compute service that runs your code in response to events and automatically manages the compute resources. The documentation reads —

  • 1,000,000 free requests per month
  • Up to 3.2 million seconds of compute time per month

We mostly miss out on the second part which refers to 3.2million seconds of computing time. Most of the time when you are trying out Lambdas we end up creating a monolithic lambda which runs for seconds’.

The free usage limit roughly gives 3 seconds on an average for a lambda call if we need 1 million free requests per month. Though we might not exhaust the full 3 million seconds, it’s worth a mention. If you are someone who is looking to explore more on the serverless space, then this is something you should watch out for.

AWS Organization

If you are free tier you can still leverage AWS Organization to create multiple accounts under the root account, however, the usage is shared across your master and child accounts.

For services such as Amazon EC2 that support a free tier, AWS applies the free tier to the total usage across all accounts in an AWS organization. AWS doesn’t apply the free tier to each account individually. AWS provides budgets that track whether you exceed the free tier limits or are forecasted to go over the free tier limits. Free tier budgets are not enabled for organizations by default. Payer accounts can opt in to free tier usage alerts through the Billing and Cost Management console. Free tier usage alerts aren’t available to individual linked accounts.

Billing & Cost Management

You can view all the AWS Services which are eligible for the free tier and their usages in the Billing and Cost Management Dashboard as mentioned in the Top Free Tier Services Table here.

Track Budgets

Budgets on your free tier account can be tracked using AWS Budgets which helps you track your free tier usage by alerting you when your usage reached a certain limit. You can also configure individual services specific alerts as well. Eg., Amazon S3 buckets exceeding your monthly storage limit.

Get your invoice in the email

The most important part which you should not miss out is the invoice. Though you have the free tier account, there is more change of consuming more service usage than your desired usage and it may lead to additional billing cost. Configure an email report with a PDF copy of your monthly invoice as mentioned in the “Getting your invoice emailed to you” section here.

Conclusion

In a nutshell, free tiers are amazing to learn new services in AWS. If you know the nitty grit-ties of the cost and the calculations involved in these services, you can be a cloud hero.

Happy Learning!

--

--

Ajay Kumar S
Javarevisited

Building ☁️ | Opinions/Views expressed here are my own 🗣️