Current Students, visit the student website for the information you need.
Student Portal

Objectives

  • Create AWS S3 Buckets
  • Explore S3 Bucket settings relating to website hosting
  • Create IAM Users & Groups
  • Create and assign policies for users that provide necessary access

Project Overview

You and a group of friends have decided to create a web-based startup and your plan is to use AWS services as the technology platform. Initially, your goal is to setup a static website hosted within AWS using S3. To begin with your will be working on the S3 bucket setup. You will also need to create an IAM account that will allow the instructor to login to your AWS account to verify your setup. The instructor will need to be able to access S3 as an S3 administrator.

Project Details

S3

  • Create a bucket for your company using the following naming convention: firstName-lastName-companyName where firstName and lastName are your first and last name and companyName is the fictional company name that you want to use for project 1.
  • The company bucket should be setup to host a static website and that website should be publicly accessible. Set the default document to be index.html and the error document to be error.html. Additinally, you should enable versioning on the bucket.
  • Within your company bucket, create 3 folders: src, financials, private
  • Create a webiste that includes 5 html pages. You will need to include index.html and error.html at the root of the bucket. The 3 other pages can be anything your like and located inside the /src folder. (screenshot required)
  • Update the index.html so there is a revision (this should happen after the S3 bucket setting to track versioning has already been enabled). Verify that you now have multiple versions of the index.html file (screenshot required)

IAM

  • Create an IAM account that will allow the instructor to login to your aws account (this account can and should be removed after receiving a grade for project 1). This account will need to be able to access S3 as an S3 administrator. You should include login instructions as part of project submission.

Tests and Verification

  • What is the URL of my company website?
  • Does the instructor account have access to S3 and the various functions within S3.
  • Is the website publicly accessible?
  • If a file is modified, is there a versioning system in place?

Grading Rubric (Total: 50 points)

S3 Setup (20 points)

  • Bucket naming & creation: 5 points — Correct naming convention and bucket exists
  • Website hosting settings: 5 points — Static website enabled, index/error configured, public access properly set
  • Folder structure: 3 points — `src`, `financials`, `private` created
  • Versioning enabled: 3 points — Versioning turned on and evidence provided
  • Access policy & public availability: 4 points — Bucket policy/CORS and public access settings correct

Website Content (10 points)

  • Root pages: 3 points — `index.html` and `error.html` present at bucket root
  • Additional pages: 3 points — Three pages inside `/src` present and functional
  • Screenshots: 2 points — Screenshots of website and files (including versions)
  • Public URL included: 2 points — Working URL provided in submission

IAM Setup (10 points)

  • Instructor IAM account & permissions: 6 points — Account created and granted S3 administrator access
  • Login instructions: 2 points — Clear login steps and credentials delivery notes provided
  • IAM screenshots: 2 points — Screenshot of user and attached policy

Tests & Verification (10 points)

  • Website accessibility: 3 points — Site loads publicly without errors
  • Instructor access verified: 3 points — Instructor can access S3 functions as described
  • Versioning verification: 2 points — Evidence of multiple versions after modification
  • Overall documentation: 2 points — Submission includes URL, screenshots, and notes

What did I learn?

  • Creating S3 Resources
  • Configuring S3 Buckets for website hosting
  • Creating IAM Accounts and assigning permissions
  • Managing access to AWS resources