Welcome to the Step-by-Step Guidance version of this project. Let's do this!
📣 Delete all your resources by the end of the day, even if you don't finish the entire project.
If you're EVER stuck - ask the NextWork community. Students like you are already asking questions about this project.
It's always good to understand exactly what you're here to do.
If you're up for a bit of a challenge, quiz yourself on the key concepts up ahead in this project!
Don't be too nervous - you'll also get a quiz at the end of this project, to recap what you've learnt.
Alright! Let's start by opening up an iconic AWS service called
In this step, get ready to:
Open
Create a storage space for your website files.
💡 Why do I have to enter my name in the bucket name?
An S3 bucket name is globally unique. After you create a bucket, no other AWS account in the entire world can use your bucket's name (unless you delete the bucket).This also means that when you create your bucket, you need to make sure the bucket's name is unique too.
💡 Ooo what are ACLs (Access Control Lists)?
AnACL = a set of rules that decides who can get access to a resource.Enabling ACLs in this S3 setup lets you control who can access and do things with the objects (i.e. website files) you upload into your bucket.
With ACLs, different AWS accounts can own and control different files in your bucket.
💡 What is the yellow pop up saying?
A yellow warning banner will pop up when you enable ACLs. This banner tells you that it's simpler to use another tool calledbucket policies. It's true that bucket policies make it really easy to control access for an entire bucket (e.g. making the entire bucket and everything inside public), but ACLs are the way to go if you want to manage access for each object in your bucket individually.
In this project, we're using ACLs to show you how they work.
💡 A yellow banner has popped up!
This banner is telling us that the bucket and its objects might become public if we untick the checkbox. This is what we want to host a public website!
For
Choose Create bucket.
Phew, that's your S3 bucket all created.
Time to get those website's files inside your bucket! 📑 ➡ 🪣
In this step, get ready to:
Download an HTML file that sets up your website.
Download a zip file of images for your website.
Upload both files into your S3 bucket.
💡 What is HTML?
HTML (HyperText Markup Language) is used to create and design web pages. It's your way of telling the website where you want to display your text, images, videos and more. Think of HTML as the blueprint that shapes what you see when you visit a website.
💡 Hot tip: If you're a Windows/Linux user
- Click into the unzipped folder
- Check whether there's a subfolder inside with the same name.
- Upload that subfolder in the next step!
S3 bucket? Created ✅
Website files? Uploaded ✅
Next up, let's make your website available on the internet by setting up
In this step, get ready to:
Configure your S3 bucket for static website hosting
Visit your public website link.
💡 What does website hosting mean?
Website hosting is what makes your website public on the internet.Even if you perfect an HTML file, no one else can see it when it's stored as a local file on your computer! Website hosting = storing your HTML file (and the other files for your website) on a web server, so it's accessible online.
By configuring your S3 bucket for hosting, we're telling this bucket: "please create a URL that will take anyone to a page that displays the HTML file I just uploaded."
💡 What's a bucket website endpoint?
A bucket website endpoint is just like a regular website URL. It lets people visit your S3 bucket's files as a website.
💡 Why did I get this error?
Objects (in this case, the HTML and images files you uploaded) are private by default. This default setting helps keep your account's data secure.The error message you're seeing is telling you that your static website is being hosted by S3, but the actual HTML/image files you've uploaded are still private. It's kind of like having a bucket on display, so everyone can see the bucket - but the contents are covered up, preventing anyone from seeing what's inside.
To solve this error, we need to set the permission of the objects to public - this is why we enabled ACLs in Task 1!
Ooof, we're sooo close to making your website available online.
The only missing ingredient is to make your website files
In this step, get ready to:
Make your website files in S3 publicly accessible.
See your website live on the internet!
.... feeling a little stuck?
🚨 Seeing this page? Don't freak out!
This means there's been an error! And that's totally okay 😇 Some students see this page instead, which is also an error:
Solve your error here: NextWork community post: Troubleshooting index.html
Fun fact: This website is one of the original NextWork designs from when we first launched! Can you spot the difference? New logo, new colours, new look... we've come so far. 🫶
Welcome to your 🤫 exclusive 🤫 secret mission!
Your mission, should you choose to accept it, is to use
💎 In this secret mission, get ready to:
You've just completed the main part of today's project and hosted your very own static website on Amazon S3.
WOOHOOOOOOOOO YOU DID IT! 👏
Make sure you delete all your resources to avoid getting charged. This is a super important task for every single project you set up.
We challenge you to try to give this a go yourself 💪
Do you think you can delete the resources you've created today?
S3 objects
S3 bucket
Fantastic! It's the home stretch!
If you're feeling stuck (we've all been there!), here's a little guide:
Did you run into an error with deleting index.html?
Now it's time to share and let people know just what an amazing job you've done.
1. Share it on LinkedIn 😎.
It's so easy to share your documentation - all you have to do is:
2. Celebrate in the NextWork community!
Share your PDF in the NextWork community.
Completing a project is literally one of the biggest achievements and milestones that everyone celebrates. Show us your amazing work. 👀
Woohooooo!! You are an absolute legend and should be very proud of yourself. That was not easy work but you gave it a go, did your best, and absolutely crushed it.
In this lab, you created a personalised, publicly accessible static website. You...
High five! We'll see you in the next project. 🙌
🚀 p.s. Does it say "Still tasks to complete!" at the bottom of the screen?
This means you still have screenshots left to upload, or questions left to answer!
- Press Ctrl+F (Windows) or Command+F (Mac) on your keyboard.
- Search for the text Return to later.
- Jump straight to your incomplete tasks!
- 🙋♀️ Still stuck? Ask the community!