New to AWS and Playing with AWS Free Tier? Do this FIRST
Cloud is changing the way we build applications. AWS is a pioneer and leads the cloud ecosystem. Exploring AWS services to get started is relatively easy. Sign up for a free account with a credit card. AWS Free Tier is immediately activated. Read more about AWS Free Tier here
But AWS Free Tier may be overwhelming and confusing for new users. It may be very difficult to understand the services within the free tier. Some services are free for life, while some others are free with a quota that gets reset every month.
It is always safe to learn AWS with a company-provided account. Because there are safe and sensible defaults already applied. But learning with a personal account means one has to be careful about the various charges and the cost. The charges may become too hard to predict as well.
Steps to avoid incurring huge costs
1. Set up Budgets and alerts
If not careful, this may set us back by a few thousand $. Post creating a new AWS account, I strongly advise setting up AWS Budget. Read more about Budgets here.
In addition to budgets, enable alerts to track the cost incurred for the usage of AWS services. Alerts get triggered when the cost incurred crosses the configured budget.
2. Kill Switch Configurations
Even though the budgets and alerts are set up, it is also better to have a kill switch configuration. This can help to terminate all the services within the AWS account post learning. This can ensure no services are running without a good reason.
3. Enable Manual Billing
Another way to safeguard is to enable manual monthly billing. This helps to be aware of the AWS bills month on month. It gives a chance to understand how much each service cost. It helps to optimize configurations. With automatic bill payment, one may not pay enough attention to the usage and cost.
Customer Support to the rescue
AWS sets up various service limits to ensure users do not do something unintended. This is to ensure users do not set up configuration or code running in a loop. This can incur heavy bills. But service limit is not consistently applied. So it is important to be careful when it comes to cost.
In spite of all this, what to do if the bill shoots up? It can happen due to instances of misconfiguration, forgetting to turn off the server. Try to reach customer care. Explain the issue, and request for waiver of the AWS bill. Customer support may check at the account creation date, the activity and usage. Based on this, customer support can decide to provide the waiver. While this option does not always work, it is worth giving it a try.
There are many articles written on the challenges with AWS Free Tier. This one for example delves deep into the topic.
AWS should make Free Tier safe and easy to use with guard rails
It will be better if AWS provides an easy way to ensure the free tier is simple and easy to understand for beginners. My wish for AWS to provide a simple configuration to state that the AWS account is for learning. AWS should automatically terminate services that are crossing the free tier or the budget.
This would provide enough guard rails for beginners learning AWS from a personal account.
My experiences with AWS Free Tier
I had my fair share of noob mistakes when it comes to AWS Free Tier. Some examples are :
Forgetting to shut down the EC2 server post trying out examples or POC. It kept running for a month and I got charged even when no one was using it.
Autoscale configuration provisions new server again, post manual deletion of the EC2 instances. This was the result of configurations copied blindly from the internet. In this case, I did not understand how Auto Scaling works.
Forgetting to disable cache configuration in API Gateway. API Gateway has free limits, but caching has a cost associated with it. Post experimenting with caching, I forgot to remove the cache configuration.
All these instances had resulted in me incurring charges. I could have avoided the costs had I implemented some of the steps at the start itself. Lessons learnt the hard way.
Understanding AWS Billing and Free Tier is definitely challenging for new users. Please pay enough attention to the charges. This ensures enough safeguards and guard rails are in place. Hope everyone enjoys learning AWS without the nightmare of a huge AWS Bill.