TL

3層Webアプリ(高可用構成)

プレゼン層・アプリ層・データ層を分離し、複数AZ+Auto Scaling+Multi-AZ DBで可用性を確保する王道構成。

中級信頼性セキュリティパフォーマンス効率

このパターンは?

最も基本的で頻出の「3層アーキテクチャ」。役割ごとに層を分け、各層を複数AZに冗長化します。SAAでも実務でも王道です。

  • プレゼン層: 静的配信とロードバランシング
  • アプリ層: ビジネスロジック(自動スケール)
  • データ層: 永続データ(高可用DB)

構成

[ユーザー]
   │ HTTPS
   ▼
Route 53 (DNS) ──► CloudFront (CDN) ──► S3 (静的アセット/画像)
   │
   ▼
ALB (L7ロードバランサ・複数AZ)
   │
   ▼
アプリ層: EC2 or ECS/Fargate  (Auto Scaling・複数AZ・プライベートサブネット)
   │
   ▼
データ層: RDS / Aurora  (Multi-AZ・プライベートサブネット・暗号化)

各層の役割

  • Route 53: ドメイン解決。apexはAliasでCloudFront/ALBへ。フェイルオーバーでDRも
  • CloudFront + S3: 静的アセットをエッジ配信し、オリジン負荷を軽減
  • ELB(ALB): リクエストを複数AZのアプリへ分散、ヘルスチェックで異常を除外
  • EC2 / ECS: アプリ本体。Auto Scalingで負荷追従
  • RDS / Aurora: Multi-AZで自動フェイルオーバー、読み取りはリードレプリカ

設計の勘所

ステートレス+層の分離

アプリ層はステートレスにし、セッションは DynamoDB や ElastiCache へ。そうすれば台数を自由に増減でき、Auto Scalingが効きます。

  • サブネットは**パブリック(ALB)/ プライベート(アプリ・DB)**で分離
  • DBはプライベートに置き、外部公開しない
  • 各層のサブネットを2つ以上のAZに配置

Well-Architected の観点

  • 信頼性: 複数AZ・Auto Scaling・Multi-AZ DBで単一障害点を排除
  • セキュリティ: 層の分離・最小公開・IAMロール・暗号化
  • パフォーマンス効率: CDN+水平スケール+リードレプリカ

よくある落とし穴

アンチパターン
  • 単一AZ構成(AZ障害で全停止)
  • DBをパブリックサブネットに置く
  • アプリ層がローカルにセッション/ファイルを持ち、スケールできない

監視は CloudWatch でアラーム→Auto Scaling連携。各層のメトリクスとログを集約しましょう。

AWS Pattern

3層Webアプリ(高可用構成)を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

reliability

比較で見る軸

クラウド: AWS / 難易度: intermediate / 関連サービス: 9件

導入後に効く点

プレゼン層・アプリ層・データ層を分離し、複数AZ+Auto Scaling+Multi-AZ DBで可用性を確保する王道構成。

先に潰すリスク

パターンをそのまま写すのではなく、可用性、権限、ネットワーク境界、運用手順を自分の要件に合わせる必要がある。

数字・仕様の読み方
クラウド
AWS
難易度
intermediate
関連サービス
9件
設計柱
reliability / security / performance

判断チェックリスト

  • 自社の用途が「reliability / security」に近いか確認する。
  • 強みである「プレゼン層・アプリ層・データ層を分離し、複数AZ+Auto Scaling+Multi-AZ DBで可用性を確保する王道構成。」が本当に評価軸になるか確認する。
  • 注意点の「パターンをそのまま写すのではなく、可用性、権限、ネットワーク境界、運用手順を自分の要件に合わせる必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

reliabilitysecurityperformanceAmazon Route 53Amazon CloudFrontElastic Load Balancing (ELB)Amazon EC2Amazon ECS / Fargate