After using Dreamhost as a service provider for hosting our family website, rigsb.net, for about 10 years, I decided it wasn’t worth it anymore. While the average annual cost of $120 for unlimited storage and shell access to manage and maintain a Wordpress site was reasonable, we just did not use it much. The primary function was hosting an extensive photo gallery. There are plenty of services that provide that function with little to no cost. After migrating our shared photos to Google Photos last summer I decided to shut down the rigsb.net website and end our hosting agreement with Dreamhost.
At the same time, in my day job, I have been shifting towards a cloud-focused career. I recently studied for and passed the Amazon Web Services Certified Solutions Architect Associate exam. Along the way to learning modern web application development, my technical interests have been rekindled. I started looking for ways to use my new knowledge and skills to build a new site.
For such a small website, I wanted a cost-effective, easily maintained architecture to support my new design. If possible, I wanted to implement a serverless design. With my new AWS skills and interest, I set out for examples to inspire my design for the new rigsb.net. I came across Blake Green’s How to Make a Cheap, Fast, and Low Maintenance Serverless Blog on AWS.
The new rigsb.net is based on Blake Green’s serverless design. I am using hexo to code the site locally and pushing my changes to GitHub. I created an AWS CodeBuild project to monitor the website repository in GitHub, compile the site, and sync the hexo generated html to an S3 bucket hosting the site. Finally, just like Blake Green’s design, I am using CloudFront for HTTP to HTTPS redirection with the S3 bucket as an origin and using a free certificate from AWS Certificate Manager to support SSL/TLS for HTTPS.
The differences in my design are in my DNS configuration and notifications of build states during deployment. When I terminated Dreamhost hosting I transferred my DNS to Google. In order to serve the new website from my new CloudFront distribution, I created a CNAME record pointing to the CloudFront distribution. In the future, I will probably transfer my domain to Route 53 for a total AWS solution. For build notifications, I decided to use SNS because it was related directly to my self-study for the AWS Certified Solutions Architect Associate exam.
Building this new site has been a great way for me to exercise some of my AWS knowledge while building a new website. I intend to use the site to share my path to learning more about AWS and projects like this website.