Creating a WordPress Site Using AWS Lightsail (Step-by-Step)

Twenty-five percent of all websites on the internet run on WordPress. That one statistic tells you where the demand is. If you want to get into freelancing, build a side income, or launch a site for yourself or a client, knowing how to spin up WordPress fast is a skill that pays. AWS Lightsail makes it possible to have a live WordPress site running in under five minutes, starting at five dollars a month.

This walkthrough covers every step from the tutorial in Alston Godbolt’s AWS Demystified series: the permissions you need, how to launch the instance, how to get your admin password, how to set up a static IP, and how to clean up so you do not leave charges running in the background. If you have ever stared at an access-denied error on AWS or wondered what Bitnami actually does, this will clear it up.

What You’ll Walk Out With

  • A clear picture of what AWS Lightsail is and why it suits WordPress hosting
  • The exact IAM permissions required to avoid access-denied errors
  • Step-by-step instructions for launching the Bitnami WordPress blueprint
  • The SSH command that retrieves your WordPress admin password
  • How static IP addresses work on Lightsail and when they cost you money
  • Why you must delete snapshots before terminating an instance
  • A real comparison of Linux vs Windows pricing on Lightsail
  • A way to find the right platform for your specific goals at finder.platformproof.com

What Is AWS Lightsail and Why WordPress

Amazon Web Services is the largest cloud platform in the world. Most of its products are aimed at enterprise developers and require serious configuration work up front. Lightsail is the exception. Amazon built it specifically for people who need simple virtual private servers without the overhead of configuring EC2 instances, VPCs, and security groups from scratch.

With Lightsail, you pick a blueprint (a pre-configured application stack), choose a pricing plan starting at five dollars a month, and your instance is running in minutes. The WordPress blueprint is powered by Bitnami, which handles the full LAMP stack for you. LAMP stands for Linux, Apache, MySQL, and PHP. You do not configure any of those components individually. They come ready and pre-wired when you launch the blueprint.

Why choose WordPress as the blueprint? Alston makes the case directly in the video: 25% of all internet websites are WordPress sites. He mentions this more than once throughout the AWS Demystified series, and the point holds up. That market share means freelance work, job listings, and side income opportunities are tied directly to this platform. Learning to spin up and manage WordPress on a cloud provider is not just a technical exercise. It is a foundation for real income.

Lightsail sits between shared hosting and full EC2. It is more powerful and more isolated than shared hosting, where your site sits on a server with hundreds of other websites. It is simpler and cheaper than a full EC2 setup, where you configure everything yourself. For someone learning cloud infrastructure or building their first client sites, Lightsail is the right starting point.

Permissions You Need Before You Start

This is the step most tutorials skip, and it is the one most likely to stop you cold. AWS uses a permissions system called IAM (Identity and Access Management) to control what each user can do inside an account.

If you try to create a Lightsail instance with insufficient permissions, you will get an access-denied error. The message is not always clear about exactly what is missing, which is why this step is worth knowing upfront.

Alston is specific in the video: you need to be logged in as either the root user or a user that has been granted full Lightsail access or administrator access. The root user is the email and password you used when you created your AWS account. If you are working under a different IAM user, that user needs the AdministratorAccess policy or the AmazonLightsailFullAccess policy attached to it.

To confirm your permissions: go to IAM in the AWS console, find your user, and look under “Attached policies.” If you see AdministratorAccess listed, you are clear. If you are on a team account, ask whoever manages IAM to grant you Lightsail-specific access. They do not need to give you full admin rights just to create Lightsail instances.

Getting this right before you start saves you from hunting through cryptic error messages mid-setup. One check upfront is faster than troubleshooting later.

Creating Your WordPress Instance on Lightsail

Once you are logged in with the right permissions, head to the Lightsail console. You can find it by searching “Lightsail” in the AWS services menu. You will see a clean dashboard with a prominent “Create instance” button. Click it.

Instance location. The tutorial uses the Ohio region, us-east-2, availability zone A. You can leave this as the default or change it to a region closer to your expected audience. For a tutorial or test site, the region does not matter much. For a production site with real visitors, choose the region closest to most of your traffic to reduce latency.

Platform selection. Choose Linux / Unix. This is important because Windows on Lightsail costs significantly more and offers fewer blueprint choices. The five-dollar-a-month entry plan only exists on the Linux track. More on the pricing difference shortly.

Blueprint selection. Under “Select a blueprint,” you will see options for apps and operating systems. Choose WordPress. This installs the full Bitnami WordPress stack automatically. You do not need to choose any other settings in this section unless you have a specific reason to swap the SSH key pair. If you already downloaded the default key pair when setting up your AWS account, leave it as is. There is no need to generate a new one.

Pricing plan. Scroll down to see the plan options. The entry level is $5 per month, which includes 512 MB RAM, 1 vCPU, 20 GB SSD storage, and 1 TB of data transfer per month. For a personal site, a portfolio, or a client demo, this is workable. If you are building something with WooCommerce or heavy plugins installed, you will likely need the $10 or $20 plan. Start at $5 for now and upgrade when you need to.

Number of instances. For a single WordPress site, leave this set to one. If you needed multiple identical instances (for load balancing, for example), you could increase the count here and configure a load balancer going forward. For the purposes of this tutorial, one instance is what you want.

Give your instance a name or leave the auto-generated one, then click Create instance. The instance will appear in your dashboard with a status of “Pending.” Within two to three minutes, it shifts to “Running.” Alston pauses the video at this point to wait for it. You will do the same. This part requires patience, not technical skill.

How to Verify the Site Is Live

Once the instance shows “Running,” click on it to open the detail page. You will see the public IP address displayed at the top. Copy that IP address and paste it directly into your browser’s address bar. If everything worked correctly, the default Bitnami WordPress site will load. That is your live WordPress installation, already running on AWS infrastructure.

The site is publicly accessible at that IP address immediately after the instance starts running. You do not need to configure a domain name at this stage. A domain is the next step after you confirm the site is working and you are ready to go live with a real URL.

How to Access Your WordPress Admin Dashboard

Seeing the front end of the site load is one thing. To actually manage the site, install themes, and add content, you need to log into the WordPress admin dashboard.

Look at the bottom right corner of your browser when you have the public IP open. You will see a small Bitnami banner. Clicking it gives you some directions, but the shortcut is this: add /wp-admin to the end of your public IP address in the browser. If your IP is 3.140.22.100, the admin URL is http://3.140.22.100/wp-admin. That takes you directly to the WordPress login screen.

The username for the WordPress admin account is user. The password is not something you set during the instance creation. Bitnami generates it automatically and stores it on the server. You retrieve it by running a command over SSH.

Back in the Lightsail console, look for the orange terminal icon on your instance or click the “Connect using SSH” button. This opens a browser-based SSH terminal. No separate SSH client is required. In that terminal, type the following exactly:

cat bitnami_application_password

The terminal will print a string of characters. That is your WordPress admin password. Copy it, go back to the wp-admin login page in your browser, enter user as the username, paste the password, and click Log In. You are in.

Alston demonstrates this in the video by logging in and immediately changing the theme to Twenty Seventeen to confirm admin access works. He then opens the site in a new tab to verify the theme change appears on the front end. That is the confirmation you want: something changed in admin, and the live site reflects it.

Setting Up a Static IP Address

By default, Lightsail assigns a dynamic IP address to your instance. That means if you stop the instance and restart it, the public IP address changes. For a quick tutorial or a one-time test, this is fine. For any site you want to keep running or attach a domain name to, a changing IP address is a problem.

Lightsail solves this with a static IP feature. You can create a static IP address from the Networking tab on your instance detail page and attach it to your instance. Once attached, the IP stays the same regardless of whether you stop and restart the instance. Your domain’s DNS record points to that IP and never needs to be updated again.

Here is the part Alston flags specifically in the video: a static IP address that is not attached to a running instance will incur charges. If you stop an instance or delete it without releasing the static IP first, AWS will charge you for that IP address even though it is not doing anything. The charge is small but it accumulates over time if you forget about it.

The right order when you want to keep a static IP: create it, attach it to the instance, and leave it attached as long as the instance is running. The right order when you are deleting an instance: detach the static IP first, release it, then delete the instance. Skip one of those steps and you will see a surprise charge on your AWS bill.

Creating and Deleting Snapshots

Lightsail includes a snapshot feature that lets you take a point-in-time copy of your entire instance. A snapshot captures the state of the server, the files, the database, and all configuration at the moment you create it. You can restore from a snapshot if something goes wrong, or use it to launch an identical instance in a different region.

To create a snapshot, go to the Snapshots tab on your instance page and click “Create snapshot.” The process takes a few minutes. Once complete, the snapshot appears in the list with a timestamp.

The billing behavior here catches people off guard. Alston calls it out directly in the tutorial: snapshots continue to incur charges even after the instance is deleted. If you delete an instance and forget to delete the snapshot, AWS keeps charging you for snapshot storage every month.

The correct cleanup sequence: delete the snapshot first, then delete the instance. Alston walks through both in the video. After deleting the instance, he refreshes the browser with the public IP and confirms “site can’t be reached.” That is the proof the teardown worked.

For a site you are keeping long-term, scheduled snapshots are worth enabling. They give you a recovery point without manual effort. For a tutorial site or anything you are spinning up just to practice, include snapshot deletion in your teardown checklist from day one.

Linux vs Windows Pricing on Lightsail

Alston briefly compares the two platforms in the video, and the price difference is significant enough to understand before you make a choice.

When you select the Linux / Unix platform, the entry-level Lightsail plan starts at $5 per month. The tiers scale up predictably from there based on RAM, CPU, and storage allocations.

Switch to Microsoft Windows and the $5 tier is gone entirely. The Windows lineup starts higher and the top tiers jump to $55 and $100 per month. Alston notes in the video that the number of blueprints available on Windows is also more limited. Windows licensing costs are bundled into the AWS pricing, which accounts for the difference.

For WordPress, you do not need Windows. WordPress is a PHP application that runs on Linux without any issues. The Bitnami WordPress blueprint is built on Linux by default. Choosing Linux here is both the technically correct choice and the budget-correct choice.

The only reason to choose Windows on Lightsail would be if you were running an application that specifically requires a Windows environment, such as an ASP.NET application or software with Windows-only dependencies. WordPress is not that kind of application. Stick with Linux.

Not sure whether AWS Lightsail is the right platform for your project?

Answer five questions and get a clear recommendation at finder.platformproof.com.

Complete WordPress Lightsail Setup: Step by Step

Here is the full process in order, from zero to a live WordPress admin login:

  1. Log in to the AWS console as the root user or a user with AdministratorAccess or AmazonLightsailFullAccess.
  2. Search for Lightsail in the AWS services menu and open the Lightsail console.
  3. Click “Create instance.”
  4. Select your region. Ohio (us-east-2), availability zone A is the default in the tutorial.
  5. Select the Linux / Unix platform.
  6. Under “Select a blueprint,” choose WordPress.
  7. Leave the SSH key pair as the default if you already have one downloaded.
  8. Choose the $5/month plan for a starter or test site.
  9. Set the number of instances to 1.
  10. Name your instance and click “Create instance.”
  11. Wait two to three minutes for the status to change from Pending to Running.
  12. Copy the public IP address and open it in a browser to confirm WordPress is live.
  13. Go to [your-IP]/wp-admin in the browser.
  14. Click “Connect using SSH” in the Lightsail console to open the browser terminal.
  15. Type: cat bitnami_application_password
  16. Copy the password output and paste it into the wp-admin login with username “user.”
  17. Once logged in as admin, change the theme or make any edit to confirm the dashboard is working.
  18. For a site you want to keep: go to Networking, create a static IP, and attach it to the instance.
  19. When you are done and want to tear down: delete the snapshot, release the static IP, then delete the instance.

Honest Drawbacks of Using Lightsail for WordPress

Lightsail is genuinely fast to set up, but it has real limitations worth knowing before you commit to it for a client project or a site that needs to stay up reliably.

No auto-scaling. Lightsail instances are fixed-size VPS servers. If your site receives a sudden traffic spike, the server does not automatically scale to handle it. You would need to manually upgrade the plan or add a load balancer. Both add cost and require manual intervention, which is not ideal when traffic spikes happen without warning.

Server updates are your job. The Bitnami stack installs a specific version of WordPress, PHP, and MySQL. Keeping those components updated is your responsibility. Bitnami releases new stack images periodically, but migrating to them requires effort. On a managed host like WP Engine or Kinsta, the host handles PHP and MySQL updates. On Lightsail, that falls to you.

The $5 plan has resource limits. 512 MB of RAM is enough for a basic site. A WordPress install with multiple plugins, a page builder, contact forms, analytics scripts, and a WooCommerce shop will likely push against those limits. Plan costs rise to $10 or $20 a month as you scale up. That is still cheap, but worth factoring in before you price out a client project.

It is designed for “quick up, quick down.” Alston says this directly at the end of the tutorial: Lightsail is designed so the developer can move fast. It is excellent for testing, learning, proofs of concept, and client demos. For a site that needs high uptime, performance guarantees, and minimal manual server work, a managed WordPress host would serve you better.

None of these are disqualifying. They are just the honest trade-offs of a five-dollar-a-month solution compared to a fifty-dollar managed hosting plan.

Find Your X

AWS Lightsail is one path. The right hosting choice depends on your goals, your budget, and how much server management you want to take on. If you are not sure which direction fits your situation, finder.platformproof.com walks you through a short set of questions and matches you with the platform that makes sense for where you are right now.

Frequently Asked Questions

Do I need an AWS account to use Lightsail?

Yes. Lightsail is an Amazon Web Services product, so an AWS account is required. Creating one is free. AWS requires a credit card on file at signup, but you are only charged for what you use. The $5/month Lightsail plan is the cost once you launch an instance. New accounts may qualify for AWS Free Tier credits that offset some costs, but check the current offer on the AWS website before assuming any Lightsail usage is free.

What is the difference between AWS Lightsail and shared hosting like Bluehost?

Shared hosting puts your site on a server with hundreds of other websites and the host handles all server management. Lightsail gives you a dedicated virtual private server where you are the only tenant. You get better performance isolation and more control, but you are responsible for the server itself. Lightsail falls between shared hosting (managed but limited) and full EC2 (powerful but complex). For someone comfortable with a browser-based SSH terminal, Lightsail is a good middle ground.

Can I connect a custom domain name to my Lightsail WordPress site?

Yes. First, create and attach a static IP to your instance so the IP does not change. Then log in to your domain registrar and point the A record for your domain to that static IP address. DNS changes typically propagate within an hour but can take up to 48 hours in some cases. Once the domain is pointing at the right IP, update the WordPress site URL in Settings to match the domain so WordPress generates correct links across the site.

Is the $5/month Lightsail plan enough for a real website?

For a basic personal site, a portfolio, or a small business site with modest traffic, the $5 plan is workable. It includes 512 MB RAM, 1 vCPU, 20 GB SSD, and 1 TB of monthly data transfer. When you start adding WooCommerce, heavy page builders, or a large number of active plugins, the RAM becomes the bottleneck. Monitor the CPU and memory usage graphs in the Lightsail console and upgrade to the $10 or $20 plan when you see consistent resource pressure.

Why did I get an access denied error when trying to create a Lightsail instance?

This is a permissions problem. Your IAM user account does not have sufficient rights to create Lightsail resources. Fix it by attaching the AdministratorAccess policy or the AmazonLightsailFullAccess policy to your user in the IAM console. Alternatively, use the root account to create the instance. For ongoing cloud work, using an IAM user with the right policies is better practice than using root for everyday tasks, since the root account has no permission restrictions at all.

What happens if I forget to delete a snapshot before deleting an instance?

The snapshot stays in your account and AWS continues charging you for the storage it uses. Snapshots are not automatically deleted when you delete an instance. Go to the Snapshots section of the Lightsail console, find the snapshot, and delete it manually. The charge is based on the size of the system disk, so a 20 GB SSD snapshot costs roughly a dollar a month in storage fees. It is a small charge that accumulates if you forget about it across multiple old instances.

Can I use AWS Lightsail for client websites as a freelancer?

You can, but think through the billing setup first. Each client site would be a separate Lightsail instance billed to whichever AWS account owns it. If you host multiple clients under your own AWS account, you are managing their billing and their server. If something goes wrong with the server, that falls on you. Many freelancers use Lightsail to build and test client sites quickly, then migrate to a managed host before handing off. The setup speed is a genuine advantage for demos and proofs of concept.

How do I update WordPress core on a Bitnami Lightsail instance?

For WordPress core, plugins, and themes, use the standard WordPress admin dashboard update flow. Those updates work the same way they do on any host. For updates to the underlying Bitnami stack (PHP version, Apache, MySQL), you have two practical options: run Bitnami’s update scripts via the SSH terminal, or create a snapshot of the current instance and then launch a new instance from a newer Bitnami WordPress image and migrate your content. For major PHP version upgrades, the new image approach tends to be more reliable and gives you a clean restore point if anything breaks.

Read Next

If you are weighing Lightsail against a managed shared hosting option for WordPress, this breakdown covers what you need to know about a popular alternative before you commit to a plan.

Watch This Before Buying Bluehost Hosting

Sources

  • Alston Godbolt, “Creating a WordPress Site using AWS Lightsail (2018),” Amazon Web Services Demystified series, YouTube
  • AWS Lightsail pricing, Amazon Web Services official documentation
  • Bitnami WordPress stack documentation, Bitnami by VMware
  • AWS Identity and Access Management documentation, Amazon Web Services

Related Reading


Helping 1 million working adults make their first $3,000 online with the skills they already have. Alston Godbolt, Platform Proof.