Portfolio on AWS S3

Simple, Scalable & Serverless Website Hosting

📂 Why Choose AWS S3?

AWS S3 provides a seamless and efficient way to host static websites without the hassle of managing servers. By simply uploading your HTML, CSS, and JavaScript files, your site is live, making it ideal for portfolios, landing pages, and resumes. Its serverless architecture ensures scalability, low maintenance, and cost-effectiveness, allowing developers to focus on building rather than infrastructure management.

Project Overview

For this project, I developed and deployed my personal portfolio website using Amazon S3 as a static hosting service. The objective was to create a fast, scalable, and cost-effective platform to showcase my skills and projects without the overhead of server management. The minimum viable product involved uploading my website files to an S3 bucket, enabling static website hosting, and configuring public access to make the site live.

Security and Performance

To enhance security and performance, I integrated AWS CloudFront as a content delivery network (CDN) for global content distribution and Cloudflare for DNS management with free SSL/TLS support. A key challenge was connecting my custom domain (slancer.site) to the S3 bucket via CloudFront and Cloudflare. This required configuring DNS records and generating SSL certificates for both the root domain and the www subdomain. After resolving issues with proxy settings and DNS propagation delays, the setup delivered a secure, fast, and globally accessible portfolio with HTTPS.

Technologies Used

  • Amazon S3
  • AWS CloudFront
  • Cloudflare
  • HTML
  • CSS
  • JavaScript

⚙️ Setup Steps

  1. Create an S3 bucket named slancer-portfolio.
  2. Enable static website hosting in the S3 bucket settings.
  3. Upload index.html and other assets.
  4. Apply a public read bucket policy:
{
  "Effect": "Allow",
  "Principal": "*",
  "Action": "s3:GetObject",
  "Resource": "arn:aws:s3:::slancer-portfolio/*"
}
                    

Connected the bucket to CloudFront for HTTPS and low-latency access.

🌐 Domain & SSL

Using Namecheap for domain registration and Cloudflare for DNS management, I mapped slancer.site to CloudFront. Cloudflare provided free SSL certificates and global caching, ensuring a secure and performant user experience.

📸 Gallery

S3 Setup

CloudFront Configuration

Cloudflare DNS

Live Portfolio