Creating Amazon S3 Static Websites
You can host a static website on Amazon S3. On a static website, individual web pages include static content and they might also contain client-side scripts. By contrast, a dynamic website relies on server-side processing, including server-side scripts such as PHP, JSP, or ASP.NET. Amazon S3 does not support server-side scripting. This activity covers the process of using S3 to host a static website. We will start by creating a few sample files to serve as our example site.
This lab covers the process of using S3 to host a static website. We will start by creating a few sample files to serve as our example site.
Create sample files
Begin by creating three sample files that we will soon upload to an S3 bucket:
Welcome! This is my sample home page.
This is a standard page example.
Preparing the bucket
Navigate to the S3 Management Console and create a bucket that hosts our files. After creating it, upload the three sample files you created.
Create a bucket
First, create the bucket.
- Click the Create Bucket button.
- Name the bucket appropriately. Bucket names are required to be unique across all of AWS. The name you choose here will end up as part of the URL that lets us access the website. If you plan on using a custom domain name, your bucket name needs to match (e.g.
example.com). For this lab, just choose any unique name, such as
- Use the Create button at the bottom left to finish creating the bucket.
Upload the sample files
Next, upload the sample files you created earlier.
- Click the name of the bucket to navigate inside of it.
- Use the Upload and Add Files buttons to select your files.
- Click the Next button and expand Manage public permissions. Grant everyone Read permissions for Objects.
- Navigate through the rest of the steps and upload the files.
Configure the static website
We will now enable and configure the feature to use an S3 bucket as a static website.
- Navigate to the Properties tab for the current bucket.
- Click the the Static Website Hosting section and select the Use this bucket to host a website option.
- Set the Index document to
- Set the Error document to
- Use the Save button to apply the settings.
View the website
Click to expand the Static website hosting section again and you will see the Endpoint up top. This is the URL that we can use to access the website. Click on it to open it up. You will be presented with the contents of the index document (which we set to the
If you add
/page.html to the end of the URL, you will see the contents of the respective file. This same behavior applies to any other object in the bucket. If you try to access a file that does not exist, you will be presented with the error document (which we set to
error.html). Try it out by attempting to access a file that doesn't exist (e.g.