This repository contains hands-on labs demonstrating core Amazon S3 concepts, from foundational storage and data protection to advanced security and lifecycle management. Using LocalStack Pro, we simulate a complete AWS storage environment locally.
Based on AWS best practices (SAA-C03), these labs cover:
- Data Protection: Implementing Versioning to protect against accidental deletes and overwrites.
- Security & Access Control: Securing access via Pre-signed URLs for third parties.
- Lifecycle Management: Automating data transitions and expiration.
- Event-Driven Architectures: Decoupling systems with S3 Event Notifications and SQS.
- Server-Side Encryption: Securing data at rest with SSE-S3 and SSE-KMS.
- Compliance: Enforcing WORM models with S3 Object Lock.
- Content Delivery: Global distribution with Amazon CloudFront.
- Disaster Recovery: Cross-Region Replication for mission-critical data.
- Docker & Docker Compose
- LocalStack Pro account and Auth Token
awslocalCLI (a wrapper around the AWS CLI for LocalStack)
-
Configure your LocalStack Auth Token in
.env:echo "YOUR_TOKEN=your_auth_token_here" > .env
-
Start LocalStack Pro:
docker-compose up -d
Important
Cumulative Architecture: These labs are designed as a cumulative scenario. You are building an evolving storage infrastructure.
- Lab 1: Foundational S3 & Data Protection (Versioning)
- Lab 2: Compliance & Security (SSE-KMS & Object Lock)
- Lab 3: Automated Cost Optimization (Lifecycle Policies)
- Lab 4: Event-Driven Architectures (S3 Event Notifications to SQS)
- Lab 5: Secure Third-Party Access (Pre-signed URLs)
- Lab 6: Content Delivery & Edge Caching (CloudFront Origin)
- Lab 7: Disaster Recovery (Cross-Region Replication)