# Launch a Static Website on S3 with Amplify in 15 Minutes

## 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](http://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](https://console.aws.amazon.com/) 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`](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](https://docs.aws.amazon.com/amplify/latest/userguide/custom-domains.html).

## Cost Considerations

| Service | Cost Details | Free Tier |
| --- | --- | --- |
| **S3** | Storage: ~$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 Hosting** | Build: ~$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](https://aws.amazon.com/s3/pricing/) and [Amplify pricing](https://aws.amazon.com/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!
