So Your AWS Free Trial Is Over
What to know about the deals you’re losing, and the ones you’re not
Congratulations! You have made it one full year into your journey of serverless bliss with your current AWS account. And, never ones to forget an important occasion, AWS sent you a nice email with this friendly subject line: Your AWS Free Tier Period is Expiring.
So, what does that mean for you and your AWS bill? Have you been the victim of a cruel trick, duped into dependency on AWS products using the classic free trial scheme? Are the promises of serverless architectures and pay-per-use revenue models going to hold up under the harsh light of month 13 of an AWS account?
Only time can truly provide the answers to these questions. I, however, can provide an overview of how your first anniversary in your AWS account will impact billing for some of the most important and widely-used services.The following is not meant to be a summary of all billing for each service, but rather highlights the important information you need to be aware of regarding the changes to your billing.
S3
12 months free (before)
- 5 GB of standard storage
- 20000 GET requests
- 2000 PUT, COPY, POST, or LIST requests
- 15 GB of data transfer out, free of charge
Now
- Standard storage: $0.023/GB for your first 50 TB/month
- GET requests: $0.0004 per 1000
- PUT, COPY, POST, or LIST requests: $0.005
- Data transfer out: Up to 1 GB free, followed by $0.09/GB up to 9.99 TB/Month
What it means
You will now be charged for all data stored in S3, as well as any access to it or modification of it. GET requests are cheaper than requests for modification, but keep in mind that there are additional charges for any data transferred out.
EC2
12 months free
- 750 hours per month of t2.micro running Linux
- 750 hours per month of t2.micro running Windows
Now
- Linux t2.micro: $0.0116/hour on-demand
- Windows t2.micro: $0.0162/hour on-demand
What it means
You will now be charged for all EC2 usage time according to your billing model. If you are using on-demand EC2 pricing, you will be charged either per hour or per second of time the instance is run counting from launch time to termination time. Billing resolution is determined based on the size of the instance, its OS, and the region it’s located in. If you are charged per hour, launching an instance will bill you for a minimum of one hour, while if you are billed per second, you will be charged for a minimum of 60 seconds. Pretty much every combination of EC2 size and operating system has a different billing rate, so make sure you check out the documentation here.
API Gateway
12 months free
- 1 million REST API calls
- 1 million HTTP API calls
- 1 million WebSocket API messages
- 750,000 WebSocket connection minutes
Now
- REST API calls: $3.50/million for first million, $2.80/million for next 667 million, $2.38/million for next 19 billion, $1.51/million over 20 billion
- HTTP API calls: $1.00/million for first 300 million, $0.90/million for 300+ million
- WebSocket APIs: $1.00/million for first billion messages, $0.25/million connection minutes
What it means
If you are using API Gateway, and weren’t seeing any charges before, you will be now! The most interesting point to consider in this information, however, is the difference between REST and HTTP API’s. Announced in Dec. 2019, HTTP API’s are meant to be the latest and greatest iteration of API Gateway, not only “enhanced features, improved performance, and an easier developer experience,” but also an average of cost savings of 70% over REST. You can read more in this AWS blog post.
RDS
12 months free
- 750 hours/month of db.t2.micro database usage
- 20 GB of General Purpose (SSD) database storage
- 20 GB of storage for database backups and DB Snapshots
Now
- Database usage billed per hour, with rate dependent on size of instance and DB engine; example: $0.017/hour for MySQL db on db.t3.micro, $0.018/hour for PostgreSQL db on db.t3.micro
- General Purpose (SSD) database storage: $0.115/GB-month
- Backup storage: No charge up to the size of your DB, followed by $0.095/GB-month
- Snapshot export: $0.01 per GB of snapshot size
What it means
Like EC2, RDS also provides the consumer with a wide variety of pricing options based on your chosen combination of instance size and DB engine, all laid out for you on the RDS pricing page. Also important to understand is the concept of a GB-month, which is used to measure how much you will be charged for storage. One GB-month is meant to be equivalent to one GB of storage used over the course of one month. 31 GB of storage used for 1 day is equivalent to 1 GB-month, as is 1 GB of storage used for 31 days.
CloudFront
12 months free
- 50 GB/month data transfer out
- 2,000,000 HTTP or HTTPS requests per month
Now
- Data transfer out: $0.085/GB for first 10 TB
- HTTP requests: $0.0075 per 10,000 requests
- HTTPS requests: $0.01 per 10,000 requests
What it means
You will now pay for all data transfer out as well as each request made to your CloudFront distribution. HTTPS requests are billed at a higher rate than HTTP requests, because AWS recognizes the value of security.
The “Always Free Tier”
Here’s the good news: you get to continue using some of the free stuff you were using before! Here’s what you still get for free:
Lambda
1 million requests per month, up to 3.2 million seconds of compute time per month
DynamoDB
25 GB of data storage, 25 read capacity units and 25 write capacity units, and 1 GB of data transfer out
SNS
1 million publishes, 100,000 HTTP or HTTPS deliveries, and 1,000 email deliveries
CloudWatch
10 custom metrics, 10 alarms, 1,000,000 API requests, 5GB of Log Data Ingestion, 5GB of log data archive, and 3 dashboards with up to 50 metrics. The 10 free alarms are great for tracking your billing, so you know when your usage of non-free services is getting too expensive!
Cognito
50,000 monthly active users for user pools with direct cognito sign-in
(not SAML or OIDC federation)
SES
62,000 outbound messages per month when called from EC2, along with 1000 inbound messages/monthly
Welcome to another great year of AWS!
As you can see, there is a lot to consider and keep track of when it comes to understanding your AWS spend. If you want to try to predict your billing beyond adding it up yourself, AWS provides this calculator to aid you in that effort.
If I missed something important, or got something wrong, please let me know in the comments!