After taking Stéphane Maarek’s AWS Cloud Practitioner course on Udemy, I decided to use the power of AWS to create my own website. My goal was to create a website quickly and with a predictable price. In this post, I will describe how I did it.
The basic ingredients to build a website are a server, a content management system (CMS)1 and a domain name2. As these terms can be intimidating for a beginner, I will explain what these mean:
- Server: A server is a computer running one or more programs that are designed to listen for and process incoming internet requests. In this case, the server takes on the responsibility of serving up the content for a website.
- CMS: A CMS is a software that allows users to create, manage, and modify content on a website, without needing to code.
- Domain name: A domain name is the website name. For example, my domain name is michelepariani.com.
Wait, what? Do I need a server in my basement to run my own website? No, you don’t. Enter the cloud. The cloud refers to servers that are accessed over the Internet, and the software and databases that run on those servers.
I decided to rent a server on AWS, as I know this cloud service from the AWS Cloud Practitioner course. After researching a bit on AWS, Amazon Lightsail offered itself as the right solution for my needs.
Lightsail offers different preconfigured, one-click-to-launch operating systems. For my website, I chose a Linux instance – a VPS (virtual private server) – that comes with WordPress3 preinstalled on it. After a few clicks, I was able to launch my own website on my VPS. Is this how heaven feels like?
The Lightsail plan I chose costs 3.50 USD a month and offers 512 MB Memory, 1 Core Processor, 20 GB SSD Disk, 1 TB Transfer. This plan comes, among other things, with a free static IP address4.
By default, a Lightsail instance comes with a dynamic public IP address that changes every time the instance is stopped and restarted. This is not optimal, because one doesn’t want to update their Domain Name System (DNS) records5 every time the instance is rebooted. In order to solve this problem, I attached a static IP address to my instance. 6
I now had two of the three ingredients needed to create a website, namely a server and a CMS, but I was still missing a domain name. No problem! A domain name can be easily registered with AWS Route537. I chose michelepariani.com for 12 USD a year. I then routed traffic for my domain name to my Lightsail instance by adding a record to the DNS of my domain8.
I hope you liked this post. If you have any question, feel free to leave a comment in the comment section. Never stop learning!