Skip to main content

Command Palette

Search for a command to run...

Launch a Static Website on S3 with Amplify in 15 Minutes

Updated
5 min read
Launch a Static Website on S3 with Amplify in 15 Minutes
M

Helping developers and engineers grow through cloud tutorials, backend projects, and honest tech reviews.

Introduction

With Amplify Hosting, you get built-in HTTPS, global CDN performance, and super simple updates — all without having to manage complex infrastructure.
In this quick guide, we’ll walk through launching your static site in about 15 minutes — perfect for portfolios, landing pages, personal blogs, or any project you want to share with the world.

What’s a Static Website?

A static website is made up of simple, fixed files — like HTML, CSS, JavaScript, and images — that get delivered straight to your visitors, no server magic needed.
Unlike dynamic websites (think WordPress or apps that talk to a database), static sites are lightweight, blazing fast, and perfect for content that doesn't change often — like portfolios, blogs, or landing pages.

Why Use S3 and Amplify for Hosting?

Amazon S3 gives you reliable, scalable storage — and if you're just starting out, you can even stay inside the free tier (5 GB of storage and 20,000 GET requests a month for your first year). For small sites, costs are usually just pennies a month.

AWS Amplify Hosting takes it even further: it connects with S3 behind the scenes, adds automatic HTTPS for security, speeds up your site with a global CloudFront CDN, and makes updates as easy as a single command. No manual bucket policies or tricky configurations needed.

In short:
✅ Secure (thanks to HTTPS)
✅ Easy to update
✅ Scales effortlessly with your traffic — no server headaches

Prerequisites

Before starting, ensure you have:

  • An AWS account. Sign up at aws.amazon.com if needed.

  • Static website files, including an index.html file and any CSS, JavaScript, or images.

  • Basic familiarity with the AWS Management Console — nothing fancy, just being comfortable clicking around.

Time Required: Approximately 15 minutes, assuming files are ready.

Step-by-Step Guide

Step 1: Create an S3 Bucket

  1. Sign in to the AWS Management Console and navigate to the S3 service.

  2. Click Create bucket.

  3. Enter a unique name for your bucket (something like my-static-site-2025).
    Reminder: S3 bucket names must be globally unique across all of AWS.

  4. Select a region closest to your audience for better performance (e.g., US East for North America).

  5. Leave the default settings as they are — especially Block Public Access (we'll let Amplify handle the right permissions for us).

Note: You don’t need to enable static website hosting on S3 directly, as Amplify handles this.

Step 2: Upload Your Website Files

  1. Select your new bucket in the S3 console.

  2. Click Upload.

  3. Drag and drop your website files (e.g., index.html, styles.css, images) into the upload area.

  4. Click Upload to add the files.

Tip: Make sure your index.html is at the root of the bucket (not inside a folder), unless you plan to update the Amplify settings later.
Also double-check that any links to CSS, JavaScript, or images inside your HTML match the structure you’re uploading — otherwise, you might get broken links later.

Step 3: Create an Amplify App from S3

  1. In the S3 console, select your bucket.

  2. Go to the Properties tab.

  3. Scroll to Static website hosting and click Create Amplify app.

  4. You’ll be redirected to the Amplify console.

  5. Enter an App name (e.g., MyStaticWebsite).

  6. Enter a Branch name (e.g., main). This is a label for S3-based deployments, not tied to Git.

  7. Click Save and deploy.

Amplify will now start building and deploying your site automatically! 🚀

Step 4: Access Your Website

  1. In the Amplify console, select your app.

  2. Click on the branch (e.g., main).

  3. Under Domain, find the deployed URL (e.g., https://main.d123456.amplifyapp.com).

  4. Click Visit deployed URL to view your live website.

Your site is now accessible to the world, fully secured with HTTPS by default.

Updating Your Website

To update content:

  1. Upload new or modified files to your S3 bucket.

  2. In the Amplify console, select your app and branch.

  3. Click Deploy updates to redeploy the latest files.

This one-click process ensures your site stays current without complex workflows.

Optional: Configure a Custom Domain

Want to give your website a more professional touch? You can easily add a custom domain.

  1. In the Amplify console, select your app.

  2. Go to Custom domains and click Add domain.

  3. Follow prompts to configure your domain via AWS Route 53 or another DNS provider.

  4. Amplify issues an SSL/TLS certificate for HTTPS.

DNS changes can take a little time to propagate, so it might take a few minutes (or up to a couple of hours) before your custom domain is live. For details, see the Amplify Hosting User Guide.

Cost Considerations

ServiceCost DetailsFree Tier
S3Storage: ~$0.023/GB/month; Data transfer: ~$0.09/GB (beyond free tier). Small sites cost cents monthly.5 GB storage, 20,000 GET requests, 2,000 PUT requests for 12 months.
Amplify HostingBuild: ~$0.023/minute; Hosting: ~$0.023/GB stored, $0.013/GB served. Minimal for small sites.None, but pay-as-you-go is low-cost.

Check out the S3 pricing and Amplify pricing pages for details. Most small sites stay within the free tier or cost under $1/month.

Conclusion

And just like that — you’ve launched a secure, scalable static website using S3 and Amplify Hosting in around 15 minutes!
This setup is perfect for developers, bloggers, or small businesses looking for a low-cost, low-maintenance way to get online fast.

As your site grows, you can easily explore even more Amplify features — like setting up a custom domain, adding redirects, or even connecting to a GitHub repo for automatic CI/CD deployments.
The sky’s the limit!