By John Paul Mueller

In looking at the AWS (Amazon Web Services) pages, you may have noticed that they don’t supply a single list of all the free services. What you get instead are various mixes of services that tell you something about the services but don’t really help you understand what services are actually available.

This table lists the various free services and tells you the vital statistics about each one so that you now have a single list of what you can get free.

Service Name Description Non-expiring Limitations In Beta
Amazon API Gateway Allows you to roll your own API for use in applications generated by your own organization or any third party to whom you give access. Developers can create, publish, maintain, monitor, and secure APIs at any scale. The APIs can interact with web applications hosted by your organization or with Amazon services such as Amazon EC2 and AWS Lambda. No 1 million API calls/month No
Amazon AppStream Delivers Windows applications to any device, including personal computers, tablets, and mobile phones. The application runs in the cloud, so the client platform need not run Windows to use the application. This service lets you integrate custom clients, subscriptions, identity, and storage solutions. No 20 free hours/month No
Amazon CloudFront Defines a Content Delivery Network (CDN) used to send content from Amazon services to end users. This service supports dynamic, static, streaming, and interactive content. No 50GB Data Transfer Out; 2,000,000 HTTP and HTTPS Requests No
Amazon CloudWatch Monitors the AWS cloud resources used by applications that you run on AWS. You can use this service to collect and track metrics, collect and monitor log files, set alarms, and automatically react to changes in your AWS resources. Essentially, this service enables you to track application activity through a variety of methods, such as log files. Yes 10 Amazon Cloudwatch custom metrics; 10 alarms, 1,000,000 API requests; 5GB log data ingestion; 5GB log data archive; three dashboards with up to 50 metrics each/month No
Amazon Cognito Adds user sign-up and sign-in to web and mobile apps. It also allows user authentication using Facebook, Twitter, or Amazon, or a custom authentication solution. The resulting apps can make use of localized data storage when the device is offline, followed by data synchronization when the user reconnects. Yes 50,000 Monthly Active Users (MAUs); 10GB cloud sync storage/month (12-month trial only) 1,000,000 sync operations/month (12-month trial only) Yes
Amazon Data Pipeline Transfers data between the various Amazon services as requested. For example, you can request to move data between services such as Amazon S3, Amazon RDS, Amazon DynamoDB, and Amazon Elastic MapReduce (EMR). This service also lets you transform the data so that the data appears in a form that the receiving service can accept. The focus of this service is on creating data transfer workloads. No Three low-frequency preconditions running on AWS/month; five low-frequency activities running on AWS/month No
Amazon DynamoDB Provides access to a NoSQL database service that supports both document and key-value store models. A NoSQL database is a high-speed nonrelational database model that specializes in ease of development, scalable performance, high availability, and resilience. Yes 25GB storage; 25 units of read capacity; 25 units of write capacity No
Amazon Elastic Transcoder Converts (transcodes) media files from one format to another, normally to make the media play on devices such as mobile phones, tablets, and PCs. Yes 20 minutes of Standard Definition (SD) transcoding or 10 minutes of High Definition (HD) transcoding No
Amazon ElastiCache Creates an in-memory data cache that improves application performance by transferring data from a long-term storage service, such as Amazon RDS, to memory. This service supports two open-source, in-memory caching engines: Memcached and Redis. No 750 hours of Amazon ElastiCache cache/month No
Amazon Elasticsearch Service Deploys the open source Elastisearch service, now simply called Elastic to the AWS cloud, where you can use it to perform both search and analysis tasks. Analysis tasks can include checking logs, monitoring applications, and performing clickstream analysis. No 750 hours/month of a single instance, 10GB/month of optional Elastic Block Store (EBS) storage (magnetic or general purpose) No
Amazon Mobile Analytics Measures app usage and revenue, which lets you make data-driven decisions about app monetization and engagement in real time. Yes 100,000,000 events/month No
Amazon Relational Database Service (RDS) Allows storage of data objects as part of a relational database. Amazon RDS currently supports six database engines:

Amazon Aurora Oracle Microsoft SQL Server PostgreSQL MySQL MariaDB

You can also use any combination of RDS General Purpose (SSD) or Magnetic storage.

No 750 hours of Amazon RDS single instance/month; 20GB of database storage; 10 million I/Os; 20GB of backup storage for automated database backups and DB Snapshots No
Amazon Simple Email Service (SES) Enables you to send transactional email, marketing messages, or other types of high-quality content as email messages. You can use this service to deliver messages to an Amazon S3 bucket, call custom code using an AWS Lambda function, or publish notifications to Amazon SNS. Yes 62,000 Outbound Messages/month using Amazon SES from an Amazon EC2 instance directly or through AWS Elastic Beanstalk; 1,000 Inbound Messages/month No
Amazon Simple Notification Service (SNS) Creates a publication/subscription model for providing notifications to subscribers. You use this service to deliver messages. This service relies on the Amazon Simple Queue Service (SQS). Yes 1,000,000 Requests; 100,000 HTTP notifications; 1,000 email notifications No
Amazon Simple Queue Service (SQS) Provides a fully managed queuing service. Queuing lets you decouple cloud application components so that components need not run at the same time. This service is often used with Amazon Simple Notification Service (SNS). Yes 1,000,000 Requests No
Amazon Simple Storage Service (S3) Allows storage of data objects of any sort in the cloud. The three levels of storage enable you to perform short-term (Standard service), middle tier (Infrequent Access, IA), and long-term storage (Glacier). You can also configure data to the various storage levels based on policies and uses. No 5GB of Amazon S3 standard storage; 20,000 Get Requests; 2,000 Put Requests No
Amazon Simple Workflow Service (SWF) Makes it possible for developers to build, scale, and run applications that have parallel processes and sequential steps in the background. Yes 1,000 Amazon SWF workflow executions; 10,000 activity tasks, signals, timers, and markers; 30,000 workflow-days No
AWS CodeCommit Manages source using host secure and highly scalable private Git repositories. This storage technique works with any file type. You must supply the required Git tools. Yes 5 active users/month; 50GB of storage/month; 10,000 Get Requests/month No
AWS CodePipeline Creates a continuous application update delivery pipeline. You use this service to build, test, and deploy your code based on the release process models you define. Yes One active pipeline/month No
AWS Device Farm Performs mobile app testing against real phones and tablets that appear within the cloud. Using this service lets you test your app against a wider assortment of devices to ensure that customers won’t encounter problems. Yes One-time trial of 250 device minutes No
AWS IoT Allows connected devices to interact with cloud applications and other devices. Developers can also use this service to add AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, Amazon DynamoDB, Amazon CloudWatch, AWS CloudTrail, and Amazon Elasticsearch Service support to applications. No 250,000 messages (published or delivered)/month Yes
AWS Key Management Service (KMS) Manages keys used to encrypt data. The service lets you create and control keys using Hardware Security Modules (HSMs). You use this service with a number of other AWS services to provide a secure computing environment. Yes 20,000 free requests/month No
AWS Lambda Runs custom application code without the need for provisioning or managing servers. You upload the code you want to run, and AWS Lambda does everything needed to run and scale your code with high availability. Yes 1,000,000 free requests/month; 3.2 million seconds of compute time/month No
Data Transfer Transfers data between the various Amazon services automatically. For example, if you want to move data from EC2 to S3, you need to pay for the transfer. No 15GB of bandwidth out aggregated across all AWS services No
Elastic Compute Cloud (EC2) Provides access to a web service that offers resizable cloud-based compute capacity. You use this service to access virtual server hosting. No 750 hours of Windows or Linux platform support/month; 750 hours of an Elastic Load Balancer with 15GB data processing/month; 30GB of Amazon Elastic Block Storage; 500MB/month of Amazon EC2 Container Registry storage No

Consider some of the limitations. For example, the AWS Device Farm service access doesn’t expire. However, you get only a one-time free trial of 250 device minutes. This means that if you use five devices, you can test each of the devices for only 50 minutes before the free offer expires. You don’t get a monthly allotment with this particular service, so carefully using the time you get is important.

When reviewing the terms of usage for various services, you need to read carefully and ask lots of questions. For example, the overview of Amazon AppStream tells you that you get 20 free hours per month, but that’s where the description of what free means ends. The 20 free hours apply to the total of applications and devices you’re using. For example, if you have four applications to run on five devices, you have only an hour of free usage per month, not 20 free hours as you might initially think.

Some of the services will also seemingly appear out of the nowhere when you get an invoice for the services you used. For example, AWS Data Transfer entries will appear anytime you need to transfer data from one service to another. These transfers occur in the background, so you may not even realize that they’re happening. This blog post tells you how you can minimize these costs. In addition, the blog post helps you understand how the costs are tiered based on where the move takes place, such as between regions.