This post has been a long time coming!
Around 10 years ago, my blog at arran.it was using WordPress. At this time I decided to move it onto the Ghost blogging platform as a test to myself. It was a test because it involved handling most of the infrastructure setup myself, and at the time I didn’t have that much knowledge in that area. Anyway, I got there and my blog was migrated to Ghost, hosted on DigitalOcean.
Fast forward 6 years or so and I (foolishly) didn’t keep up to date with version upgrades and fell behind, still hosting a 0.x.x release. This eventually manifested in me not being able to log into my Ghost blog due to it timing out every time I entered my username/password. Every few months I would spend a couple of hours trying to fix it but eventually gave up every time. This was until I finally decided to take a stab at it and fix it once and for all.
It was around the time I was doing an Architecting on AWS course at work and the final task of the course was to set up a WordPress instance on EC2 (there was obviously a lot more to this, but this was the gist of it), and this is where I remembered – oh yeah, WordPress exists! Hence this is why I’m writing this post from my shiny new WordPress blog. This is the first time I’ve been able to post in 3 years, and it feels good.
So, what did I do?
I decided I would re-architect and host my new WordPress blog on AWS. For this, I utilised Amazon EC2. In front of this EC2 instance I have a CloudFront distribution. Attached to the distribution I have a certificate managed by ACM and I also have WAF enabled, protecting my instance from malicious actors. Oh, I used Route 53 to buy and manage my new domain name – arran.me! I also gained first-hand experience with costings and budgeting using Billing and Cost Management.
This setup didn’t come without its hitches. I ran into one issue with CloudFront which was causing infinite redirects when I was attempting to log into the backend of my WordPress installation. I eventually fixed this by forwarding the CloudFront-Forwarded-Proto header which contains the protocol of the viewer’s request. Another issue I ran into was AWS WAF blocking my file uploads. Regardless, I fixed these issues and we’re cooking with gas now!
Hopefully it won’t be another 3 years before I post again. This is me signing off for now but “I’ll be back”.
Leave a Reply