Host a Website on Amazon S3

Deploy a live website to the cloud using Amazon S3 static hosting.

Introduction

30 Second Summary

Every website you visit lives on a computer somewhere. The biggest companies in the world store their websites on cloud servers run by Amazon, Google, and Microsoft.

In this project, you will write a simple webpage, upload it to Amazon's cloud storage, and get a public URL that anyone in the world can visit.

What You'll Build

You'll type your website's URL into a browser, hit Enter, and watch your own personal webpage load. Then you'll share that link with a friend and they'll see it too.

By the end of this project, you'll have:

  • A live website hosted on Amazon S3 that loads when anyone visits the link you share with them.
  • The ability to update your site by uploading new files and watching changes appear live within seconds.
  • A working understanding of cloud permissions from experiencing firsthand what happens when access is blocked, then fixing it.
  • Secret Mission: A custom error page so visitors who hit a wrong URL see a friendly message instead of an ugly default error.

Are there any prerequisites?

None. This project includes setup for every tool you need. All you need is a Windows computer with a web browser.

You will create a free AWS account during the project. New AWS customers receive up to $200 in Free Tier credits, and the resources you use in this project cost nothing.

Before We Start

Before we dive in, let's lock in what you're about to build and why it matters. You'll host a personal webpage on Amazon's cloud so anyone with the link can visit it in their browser.

Set Up Your Tools

To build a website that anyone in the world can visit, you need two things. A code editor to write your webpage, and a cloud account to put it on the internet.

In this step, you will install Visual Studio Code (a free code editor) and create an AWS account. Once both are ready, you will have everything you need to start building your first cloud-hosted website.

In this step, get ready to:
  • Install Visual Studio Code on your computer.
  • Create a free AWS account.
  • Open the S3 service in the AWS Management Console.
Install Visual Studio Code

Visual Studio Code is a free, lightweight code editor. You will use it to write all the HTML and CSS for your website.

  • Open your web browser and go to https://code.visualstudio.com/Download.
  • Under the Windows section, click the User Installer x64 link to download the .exe file.
  • Once the download finishes, double-click the installer file to run it.
  • The installer will ask you to accept the license agreement, choose an install location, and select optional tasks. Accept the defaults on each screen and click Next until the installation begins.
  • When the installer finishes, it may launch VS Code automatically. If it does not, continue to the next step to open it manually.

Confirm VS Code is installed by opening it.

  • Press the Windows key on your keyboard to open your search bar.
  • Type Visual Studio Code and press Enter to open it.

You should see the VS Code welcome screen with a dark editor interface.

VS Code did not open?

If the search does not find Visual Studio Code, the installer may not have finished. Wait a moment and try searching again.

If the installer gave an error, try downloading the .zip version from the same download page and extract it to a folder on your Desktop instead.

Help me troubleshoot my VS Code installation on Windows.

Create your AWS account

AWS (Amazon Web Services) is the cloud platform where your website will live. The Free plan gives you up to $200 in credits over 6 months, so this project will cost you nothing.

  • Open your web browser and go to https://aws.amazon.com/free/.
  • Click Create a free account.
  • Enter your email address and choose an account name, then click Verify email address.
  • Check your email inbox for a verification code from AWS. Enter the code on the signup page.
  • Create a strong password and click Continue.
  • When asked to choose a plan, select Free plan.
  • Select Personal for the account type, then fill in your contact information and accept the AWS Customer Agreement.
  • Enter a payment method (debit or credit card). AWS uses this for identity verification only. You will not be charged on the Free plan.
  • Complete the phone verification step. AWS will send you a PIN via text or call. Enter the PIN and click Continue.
  • Choose the Basic (Free) support plan and click Complete sign up.

Will I be charged?

No. The Free plan ensures you will not incur any charges unless you manually upgrade to a Paid plan. Your account gives you $100 in credits immediately, plus you can earn up to $100 more by completing activities.

The free account lasts 6 months or until credits run out, whichever comes first. For this project, you will use a tiny fraction of your credits.

Account activation usually takes a few minutes. Check your email for a confirmation message from AWS. Once you receive it, you are ready to sign in.

Account not activating?

Activation can occasionally take up to 24 hours. If you have been waiting longer than a few minutes, check your email spam folder for the confirmation message.

If your card was declined, try a different debit or credit card. AWS requires a valid payment method even though the Free plan will not charge you.

Help me troubleshoot my AWS account activation.

Open the S3 dashboard

Now that your account is active, you will sign in and navigate to S3. This is the cloud storage service where your website files will live.

  • Go to https://console.aws.amazon.com/ and sign in with the email and password you just created.
  • In the search bar at the top of the console, type S3 and select S3 from the dropdown results.

Before you look at the page, what do you expect to see in a storage service you have never used before?

You should see the S3 dashboard with the heading General purpose buckets and an empty list. There are no buckets yet because you have not created any. You will create your first bucket in a later step.

Not seeing the S3 page?

Make sure you typed S3 in the search bar at the very top of the page (not a different search field). The result should show the S3 service icon with the label S3.

If you see a message about completing signup, your account may still be activating. Wait a few more minutes and try refreshing the page.

Help me find the S3 service in the AWS console.

Your tools are ready. You have VS Code installed for writing code and an AWS account with the S3 console open. Next up, you will write your first webpage and see it in a browser.

Create Your First Webpage

Your tools are set up and your AWS account is ready. Before putting anything in the cloud, you need something to put there.

In this step, you'll build a simple webpage on your computer. Building locally first lets you see what you're working with before adding cloud complexity.

In this step, get ready to:
  • Create a project folder on your Desktop.
  • Write an HTML page with a heading and text.
  • Preview your page in the browser to confirm it works.
Create your project folder

You need a dedicated folder to keep your website files organized. You'll create this folder directly from VS Code.

  • Switch back to VS Code.
  • Click File in the top menu bar.
  • Click Open Folder... to open the folder selection dialog.
  • In the dialog, navigate to your Desktop.
  • Click New Folder and name it my-cloud-website.
  • Select the new my-cloud-website folder and click Select Folder.

What about Workspace Trust?

VS Code may ask if you trust the authors of the files in this folder. Click Yes, I trust the authors. This enables all VS Code features for your project folder.

You should now see the Explorer panel on the left showing the my-cloud-website folder name. The folder is empty because you haven't added any files yet.

Don't see the Explorer panel?

If the left sidebar is collapsed, click the Explorer icon at the top of the sidebar (it looks like two stacked documents). You can also press Ctrl+Shift+E to toggle it.

Help me open the Explorer panel in VS Code.

Write your HTML page

HTML is the language web browsers use to display pages. Every webpage you've ever visited is built on HTML.

  • In the Explorer panel, hover over the my-cloud-website folder name to reveal action icons.
  • Click the New File icon (it looks like a page with a plus sign).
  • Type index.html as the file name and press Enter.

The file opens in the editor. Now paste the following HTML code into it:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My First Cloud Website</title>
</head>
<body>
    <h1>Hello from the cloud!</h1>
    <p>This website is hosted on Amazon S3.</p>
    <p>I built this as my first cloud computing project.</p>
</body>
</html>

What does this code do?

  • <!DOCTYPE html> tells the browser this is a modern HTML page.
  • <head> contains metadata the browser needs but doesn't display on the page itself.
  • <title> sets the text that appears in the browser tab.
  • <body> holds everything visitors actually see on the page.
  • <h1> is the main heading. <p> tags create paragraphs of text.
  • Save the file by pressing Ctrl+S.

See a white dot on the file tab?

A white dot on the index.html tab means unsaved changes. Press Ctrl+S to save. The dot disappears when the file is saved.

Help me save my file in VS Code.

✔️ Awesome, I've got everything!

Great. Make sure you've saved index.html before moving on to the next substep.

ⓧ I'd like to double check the full code

Your index.html should look exactly like this:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My First Cloud Website</title>
</head>
<body>
    <h1>Hello from the cloud!</h1>
    <p>This website is hosted on Amazon S3.</p>
    <p>I built this as my first cloud computing project.</p>
</body>
</html>
Preview your page in the browser

Before uploading anything to the cloud, confirm your page looks right by opening it locally.

  • Open File Explorer by pressing the Windows key and typing File Explorer.
  • Navigate to your Desktop, then open the my-cloud-website folder.
  • Double-click index.html.

Before you look at the result, what do you expect to see? Think about what tags you put in the <body> section.

The file opens in your default web browser. You should see a large heading that says "Hello from the cloud!" followed by two lines of smaller text.

Why does the page look plain?

Right now you only have HTML structure with no styling. The text appears in the browser's default font against a white background. You'll add styling in a later step to make it look polished.

Don't see anything in the browser?

  • Make sure you saved index.html in VS Code before double-clicking it.
  • Check that the file is named exactly index.html and not index.html.txt. Windows sometimes hides file extensions and adds .txt without you noticing.
  • If the browser shows raw code instead of a rendered page, right-click the file, select Open with, and choose a web browser (Chrome, Edge, or Firefox).

Help me open my HTML file in a browser on Windows.

Your webpage is ready on your computer. Next up, you'll upload it to Amazon S3 and get a public URL that anyone in the world can visit.

Put Your Website in the Cloud

Your webpage works perfectly on your computer. Double-clicking it opens it in your browser. But nobody else in the world can see it yet.

To make your page accessible to anyone with an internet connection, you need to upload it to cloud storage and tell AWS to serve it as a website. In this step, you'll create a storage container, enable website hosting, and upload your file.

In this step, get ready to:
  • Create an S3 bucket to store your website files.
  • Enable static website hosting so AWS serves your files as a webpage.
  • Upload your HTML file and visit your new website endpoint.
Create an S3 bucket

An S3 bucket is a container that holds files in Amazon's cloud. Think of it like a folder on the internet. Every bucket needs a globally unique name that no one else in the world has used.

  • In the S3 console, click Create bucket.
  • In the Bucket name field, enter a unique name like my-first-cloud-site- followed by your name (e.g., my-first-cloud-site-yourname).
  • For AWS Region, select a region close to you. For example, US East (N. Virginia) us-east-1.
  • Leave all other settings as their defaults.
  • Scroll to the bottom and click Create bucket.

You should see your new bucket appear in the bucket list. Click on your bucket name to open it.

What is an S3 bucket?

S3 stands for Simple Storage Service. A bucket is the top-level container for your files (called 'objects' in S3).

Bucket names must be globally unique across all of AWS. That's why you add your name to it. If someone else already took your chosen name, try adding a number or a different word.

Enable static website hosting

By default, an S3 bucket just stores files. You need to tell AWS to serve those files as a website. This turns your bucket into a web server with its own URL.

  • Inside your bucket, click the Properties tab.
  • Scroll down to the Static website hosting section and click Edit.
  • Select Use this bucket to host a website.
  • Under Static website hosting, select Enable.
  • In the Index document field, enter index.html.
  • Click Save changes.

After saving, you'll see a website endpoint URL at the bottom of the Static website hosting section. This is your website's public address.

  • Copy the Endpoint URL and paste it somewhere safe (a sticky note, a new browser tab, or a text file). You'll need it in a moment.

What is the website endpoint?

The endpoint is a URL that AWS creates for your bucket's website. It follows a pattern like http://your-bucket-name.s3-website-us-east-1.amazonaws.com. Anyone who visits this URL is requesting files from your bucket.

Notice it starts with http:// not https://. S3 website endpoints do not support HTTPS. This is fine for learning, but production websites use CloudFront for HTTPS.

Index document name is case sensitive

The name you type in the Index document field must exactly match the file name you upload. If your file is index.html (lowercase), don't enter Index.html or INDEX.HTML.

Upload your webpage and test the endpoint

Your bucket is configured to host a website. Now you need to give it the actual webpage to serve.

  • Click the Objects tab in your bucket.
  • Click Upload.
  • Click Add files.
  • Navigate to your Desktop, open the my-cloud-website folder, and select your index.html file.
  • Click Upload at the bottom of the page.

You should see a green "Upload succeeded" banner. Your file is now in the cloud.

Now for the moment of truth. Before you visit your endpoint URL, what do you think you'll see? Your beautiful webpage, or something else?

  • Open a new browser tab and paste the website endpoint URL you saved earlier.

You see a 403 Forbidden error. Your webpage is NOT showing up.

Seeing 403 Forbidden? That's exactly right

This error is intentional. AWS blocks all public access to your bucket by default. Your file is safely stored in the cloud, but AWS won't let anyone from the internet see it yet.

This is a critical cloud security concept: everything starts locked down. You have to deliberately grant access. The 403 proves your file is protected.

Seeing a different error?

If you see a 404 Not Found error instead, double-check that the file you uploaded is named exactly index.html (lowercase) and that the Index document field in your Static website hosting settings matches.

If the page won't load at all, make sure you're using the website endpoint URL (the one with s3-website in it), not the regular S3 object URL.

Help me figure out why my S3 website endpoint isn't working.

Your website is in the cloud. The files are uploaded and hosting is enabled. The only thing standing between you and a live website is permissions. In the next step, you'll unlock public access and watch your page go live.

Make Your Website Public

In the previous step, you uploaded your webpage and visited the endpoint URL. Instead of your website, you got a 403 Forbidden error. That was not a mistake.

AWS blocks all public access to your bucket by default. This is a security feature that protects your files from being seen by anyone on the internet. Now you will deliberately open access so the world can see your website. This is how real cloud engineers think about permissions: deny everything first, then allow only what is needed.

In this step, get ready to:
  • Disable the Block Public Access setting on your bucket.
  • Add a bucket policy that grants read access to everyone.
  • Verify your website loads publicly in the browser.
Disable Block Public Access

The Block Public Access setting is a safety net that prevents any policy from accidentally making your bucket public. For a website that needs to be seen by everyone, you need to turn it off.

  • In your bucket, click the Permissions tab.
  • Under Block public access (bucket settings), click Edit.
  • Clear the checkbox for Block all public access.
  • Click Save changes.
  • A confirmation dialog appears. Type confirm in the text field and click Confirm.

You should see a green success banner confirming that public access settings have been updated.

Why does AWS make me type confirm?

Making a bucket public is a significant security change. AWS adds this confirmation step so you cannot accidentally expose files to the internet with a single misclick.

Don't see the Edit button?

Make sure you are on the Permissions tab (not Properties or Objects). The Block public access (bucket settings) section is near the top of that tab.

help me find the Block Public Access settings in my S3 bucket

Add a bucket policy for public read access

Disabling Block Public Access removes the safety net, but it does not actually grant anyone permission to read your files. You need a bucket policy that explicitly says "anyone can read objects in this bucket."

  • Stay on the Permissions tab and scroll down to the Bucket policy section.
  • Click Edit.
  • Paste the following policy into the editor, replacing the bucket name with your actual bucket name:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::[[BUCKET_NAME="my-first-cloud-site-yourname"]]/*"
            ]
        }
    ]
}
  • Click Save changes.

You should see a green success banner confirming that the bucket policy has been saved.

What does this policy do?

This JSON policy tells AWS exactly who can do what with your bucket. Here is what each key part means:

  • "Principal": "*" means "everyone in the world."
  • "Action": ["s3:GetObject"] means they can only read (download) files. They cannot upload or delete anything.
  • "Resource" points to every object inside your specific bucket. The /* at the end means "all files."

Seeing an error when saving the policy?

The most common cause is the bucket name in the Resource field not matching your actual bucket name exactly. Double check that arn:aws:s3:::your-bucket-name/* uses the name shown at the top of your bucket page.

Also make sure you completed the previous substep (disabling Block Public Access). If that setting is still enabled, AWS will reject any policy that grants public access.

help me fix my S3 bucket policy error

Verify your website is live

You have removed both locks: the Block Public Access safety net and the missing permissions. Your website should now be readable by anyone on the internet.

Before you refresh, think about what you expect to see this time. The last time you visited this URL you got a 403 Forbidden error. What do you think will happen now?

  • Open a new browser tab.
  • Paste your S3 website endpoint URL (the one from the Static website hosting section in your bucket's Properties tab).

Your webpage now loads successfully. You should see your heading "Hello from the cloud!" and both paragraphs displayed in the browser. Anyone with this link can now see your website.

Why did this work now?

You made two changes. Disabling Block Public Access removed the override that rejects all public policies. Adding the bucket policy explicitly granted read permission to everyone. Both changes were needed. Without either one, the 403 error would remain.

Still seeing 403 Forbidden?

Go back to the Permissions tab and confirm that Block all public access shows as "Off." Then scroll down and check that the Bucket policy section shows your JSON policy (not empty).

Also make sure you are using the website endpoint URL (starts with http:// and contains s3-website), not the regular S3 object URL.

help me fix my 403 error on S3 static website

Your website is live on the internet. Next up, you will update it with styling to make it look professional and learn how to push changes to your live site.

Update Your Live Website

Your website is live and anyone can visit it. But right now it looks like plain, unstyled text on a white background.

A website you cannot change is not very useful. In this step, you will add CSS styling to make your page look professional, then upload the changes to S3 and watch them go live instantly.

In this step, get ready to:
  • Create a CSS stylesheet that styles your webpage.
  • Link the stylesheet to your HTML and preview it locally.
  • Upload your updated files to S3 and see the styled site go live.
Create your stylesheet

CSS controls how your HTML content looks in the browser. You will create a separate stylesheet file that sets fonts, colors, spacing, and alignment.

  • Switch back to VS Code where your my-cloud-website folder is open.
  • Create a new file by clicking **File** in the top menu bar, then **New File**.
  • Save the file immediately by pressing Ctrl+S. Name it style.css and save it inside the my-cloud-website folder.
  • Type the following CSS code into style.css:
body {
    font-family: Arial, sans-serif;
    max-width: 600px;
    margin: 50px auto;
    padding: 20px;
    background-color: #f0f8ff;
    text-align: center;
}

What does this code do?

  • font-family: Arial, sans-serif sets a clean, readable font for all text on the page.
  • max-width: 600px and margin: 50px auto center the content in a narrow column so it does not stretch across the full screen.
  • background-color: #f0f8ff adds a light blue background to the entire page.
  • text-align: center centers all text within the body.
  • Still in style.css, add the heading and paragraph styles below the closing } of the body rule:
h1 {
    color: #232f3e;
}

p {
    color: #555;
    font-size: 18px;
}

What do these rules do?

  • h1 { color: #232f3e; } makes your heading a dark navy color (the same shade AWS uses in its branding).
  • p { color: #555; font-size: 18px; } makes paragraph text a soft gray and slightly larger than the browser default.
  • Save style.css by pressing Ctrl+S.
  • Confirm style.css appears in the VS Code Explorer sidebar under my-cloud-website.

Don't see style.css in the sidebar?

  • Make sure you saved the file inside the my-cloud-website folder, not somewhere else on your computer.
  • Check the file name is exactly style.css with no extra spaces or capital letters.
  • Still stuck? Help me find my style.css file in VS Code.

✔️ Awesome, I've got everything!

Great. Double check you have saved style.css and move on to the next substep.

ⓧ I'd like to double check the full code

Here is the complete style.css file. Make sure yours matches exactly:

body {
    font-family: Arial, sans-serif;
    max-width: 600px;
    margin: 50px auto;
    padding: 20px;
    background-color: #f0f8ff;
    text-align: center;
}

h1 {
    color: #232f3e;
}

p {
    color: #555;
    font-size: 18px;
}
Link the stylesheet to your HTML

Your CSS file exists, but your HTML page does not know about it yet. You need to add a link in the HTML that tells the browser to load your stylesheet.

  • In VS Code, open index.html by clicking on it in the Explorer sidebar.
  • Find this line inside the <head> section:
    <title>My First Cloud Website</title>
  • Add the following line directly below it:
    <link rel="stylesheet" href="style.css">
  • Your <head> section should now look like this:
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My First Cloud Website</title>
    <link rel="stylesheet" href="style.css">
</head>

What does this link element do?

The <link> element tells the browser to fetch and apply your style.css file when it loads the page. Without this connection, the browser ignores your stylesheet entirely.

  • Save index.html by pressing Ctrl+S.
  • Open File Explorer on your computer and navigate to the my-cloud-website folder on your Desktop.
  • Double-click index.html to open it in your web browser.

You should see your page with centered text, a light blue background, a dark heading, and gray paragraph text. This confirms your CSS is working correctly.

Still seeing unstyled text?

  • Check that style.css is saved in the same folder as index.html. They must be side by side.
  • Verify the <link> line says href="style.css" exactly. A typo in the filename means the browser cannot find the stylesheet.
  • Need help? My HTML page is not picking up my CSS styles.

✔️ Awesome, I've got everything!

Great. Double check you have saved index.html and move on to uploading your files.

ⓧ I'd like to double check the full code

Here is the complete index.html file. Make sure yours matches exactly:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My First Cloud Website</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h1>Hello from the cloud!</h1>
    <p>This website is hosted on Amazon S3.</p>
    <p>I built this as my first cloud computing project.</p>
</body>
</html>
Upload your updated files to S3

Your styled page works locally. Now you will upload both files to your S3 bucket so the live website gets the same styling.

  • Switch back to the AWS S3 console in your browser.
  • Click on your bucket name to open it.
  • On the Objects tab, click Upload.
  • Click Add files.
  • Navigate to your my-cloud-website folder on your Desktop.
  • Select both index.html and style.css, then click Open.
  • Click Upload at the bottom of the page.
  • Wait for the green success banner, then click Exit.

Why upload index.html again?

You added the <link> line to index.html. The version in your S3 bucket is still the old one without that line. Uploading the updated file replaces the old version so the live site knows to load your stylesheet.

Before you visit your website endpoint URL, what do you expect to see? Think about what your CSS does to the page layout and colors.

  • Open a new browser tab and paste your S3 website endpoint URL.

Your page now loads with centered text, a light blue background, a dark navy heading, and gray paragraphs. Your live website is styled.

Still seeing the old unstyled page?

  • Try a hard refresh by pressing Ctrl+Shift+R. Your browser may be showing a cached version of the old page.
  • Go back to your bucket's Objects tab and confirm both index.html and style.css appear in the list.
  • Make sure you are visiting the website endpoint URL (starts with http:// and ends with .amazonaws.com), not the S3 object URL.
  • Still stuck? My S3 website is not showing CSS styles after uploading.

Secret mission

Add a Custom Error Page

What happens when someone visits a page on your site that does not exist? Right now, they see an ugly XML error from AWS. In this mission, you will create a custom 404 page so visitors see a friendly message instead.

Clean Up Your Resources

Clean Up Your Resources

Decide whether to keep your resources running, pause them to come back later, or delete them entirely. This project uses the AWS Free Tier, so your S3 bucket will not cost anything for at least 12 months.

Resources you used:

  • 1 S3 bucket (my-first-cloud-site-yourname) with static website hosting enabled, storing index.html, style.css, and error.html.
  • Local my-cloud-website folder on your Desktop containing your project files.

Keep everything running

No action needed. Choose this if you plan to keep building on your website or start another AWS project soon.

  • Your website stays live at its S3 endpoint URL. Anyone with the link can still visit it.
  • Your files are a few KB total. They will not approach the free tier limits of 5 GB storage and 20,000 GET requests per month.
  • VS Code remains installed on your computer for future projects.
  • Your AWS account stays active for future cloud projects.

Pause - I'll come back to this later

S3 does not have a pause option. Your bucket is either active or deleted.

  • With free tier coverage, there is no cost to leaving your bucket running. You can safely leave everything as-is and come back anytime.
  • If you want to free up local disk space, you can delete the my-cloud-website folder from your Desktop. Your files are still stored safely in S3.

Delete - I don't want to use this again

Remove all project resources to start fresh. This cannot be undone.

  • In the S3 console, open your bucket and select all three objects. Click Delete. Type delete in the confirmation text box and click Delete objects.
  • Return to the bucket list. Select your bucket (my-first-cloud-site-yourname) and click Delete. Type the bucket name to confirm and click Delete bucket.
  • On your Desktop, right-click the my-cloud-website folder and select Delete.

That's a Wrap!

That's a Wrap!

Nice work! You just deployed a live website on AWS S3 that anyone in the world can visit with a URL.

You've learned how to:

  • Deploy a live website to Amazon S3 by uploading HTML and CSS files to a cloud storage bucket configured for static hosting.
  • Configure cloud permissions by experiencing a 403 Forbidden error firsthand and then fixing it with a bucket policy that grants public read access.
  • Practice the cloud deployment workflow: edit files locally in VS Code, upload them to S3, and see changes go live instantly.
  • Secret Mission: Configure a custom error page for your S3 static website so visitors see a friendly 404 message instead of the default AWS error.

Ready to quiz yourself?