AWS Has Too Many Services
Start with these. Add more when you need them.
EC2 (Virtual Servers)
# Basic instance
- t3.micro for small apps
- t3.small for production
- Use Amazon Linux 2 or Ubuntu
Key concepts:
- Security Groups = firewall rules
- Key Pairs = SSH access
- Elastic IP = static IP address
S3 (File Storage)
// Laravel integration
Storage::disk('s3')->put('file.jpg', $contents);
$url = Storage::disk('s3')->url('file.jpg');
Use for:
- User uploads
- Backups
- Static assets
RDS (Managed Database)
Handles backups, updates, failover:
- db.t3.micro for dev
- db.t3.small for small production
- Enable Multi-AZ for high availability
CloudFront (CDN)
Put in front of S3 for faster global delivery:
- Create distribution
- Point to S3 bucket
- Use CloudFront URL for assets
Costs to Watch
EC2 - hourly (stop when not using)
RDS - hourly (can't stop easily)
S3 - storage + requests (usually cheap)
Data transfer - outbound costs money
Use billing alerts!
Basic Architecture
CloudFront (CDN)
↓
Users → Route 53 → Load Balancer → EC2 instances
↓
RDS
↓
S3 (files)
Getting Started
- Create IAM user (don't use root)
- Set up billing alerts
- Launch EC2 instance
- Create RDS database
- Create S3 bucket
Free tier covers basics for 12 months.
