What is the recommended design for a multi-tier application in VPC?
Internet
│
▼
Application Load Balancer
│
┌─────────────────┴─────────────────┐
│ │
AZ-A AZ-B
│ │
┌─────────┐ ┌─────────┐
│ Web Tier│ │ Web Tier│
└─────────┘ └─────────┘
│ │
▼ ▼
┌─────────┐ ┌─────────┐
│ App Tier│ │ App Tier│
└─────────┘ └─────────┘
│ │
└───────────────┬───────────────────┘
▼
Database Tier
(RDS Multi-AZ)
The recommended design for a multi-tier application in a VPC is a three-tier architecture consisting of a Web Tier in public subnets, an Application Tier in private subnets, and a Database Tier in private database subnets. The application should be deployed across multiple Availability Zones, use an Application Load Balancer, Auto Scaling Groups, Multi-AZ RDS, and NAT Gateways for private subnet internet access. Security Groups should restrict communication so that each tier only talks to the tier immediately above or below it.