I’d like to take a moment to talk about how I got this website off the ground.

It began with training. I’ve been doing a lot of that lately. Most recently, I signed up for the AWS Skill Builder course called AWS Cloud Practitioner Essentials. I’d recommend it to anyone who wants a broad-brush introduction to many of the more common AWS services. I believe it was there that I first heard of Amazon Lightsail and the reality that one can spin up a WordPress instance on AWS cheaply and, dare I say, fairly easily.

Cost

The thing that attracted me to this platform initially was the cost. At the time of this writing, you can spin up an instance of WordPress on Amazon Lightsail for as low as $3.50 a month, though that entry-level cost jumps up to $5.00 a month after three months as Amazon now charges for the use of IPv4 addresses. My site runs on the next tier up, which starts at $5.00 per month, going to $7.00, and includes 1 GB of Memory, 2 vCPUs, 40 GB SSD and 2 TB of transfer. There are seven tiers available for a single instance of WordPress and all can be initially provisioned in a matter of a minute or two.

Preparation

Before I provisioned my site, I had to do some preparation. If I was to host a website on Amazon Lightsail, then I wanted to manage my domain registration and DNS in Amazon Route 53. That required transferring the domain registration from the registrar where I bought it – GoDaddy – over to Amazon Route 53. Normally transferring a domain from GoDaddy to Route 53 is easy, and I’ve become proficient with the process since.

Here I used my personal AWS account that I’d originally set up not long after Amazon launched their Elastic Compute Cloud (EC2) in 2006. Some things may not have been updated over the years in my OG account. I opened a support ticket when my domain transfer failed repeatedly, and was advised within a day to try it again. I didn’t have any issues the second time around. I later ran into an issue running CloudShell in this account, which another support ticket remedied within another day. I wouldn’t expect to have the same issues had I created a new AWS account from scratch, something which I’ve since confirmed when using a more recent account for my workplace.

After I transferred my domain registration to Route 53, I set up a Hosted Zone and then, when I was ready, I updated my domain registration to use the AWS DNS servers. Then I was ready to try Lightsail. Had I been migrating an existing WordPress site with daily traffic over to Lightsail, pointing my DNS to Route 53 would have been one of my final steps.

Lightsail

Lightsail supports quite a few pre-packaged web servers on both Linux and Windows. Those include WordPress, LAMP, Joomla, Magento, and Drupal, plus about ten more. For the purpose of this post, we’re going to focus on WordPress.

I should mention, before we really get started, to check your AWS Region and Availability Zone every single time you create something in AWS, before pulling the trigger. I found myself about to create something in Canada once. The Instance location is the first question asked when creating a Lightsail instance, but it’s easy to gloss over the default.

After that, we select Linux/Unix, WordPress, a dual-stack network supporting both IPv4 and IPv6, and the size of our instance. It defaults to the second least expensive, which is what I’m using for this site.

Give your instance a name. I recommend including the domain that you plan to host. In a future where you have several instances running, I’d rather know an instance for its functionality such as “parks-cloud-wordpress-instance” than the default of “WordPress-1”. Double-check everything, and then click on Create Instance.

After Instance Is Created

There’s a wizard to ‘Set up your WordPress website’. This allows you to set up DNS and create an SSL certificate. One thing to watch out for: Lightsail will set up its own DNS separate from Route 53 if you let it. This might be fine if you’re only doing WordPress and nothing else. But if you’re doing other things with your domain too, such as e-mail, it’s probably a good idea to manage your DNS in Route 53. The wizard also sets up a 90-day SSL certificate for you via Let’s Encrypt. You can also configure daily snapshots to back up your WordPress content and allow you to recover from any future changes that negatively affect functionality.

To get into your WordPress site for the first time, you can retrieve the default username and password from the Lightsail console. Obviously you’ll want to change the default password on the account, and probably create a second account using the name you want to blog under.

If you’re migrating content from a WordPress site hosted somewhere else, there’s a plugin called All-in-One WP Migration preinstalled. If you install the same plugin in a legacy site, you can back up your existing WordPress content to restore it here. (It is often necessary to purchase the Unlimited Extension to this plugin for $69 when restoring a WordPress site of any significant size.)

For this site, however, I was starting fresh, so I had to begin by picking a theme. After installing the theme, I began customizing it, though it still looks very much like the original. I hope to tweak it more as time goes by.

And now I’m adding content. One post at a time. The performance of this Lightsail-hosted WordPress blog from my East Coast location in Connecticut really can’t be beat. The price isn’t bad either. It’s a great place to start sharing my observations as I continue my cloud and AI journey.

After I got my site online, I configured automatic SSL certificate updates every 80 days using a guide here. The process involves running the following command via SSH, and typically twice if you’ve never launched it before on your new instance.

sudo /opt/bitnami/bncert-tool

I also mail-enabled my WordPress instance as discussed in this user guide. I spent $50 for WP Mail SMTP Pro, which, when accompanied by their video, made the process much easier.

Finally, I attempted to configure Amazon CloudFront to cache the site content globally, but I need to revisit my configuration there, as I’m not confident that it’s working.

All in all, I hope to evolve this site in parallel with my continued education on all things cloud and AI. If you’re only now beginning your AWS journey, click on the link below.

Powered by AWS Cloud Computing