Migrating a WordPress Business Website to AWS Lightsail

Context

This project was built to migrate a live guitar teaching business website from traditional managed hosting to AWS, with lower ongoing cost and more direct control over the infrastructure. It is a live production site supporting a real business.

Live site: cliffsmithguitarlessons.co.uk (production WordPress site hosted on AWS Lightsail)

Key constraints:

  • The site had to remain publicly available during migration, with minimal disruption.
  • HTTPS, email-related DNS records, and redirects all had to keep working correctly after cutover.
  • The solution needed to stay simple enough to manage as a solo operator while still being recoverable.

Architecture

Architecture diagram showing users reaching a WordPress site hosted on AWS Lightsail with DNS, SSL, static IP and S3 backups

The website runs on an Amazon Lightsail instance in the London region using a Bitnami WordPress stack. Traffic is directed to the site through DNS, with a static IP attached to the instance so the endpoint remains stable. SSL is configured for HTTPS, and the site is backed up using snapshots and S3-based backups for recovery.

This architecture was appropriate because it kept the stack simple while still covering the core production requirements: a fixed public endpoint, encrypted traffic, DNS control, and a practical backup strategy. For a single WordPress business site, Lightsail provided enough flexibility without the overhead of designing a more complex multi-service AWS environment.

Key Decisions

Use Amazon Lightsail instead of a fully custom EC2-based architecture

Why: Lightsail provided a fast, simple way to deploy a production-ready WordPress environment with predictable monthly cost and minimal setup overhead.

Trade-off: Reduced flexibility compared to a custom architecture using EC2, ALB and RDS, and less control over scaling and infrastructure design.

Attach a static IP to ensure a stable public endpoint

Why: A fixed IP simplifies DNS configuration and ensures the site remains reachable even if the underlying instance is restarted or replaced.

Trade-off: Introduces a small amount of additional infrastructure management and dependency on correct IP association.

Implement a layered backup strategy using snapshots and S3

Why: Combining Lightsail snapshots with S3 backups provides redundancy and supports recovery from both instance-level and application-level failures.

Trade-off: Adds operational overhead and requires ongoing validation to ensure backups are usable.

Maintain direct control of DNS during migration

Why: Managing DNS directly allowed precise control over cutover timing and ensured that web traffic, SSL validation, and email records were handled correctly.

Trade-off: Increased complexity during migration and a higher risk of misconfiguration if not handled carefully.

Challenges

Preserving DNS and email behaviour during migration

Migrating the site required more than moving the web server. DNS changes had to preserve existing MX, SPF, DKIM and DMARC records to avoid disrupting email delivery. This required careful validation before and after cutover to ensure both the website and email services continued to function correctly.

Ensuring reliable backup and recovery outside managed hosting

Moving away from managed hosting meant taking full responsibility for backups and recovery. I implemented a combination of Lightsail snapshots and S3-based backups, and validated that the site could be restored if needed. This shifted the focus from deployment alone to ongoing operational reliability.

Cost

Average monthly infrastructure cost (last 3 months): ~$4.79/month

  • Lightsail instance → $3.49/month
  • S3 backups → $1.27/month
  • Route 53 → $0.03/month

Equivalent AWS cost is approximately ~£3.80/month at current exchange rates.

Previous hosting cost: £94.80/month (incl. VAT)

Cost reduction: ~96%

Costs are based on real usage over several months in production.

This project demonstrates how a simple AWS architecture can significantly reduce cost compared to traditional managed hosting while maintaining full control and recoverability.

Outcome

The project successfully moved a live business website onto AWS with HTTPS, DNS, backups and recovery planning in place. It reduced monthly hosting cost significantly while giving me direct control over the platform.

  • The site is live in production on AWS Lightsail.
  • Monthly hosting cost was reduced by roughly 91% compared with the previous managed hosting setup.
  • The final solution balances simplicity, cost control and practical recoverability.

Next Steps

The next stage would be to improve observability and harden operations further. That could include tighter monitoring, clearer backup validation routines, stronger documentation for recovery steps, and a future review of whether the site still belongs on Lightsail or should move to a more modular AWS architecture as requirements grow.