Amazon Lightsail is AWS’s simplified hosting service, and it is one of the easiest ways to run WordPress in the cloud. Unlike the full EC2 + RDS approach, Lightsail bundles a pre-configured WordPress instance, predictable flat-rate pricing, and a friendly console into a single package. This guide walks through migrating an existing WordPress site to a Lightsail instance from start to finish, using the reliable “export, import, verify, then cut over DNS” sequence that keeps downtime to a minimum.
Table of Contents
Why Lightsail for WordPress
Lightsail is a good fit when you want the power of AWS without the complexity of assembling networking, compute, and database services yourself. It ships a Bitnami WordPress blueprint that comes with Apache, PHP, MySQL, and WordPress already installed and tuned, so there is no stack to build. Pricing is a fixed monthly amount that includes a generous data-transfer allowance, which makes budgeting far simpler than metered EC2 billing. You still get real AWS infrastructure underneath — static IPs, snapshots, DNS, and the ability to scale up or later graduate to EC2 — but the day-to-day experience is closer to managed hosting. For a single WordPress site or a small cluster of them, this is usually the right starting point.
Step 1: Back Up Your Existing Site
The migration begins on your current host, and nothing should proceed until you have a complete, verified backup. The simplest and most reliable path for a Lightsail migration is a plugin-based export, because the Bitnami stack on the destination is a known-good WordPress install that a migration plugin can populate cleanly. Install a tool such as All-in-One WP Migration or Duplicator on your current site, then export the entire site — files, database, themes, plugins, and uploads — into a single downloadable archive.
If you prefer the manual route, archive the files and dump the database directly:
cd /var/www/html
tar -czf wordpress-files.tar.gz .
mysqldump -u DB_USER -p DB_NAME > wordpress-db.sql
Either way, download the resulting archive (or the two files) to your local machine and confirm they are complete before moving on.
Step 2: Create the Lightsail WordPress Instance
In the Lightsail console, choose Create instance, select the platform as Linux/Unix, and pick the WordPress blueprint under the “Apps + OS” category. Choose an instance plan sized for your traffic — the smallest plans work for low-traffic blogs, but a site with real visitors should start at a mid-tier plan with at least 1–2 GB of RAM. Give the instance a recognizable name and create it. Within a couple of minutes you will have a running WordPress site reachable at the instance’s temporary public IP.
Before doing anything else, retrieve the default application credentials. Lightsail stores the auto-generated WordPress admin password on the instance itself. Open the browser-based SSH client from the console and run:
cat /home/bitnami/bitnami_application_password
Keep this password handy — you will need it to log into the fresh WordPress dashboard so you can run the import.
Step 3: Attach a Static IP
By default, a Lightsail instance’s public IP changes if the instance is stopped and started, which would break your site and DNS. To prevent this, go to the Networking tab and create a static IP, then attach it to your WordPress instance. This gives you a permanent address to point your domain at later. Do this now, before configuring DNS, so you never have to revisit it.
Step 4: Import Your Site
With the destination instance running, log into its WordPress admin dashboard using the URL http://YOUR_STATIC_IP/wp-admin and the Bitnami credentials from Step 2. Install the same migration plugin you used to create the export, then use its Import function to upload the archive you downloaded earlier. The plugin unpacks your files and restores the database, replacing the default Bitnami content with your real site.
See also: Mastering the Linux Command Line — Your Complete Free Training Guide
If your export is larger than the default upload limit, the All-in-One WP Migration import may be blocked by PHP’s upload_max_filesize. On the Bitnami stack you can raise it by editing the PHP configuration over SSH and restarting the stack:
sudo nano /opt/bitnami/php/etc/php.ini # raise upload_max_filesize and post_max_size
sudo /opt/bitnami/ctlscript.sh restart apache
After the import finishes, the plugin will usually prompt you to save permalinks twice to rebuild the URL structure — do that, then log back in with your original site’s admin credentials, since the import also restored your old user accounts.
Step 5: Test Before Switching DNS
This is the step that protects you from a broken launch, and it should never be skipped. You want to confirm the migrated site works on Lightsail before pointing your domain at it, so live visitors never see a half-working page. The cleanest way is to override DNS on your own computer by editing your local hosts file to map your domain to the new static IP:
203.0.113.42 example.com www.example.com
With that entry in place, load your domain in a browser and it will resolve to the Lightsail instance while the rest of the world still sees the old host. Click through several pages, log into /wp-admin, and confirm that images, menus, plugins, and permalinks all behave correctly. Only once everything renders properly should you remove the hosts entry and proceed to the real DNS change.
Step 6: Point Your Domain with Lightsail DNS
Lightsail includes a DNS service that integrates neatly with your instance. Under the Networking tab, create a DNS zone for your domain, then add an A record for both the apex (@) and www, pointing each at your attached static IP. Finally, log into your domain registrar and update the domain’s nameservers to the four Lightsail nameservers shown in the DNS zone. Lower your record TTLs a day in advance if possible so the change propagates quickly. Once the nameserver update takes effect, live traffic begins flowing to your Lightsail WordPress instance.
Step 7: Enable HTTPS
A production site should serve over HTTPS, and the Bitnami stack makes this straightforward with its built-in configuration tool. Once DNS resolves your domain to the instance, open the Lightsail SSH client and run the Bitnami HTTPS helper, which obtains and installs a free Let’s Encrypt certificate and sets up automatic renewal:
sudo /opt/bitnami/bncert-tool
Follow the prompts, entering your domain names (both the apex and www) and choosing to redirect HTTP to HTTPS. When it completes, your site will be served securely and the certificate will renew itself automatically.
Step 8: Finalize and Secure
With the site live and encrypted, finish the migration by hardening and protecting it. Enable automatic snapshots on the instance from the console so you always have recent restore points, and take a manual snapshot immediately as a clean post-migration baseline. Remove the temporary Bitnami “banner” badge if it appears in the corner of your site by disabling it over SSH, update WordPress core, themes, and plugins to current versions, and walk through the site one last time as an ordinary visitor to confirm forms, comments, and any e-commerce features work as expected.
Summary
Migrating WordPress to AWS Lightsail follows a clean, low-risk sequence: back up your existing site, spin up a pre-built Lightsail WordPress instance, attach a static IP, import your content with a migration plugin, and — critically — verify the result through a local hosts override before you change any real DNS. Lightsail’s bundled WordPress blueprint, flat-rate pricing, integrated DNS, and one-command HTTPS make it dramatically simpler than a hand-built EC2 deployment, while still running on genuine AWS infrastructure you can grow into later. Take the steps in order, test before you cut over, and you can move even a live site with little or no visible downtime.




