適切に設計されたAWSシステムの構築は、確立されたパターンに従うことが多くあります。3層ウェブアーキテクチャ、マイクロサービス、イベント駆動、サーバーレス、その他のパターンがあり、スケーラビリティ、疎結合、レジリエンスなどの一般的な要件に対応するためにAWSサービスを組み合わせています。
3層ウェブアーキテクチャ(クラシック)
The classic scalable web app:
PRESENTATION → CloudFront (CDN) + S3 (static frontend) or ALB → web tier
APPLICATION → EC2/containers (auto-scaled, multi-AZ) behind a load balancer
DATA → RDS (Multi-AZ) / DynamoDB; ElastiCache for caching
→ Each tier scales independently; multi-AZ for HA; the foundational web pattern.
マイクロサービス
Decompose into independent services (each owning its data):
→ containers (ECS/EKS) or Lambda per service; API Gateway / service mesh
→ communicate via APIs and async messaging (SQS/SNS/EventBridge)
→ independent scaling, deployment, and teams
→ Flexibility and scalability at the cost of distributed-system complexity.
