AWS Free tier - what is FREE and what is not

by INVOKE Team


Posted on September 29, 2019 at 12:00 AM

Is AWS Free tier really free? I am seeing a bill for a few dollars though I signed up for free tier, why? This is a frequently asked question on public forums like Reddit, Quora etc. which we will address in as detailed manner as possible in this post.

AWS Free tier documentation  has a very detailed explanation on what is included for free tier and it’s limitations. In summary, there are 3 types of FREE tier offers:

  1. Always free
  2. 12 Months free
  3. Trails

Covering these details again will be redundant. So, we would like to present this discussion from a perspective of a deploying a typical 3 tier web application to AWS and what falls under AWS Free tier usage.

Typical resources needed to run a web application in terms of AWS are:

  1. VM ( AWS EC2 instance )
  2. Storage (either database or file)
  3. Network
  4. Domain (URL)
  5. IP

    Instance / VM (Virtual Machines)

There are 3 main factors influencing the right sizing the EC2 instances : Memory, CPU and Storage. AWS provides different categories of instances to support these. For example, R5, R4, X1e type instances are for application with need of memory intensive operations. Likewise, C5, C4 are few types for compute prioritized applications and I3, D2 types are for storage optimized workloads (with the support of NVMe SSD storage). None of these are considered towards FREE tier usage.

AWS provides another category of instances called general purpose instances. There are different generations of instances available in general purpose, example: t2, t3, m4 etc., with in each generation, different models are available. For example, under t2 generation, t2.nano, t2.micro, t2.small etc.,

So, which one of these can be used during FREE tier? The answer is t2.micro. You are allowed to use TOTAL of 750 hours during a month. Here is the exact description from  AWS documentation:

  1. 750 hours per month of Linux, RHEL, or SLES t2.micro instance usage
  2. 750 hours per month of Windows t2.micro instance usage

Here are 2 tips:

  1. Windows t2.micro instances hours are separate from Linux, RHEL or SLES hours. In other words, you can have 1 Linux and 1 windows instance up and running whole month without any compute charges.
  2. 750 hours of Linux, RHEL, SLES (or) windows instances. What is the tip here? You can spin up as many instances you are allowed, as long as their total up time is below or equal to 750 hours during the month you will NOT be billed for compute.

For example, you may run 10 instances for 75 hours during the month or 1 instance 750 hours during the month.

    Storage (either database or file)

For most of the web applications, we need some type of file storage or database storage. AWS provides S3 and EBS for file storage and RDS for database storage (there are other file storage like EFS etc., available too, but those are out of scope for this discussion. If your application uses these special services, refer to the documentation about FREE tier limits for those services).

    EBS

EBS (Elastic Block Storage) is a storage mechanism attached to your VM/EC2 instance while launching VM (and if needed you could attach more volumes/ebs to EC2 instance).

  1. 30 GiB of Amazon EBS: any combination of General Purpose (SSD) or Magnetic
  2. 2,000,000 I/Os (with EBS Magnetic)
  3. 1 GB of snapshot storage
Note that EBS snapshots are incremental. Amazon EBS Snapshots documentation provides more information about snapshots.

    S3

AWS S3 is secure, durable, and scalable object storage infrastructure, mostly used as file storage. While dealing with S3 storage, apart from storage class specific costs there are other costs associated for the number of GET and PUT requests. So, what is considered towards aws S3 free tier?

  1. 30 GiB of Amazon EBS: any combination of General Purpose (SSD) or Magnetic
  2. 2,000,000 I/Os (with EBS Magnetic)
  3. 1 GB of snapshot storage

    RDS

RDS is managed Relational Database Service for MySQL, PostgreSQL, MariaDB, Oracle BYOL, or SQL Server. AWS RDS consists of two components, compute and storage. Free tier RDS provides:

  1. 750 Hours per month of db.t2.micro database usage (applicable DB engines)
  2. 20 GB of General Purpose (SSD) database storage
  3. 20 GB of storage for database backups and DB Snapshots

    Network

Cost associated with Network I/O component is most complex to understand and different configurations results in different costs. But, for a simple setup with couple of EC2 instances, the costs should be fairly low except in cases:

  1. You have heavy data I/O application
  2. Someone hacked your instance and using it for other purposes and so on...
Ingress traffic (transferring data into AWS from outside AWS is free in most cases)

    Domain (URL)

This is optional, but if you prefer to access application using URL and would like to use R53, there are some costs associated with it. There are NO free trials for this component, if you use it you will get the bill. This cost can be split into 2 components, domain URL buying and DNS hosting. You may use some other provider like GoDaddy to get this done or use R53. 

URL:

Cost for this depends on the type of URL like .com or .cloud etc., and from whom you are buying. If buy from GoDaddy, then there will be no bill from AWS.

DNS:

Third party providers like GoDaddy can be used as DNS too. If you choose this approach, no “domain” then there will be specific charges from AWS.

On the other hand, if you choose R53 as DNS service, for a simple setup, one associated “Hosted Zone” need to be created to map URL with EC2 instance. Cost? $0.50 per hosted zone / month for the first 25 hosted zones

Apart from “host zone”, there are costs associated with DNS queries. In other words, whenever someone types URL in the browser (or) some client code hits the URL for services like REST, this will be considered as a query for hosted zone. Cost for hosted zone queries? Differs based on what type of DNS type configuration. However, for a simple application, it would be:

DNS:

Third party providers like GoDaddy can be used as DNS too. If you choose this approach, no “domain” then there will be specific charges from AWS.

Standard Queries:

  1. $0.400 per million queries – first 1 Billion queries / month
  2. $0.200 per million queries – over 1 Billion queries / month

These query prices are prorated; for example, a hosted zone with 100,000 standard queries / month would be charged $0.040 and a hosted zone with 100,000 Latency-Based Routing queries / month would be charged $0.060.

NOTE: Queries to Alias records are provided at no additional cost to current Route 53 customers when the records are mapped to the following AWS resource types (If you have ONLY one instance hosting application, these configurations are not great choices in terms of cloud cost economics ):

  1. Elastic Load Balancers
  2. Amazon CloudFront distributions
  3. AWS Elastic Beanstalk environments
  4. AWS S3 buckets that are configured as website endpoints

    IP:

Most of the time, new AWS users pay little attention to this particular detail and get few cents bill. AWS provides three types of IP’s: private IP, public IP and EIP.

Private and public IPs have no costs associated (assuming you go with AWS default), however, EIP (Elastic IP) has some costs associated if the instance to which EIP assigned is in shutdown/stopped state. There are more nuances on an instance can have more than network interfaces and IP associated etc., or allocating EIP from BYOIP pool etc., these details can be ignored unless you are working on advance setup. 

In summary, to avoid EIP costs, release the EIP (not just disassociate from instance) when you stop the instance, otherwise the cost would be:

  1. $0.005 per additional IP address associated with a running instance per hour on a pro rata basis
  2. $0.005 per Elastic IP address not associated with a running instance per hour on a pro rata basis
  

In summary, AWS FREE tier is free if you know the limits and stay with-in the limits otherwise you will get the bill. Please note that all the prices are for the US East coast region. Different regions will have different pricing mechanisms, refer to AWS resource specific pricing page for more details.

READY TO SAVE ON CLOUD COSTS?  Get Started for free