■ はじめに
本記事では、3層Webアーキテクチャ(Web / AP / DB)を理解し、
段階的に構築・発展させていくシリーズの導入として、全体像を整理します。
本シリーズでは、実務を想定しWeb/APを同一サーバで構成します。
■ 本シリーズの流れ
- 構成理解(本記事)
- EC2での構築(IaaS)
- マネージドサービスへの置き換え
- Terraformによるコード化
- 実務レベル構成
- 個人開発向け構成
■ 3層Webアーキテクチャとは
Webアプリケーションは以下の3つの役割で構成されます。
- Web層:リクエスト受付(Nginxなど)
- AP層:アプリケーション処理(Flaskなど)
- DB層:データ管理(MySQLなど)
■ 構成方針
本シリーズでは以下の構成を採用します。
- 論理:3層(役割で分離)
- 物理:2層(Web + APを同居)
■ 構成図(IaaS:EC2)
[ Client ]
↓
[ EC2(Nginx + Flask) ]
↓
[ EC2(MySQL) ]
■ 構成図(マネージド)
[ Client ]
↓
[ EC2(Nginx + Flask) ]
↓
[ RDS(MySQL) ]
■ IaaSとマネージドの違い
| 項目 | EC2(IaaS) | RDS(マネージド) |
|---|---|---|
| 管理範囲 | OS〜ミドルウェア | DBエンジン以降 |
| 運用負荷 | 高い | 低い |
| 可用性 | 自前設計 | AWSに委譲 |
👉 本シリーズでは、まずIaaSで構築し、その後マネージドへ置き換えます。
■ なぜ3層に分けるのか
- 保守性向上(役割分離)
- スケーラビリティ
- セキュリティ(DB非公開)
■ 今後の流れ
次回はEC2を用いて、実際に構築を行います。
- Nginx(Web)
- Flask(AP)
- MySQL(DB)
■ まとめ
本記事では、3層Webアーキテクチャの基本と、
実務を想定した構成方針を整理しました。
段階的に構成を発展させながら、理解と実装の両方を深めていきます。
■ 次回予告
👉 EC2で3層Webアプリを構築してみた(IaaS編)