3 層 Web アーキテクチャ
Web システムで最も広く使われる基本パターン「3 層アーキテクチャ」の構成と、クラウド上での実装例・スケーリング戦略を解説します。
3 層 Web アーキテクチャとは
3 層 Web アーキテクチャは、システムを「プレゼンテーション層・アプリケーション層・データ層」の 3 つの独立した層に分割するパターンです。1990 年代から使われ続ける成熟したパターンで、小規模な Web アプリから大規模エンタープライズシステムまで幅広く採用されています。
各層が独立しているため、層ごとに独立してスケールでき、保守性・変更容易性が高いのが特徴です。マイクロサービスへの移行前のステップとしても、まず 3 層で構築してから段階的に分割するアプローチが一般的です。
3 つの層の役割
ユーザーと直接対話する UI 層。HTML/CSS/JavaScript で構成された Web フロントエンドを CDN で配信します。
ビジネスロジックを処理するサーバーサイド層。ロードバランサがトラフィックを複数のアプリサーバーへ分散します。
データの永続化・管理を担う層。プライマリ DB・キャッシュ・ストレージで構成されます。アプリケーション層からのみアクセス可能とし、直接の外部アクセスを禁止します。
AWS 上の実装例
スケーリング戦略
CloudFront が世界 400+ エッジロケーションでキャッシュ配信するため、オリジンサーバーへのリクエストを大幅削減。静的アセット(JS/CSS/画像)はキャッシュ期間を長く設定し、CDN のキャッシュヒット率を最大化する。
ECS Service Auto Scaling で CPU 使用率・リクエスト数に基づいてタスク数を自動増減(水平スケーリング)。ALB がリクエストを均等分散。スケールアウト時間を短縮するため、コンテナイメージを小さく保つことが重要。
Aurora Serverless v2 は ACU を自動スケール(最小 0.5 ACU〜最大 128 ACU)。読み取り負荷は Aurora Reader エンドポイントへ分散。ElastiCache でホットデータをキャッシュし DB へのクエリ数を削減(Read-Through / Write-Through パターン)。
このパターンの適用場面
- •一般的な Web アプリケーション(EC サイト・業務システム・管理画面)
- •SaaS プロダクトの初期リリース(まず 3 層で構築し、ボトルネックをマイクロサービス化)
- •チーム規模が小〜中規模で、マイクロサービスの運用複雑性を避けたい場合
- •既存オンプレシステムのリフト&シフト移行先(同一構造でクラウドへ移行しやすい)
- •月数万〜数十万 UU 規模のサービス(Aurora Serverless + ECS Auto Scaling で十分対応可能)
ArchitectAI でクラウドアーキテクチャ設計を自動化しましょう
無料で始める(10クレジット)