Production-ready infrastructure with Terraform demonstrating AWS scaling patterns
┌─────────────────────────────────────────────────────────┐
│ VPC │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Public Subnet │ │ Public Subnet │ │
│ │ AZ-1a │ │ AZ-1b │ │
│ │ ┌───────┐ │ │ ┌───────┐ │ │
Internet ──► ALB ──►│ │ │ EC2 │ │ │ │ EC2 │ │ │
│ │ └───────┘ │ │ └───────┘ │ │
│ └─────────────────┘ └─────────────────┘ │
│ │ │ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Private Subnet │ │ Private Subnet │ │
│ │ AZ-1a │ │ AZ-1b │ │
│ │ ┌───────┐ │ │ ┌───────┐ │ │
│ │ │ RDS │◄────┼───────┼───│ RDS │ │ │
│ │ │Primary│ │ │ │Standby│ │ │
│ │ └───────┘ │ │ └───────┘ │ │
│ └─────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────┘
| Policy Type | Description | Trigger |
|---|---|---|
| Target Tracking (CPU) | Maintains target CPU utilization | CPU at 70% |
| Target Tracking (ALB) | Scales based on request count | 1000 req/target |
| Step Scaling (Out) | Aggressive scale-out for spikes | CPU > 70%/80% |
| Step Scaling (In) | Gradual scale-in when idle | CPU < 30% |
| Scheduled Scaling | Time-based capacity changes | Business hours |
| Predictive Scaling | ML-based forecasting | Traffic patterns |