Cloud Computing · beginner
Static Site on S3 + CloudFront with a Custom Domain
Your first real cloud deployment — a site served from S3 through a CloudFront CDN, on a domain you own, with HTTPS and automatic cache invalidation on every deploy.
Project overview
Every cloud role assumes you understand the pieces underneath — object storage, DNS records, certificates, cache behavior. This is the smallest project that makes you touch all of them for real, and it gives you a live URL you can put at the top of your resume.
Real-world use case
A startup needs its marketing site served fast worldwide at near-zero cost, without running or patching a single web server.
Tools and technologies
- AWS S3
- CloudFront
- Route 53
- AWS Certificate Manager
- AWS CLI
Skills you can demonstrate
Cloud Storage, CDN Configuration, DNS, TLS Certificates, Deployment Automation
Build roadmap
- Create the S3 bucket
Make a bucket and upload a simple index.html. Leave public access blocked — you will serve it through CloudFront instead, which is the correct pattern. - Get a domain and a certificate
Register a domain (Route 53 or any registrar) and request a free certificate in AWS Certificate Manager. It must be in us-east-1 for CloudFront to accept it — this trips up almost everyone. - Set up the CloudFront distribution
Point it at your bucket using Origin Access Control, attach your certificate, set your domain as an alternate name, and redirect HTTP to HTTPS. - Wire up DNS
Create an alias record pointing your domain at the distribution. Wait for propagation, then load your site over HTTPS and confirm the padlock. - Automate the deploy
Write a script using the AWS CLI that syncs your local folder to S3 and invalidates the CloudFront cache. Now shipping a change is one command. - Measure and document
Check your cache-hit ratio in the CloudFront console and test load time from a few regions. Put those numbers in your README — measured results are what separate this from a tutorial follow-along.
Ways to extend the project
Add a GitHub Actions workflow that syncs to S3 and issues a CloudFront invalidation on every push to main, so deploying is just merging a pull request.
How to showcase your work
- GitHub: Repo with the site source, your deploy script, and a README explaining the request path from browser to CloudFront to S3.
- LinkedIn: Share the live URL alongside a screenshot of your CDN cache-hit ratio — a concrete performance number reads far better than "I deployed a website".
- Resume: List the live URL directly. Focus on "AWS S3/CloudFront", "DNS and TLS configuration", and "Automated deployment".