AWS Builder Center
My First AWS Journey: How I Hosted My First Static Website Using Amazon S3

My First AWS Journey: How I Hosted My First Static Website Using Amazon S3

Stepping into cloud computing can feel overwhelming. Follow along as I document my beginner-friendly journey of learning the AWS console, creating an Amazon S3 bucket, and successfully deploying my first public static website to the cloud.

Introduction: Why I Started with S3
When I first opened the AWS Management Console, I was met with hundreds of services, complex networking options, and intimidating acronyms. I wanted a project that was practical, low-cost, and easy to understand without getting bogged down by configuring virtual servers.
That is when I discovered Amazon S3 (Simple Storage Service) and its static website hosting capability. It is widely considered the ultimate "Hello World" project for anyone starting their cloud journey.
Step 1: Understanding the Core Concepts
Before writing any configuration, I had to grasp a few basic building blocks:
  • AWS Console: The web-based dashboard where you manage all your cloud resources.
  • S3 Bucket: Think of it like a specialized folder in the cloud where you store files (HTML, CSS, images). Every bucket name must be globally unique across all of AWS.
  • Public Access Settings: By default, AWS blocks public access to keep data secure. For a public website, you need to configure these settings intentionally.
Step 2: Step-by-Step Implementation
  1. Creating the S3 Bucket
  • Logged into the AWS Console and searched for S3.
  • Clicked Create bucket.
  • Gave my bucket a unique name (e.g., my-learning-portfolio-site) and selected my closest region.
  • Unchecked Block all public access (with the understanding that my files are meant to be public web pages).
  • Left everything else as default and clicked Create bucket.
  1. Uploading My Web Files
    Inside my new bucket, I uploaded my local website files:
  • index.html (my homepage)
  • style.css (my styling file)
  1. Enabling Static Website Hosting
  • Navigated to the Properties tab of my bucket.
  • Scrolled down to the bottom to find Static website hosting and clicked Edit.
  • Enabled it, selected Host a static website, and entered index.html as the Index document.
  • Saved the changes and copied the provided Bucket website endpoint URL.
What I Learned (and Common Pitfalls)
  • Permissions Matter: My first attempt gave me a 403 Access Denied error. I learned that besides unblocking public access, I also needed to attach a simple Bucket Policy allowing s3:GetObject for everyone.
  • Cost Efficiency: For a beginner learner, hosting a static site on S3 costs virtually pennies (often falling entirely within the AWS Free Tier), making it risk-free to experiment.
Conclusion
Deploying my first static website on Amazon S3 boosted my confidence in navigating the AWS console. It proved that you do not need to master complex architecture on day one to start building in the cloud. If you are starting your AWS journey, try deploying a simple HTML page today!
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article