Projects

Deploying a Personal CV Website with S3 and CloudFront

S3
CloudFront
Static Website
CDN

Building and deploying a scalable personal portfolio website using Amazon S3 and CloudFront.

Introduction

In this project I deployed a personal CV website using Amazon S3 for static hosting and Amazon CloudFront for global content delivery.

The objective was to understand:

  • static website hosting
  • content delivery networks
  • secure public access
  • performance optimization
  • website scalability
  • cloud architecture design

This project is especially useful for:

  • portfolio deployment
  • frontend hosting
  • cloud architecture learning
  • highly available environments

Services Used

The project uses the following AWS services:

  • Amazon S3
  • Amazon CloudFront
  • Amazon Route 53 (Optional)
  • AWS Certificate Manager (Optional)
  • Amazon CloudWatch (Optional)
  • AWS WAF (Optional)
  • AWS Shield (Optional)

Architecture

The architecture consists of:

User

CloudFront

S3 Static Website

Optional services:

Route53

CloudFront

S3

Additional security and monitoring can be integrated using CloudWatch, WAF and Shield.

Configuration

The solution was configured using:

  • S3 static hosting
  • CloudFront distribution
  • Origin Access Control (OAC)
  • bucket policies
  • cache optimization

Additional concepts explored:

  • DNS management
  • HTTPS certificates
  • monitoring
  • DDoS protection

Important Considerations

Some important architecture concepts:

S3 bucket should not be publicly exposed

Best practices:

  • use CloudFront OAC
  • enable HTTPS
  • monitor traffic
  • protect against attacks
  • use DNS abstraction

Optional improvements:

  • Route 53
  • CloudWatch
  • WAF
  • Shield

Lessons Learned

This project helped reinforce:

  • static website deployment
  • CDN concepts
  • content caching
  • web security
  • scalable architectures
  • AWS managed services

References

Final Result

Below is the final deployed architecture.

Output

Project Code

You can find the Terraform code used in this project in the following GitHub directory.

View Terraform Directory

Comments

Loading comments...
Loading...