I know you are aware that AWS provides free tier services to new customers for one year. This is mainly to attract new customers to AWS. Actually AWS free tier service encouraged me to start a new blog because other hosting providers make you pay at-least 200INR monthly. Usually bloggers make money with advertisement programs like Adsense.
Most of us might be already using AWS free tier service like EC2 to host website, but not efficiently. Let me get you through how you can efficiently use AWS Free Tier services to host your website/blog.
Step1: Use AWS EC2 and Elastic IP to host your webapp alone:
This is very straight forward. Everybody knows what EC2 service meant for. AWS provides instance type t2.micro with which you can have a virtual machine of 1GB RAM and 1vCPU.
In the free tier service, AWS lets you use 750 hours of EC2 per month. When you calculate hours to days, it is near to one month.
Most of us host both webapp and database in one server, this is not efficient because 40% of the system resources have to be allocated to the database. We can use AWS RDS to host the database, so that 100% of the EC2 resource can be used for our webapp. Read this article to create a Linux EC2 instance and connect to it with Elastic IP in AWS.
If you are a blogger, you might be looking for steps to setup CMS like WordPress, you can refer this article to setup WordPress. I would suggest you to go with LEMP stack to host your CMS, because Nginx can handle more concurrent requests than Apache. I don’t have to step to setup LEMP, but I can help you with steps to set up LAMP.
Step2: Use AWS RDS service to host your database:
When AWS provides free RDS service, why would you host your database along with your website on the same EC2 instance? You can make use of 1GB RDS db.t2.micro instance with the free tier service.
Like AWS EC2 service, you can use AWS RDS for 750 hours per month. This is sufficient to run a database for a month. So now, are you looking for steps to migrate your existing database to RDS? Don’t worry, here are the steps to create a MySQL Database in RDS and migrate existing MySQL database to RDS.
Step3: Periodically backup your website to AWS S3 bucket:
Now you have your database and webapp hosted with AWS. I am not done yet! Let’s not only backup your website and database to the local server, but also to a reliable storage like Amazon S3 bucket.
Do you know that AWS gives you 5GB of storage with the free tier service?
Let’s make use of it. Read this article to periodically Backup your website and MySQL database to local server as well as S3 bucket using Bash script. Make sure you put the right number as the retention period. Because total size should not exceed 5GB of storage. If it does, AWS may bill you 🙁 .
You can run your website with this setup for one year. And I am sure you will make some revenue in one year so that you can use paid service to host your website then 🙂
Thanks for the time taken to read my blog. Subscribe to this blog so that you don’t miss out anything useful (Checkout Right Sidebar for the Subscription Form) . Please also put your thoughts on this article as comments .