AWS Elastic Beanstalk とは?Web アプリの PaaS デプロイサービス
Elastic Beanstalk は Web アプリのデプロイを自動化する PaaS。コード(zip / war / Docker)をアップロードすると、AWS が EC2 / ELB / Auto Scaling / RDS を自動構築してアプリを公開する。インフラを意...
Web アプリのデプロイ・スケーリング・運用をフルマネージドで提供する PaaS。コードを上げればインフラを自動構築。
1. 概要(端的に)
Elastic Beanstalk は Web アプリのデプロイを自動化する PaaS。コード(zip / war / Docker)をアップロードすると、AWS が EC2 / ELB / Auto Scaling / RDS を自動構築してアプリを公開する。インフラを意識せず、Heroku ライクな感覚で運用できる。
2. 何ができるか
- 複数言語対応:Java / .NET / Node.js / PHP / Python / Ruby / Go / Docker
- インフラ自動構築:EC2・ELB・Auto Scaling・SG を一気に作成
- デプロイ管理:All-at-once / Rolling / Immutable / Blue/Green
- 環境設定:開発・ステージ・本番を分けて管理
- モニタリング:CloudWatch・ヘルスチェック統合
- 設定変更の追跡:環境設定の履歴管理
- ローリングバック:旧バージョンへ即座に戻せる
3. 特徴
| 観点 | 特徴 |
|---|---|
| 位置づけ | PaaS(Platform as a Service) |
| 柔軟性 | 中(カスタマイズは .ebextensions で可) |
| 裏側 | EC2 / ELB / Auto Scaling / CloudFormation |
| 追加料金 | サービス自体は無料(裏のリソース料金のみ) |
| 対象 | Web アプリ・API |
| 学習コスト | 低 |
vs ECS / Lambda / App Runner
| 観点 | Beanstalk | ECS Fargate | Lambda | App Runner |
|---|---|---|---|---|
| デプロイ単位 | アプリ全体 | コンテナ | 関数 | コンテナ |
| 設定の手間 | 中 | 中 | 小 | 極小 |
| カスタマイズ性 | 高 | 高 | 低 | 低 |
| 古さ | やや古い(2011-) | 新(2015-) | 新(2014-) | 最新(2021-) |
近年は App Runner / Fargate / Lambda に置き換わりつつあるが、レガシー Web アプリの移行先として根強い人気。
4. 仕組み
Beanstalk は 「アプリケーション」「環境」「バージョン」 の 3 階層で管理する。裏側で CloudFormation がインフラを作る。
構成要素
- アプリケーション:論理的な集合(複数環境を持つ)
- 環境:実行環境(dev / staging / prod)
- バージョン:デプロイ単位(zip ファイル等)
- 環境設定:EC2 タイプ・ELB・SG・スケーリング設定
環境タイプ
- Web Server 環境:Web アプリ向け(ELB + Auto Scaling EC2)
- Worker 環境:バッチ処理向け(SQS と連携)
デプロイ戦略
- All-at-once:全インスタンスを同時更新(高速・ダウンタイムあり)
- Rolling:少しずつ更新(ダウンタイムなし)
- Rolling with additional batch:新インスタンスを足してから更新
- Immutable:新環境を別途構築 → 切替(最も安全)
- Blue/Green:URL 切替で瞬時にロールバック可
.ebextensions
.ebextensions/*.config に YAML を置けば、初期化スクリプト・追加リソース(S3 バケット等)・パッケージインストールをカスタマイズできる。
5. ユースケース
ユースケース 1:レガシー Web アプリのクラウド移行
オンプレ Java/.NET アプリを最小変更で AWS に持ち込む。
ユースケース 2:開発チームのインフラ知識補完
インフラ専任がいないチームでも、コードを書くだけで本番デプロイ可能。
ユースケース 3:プロトタイプ・MVP
すぐ動かしたい Web アプリの試作。
ユースケース 4:教育・学習
AWS 学習者が、複雑な VPC/EC2/ELB を手動で組まずに「Web アプリ公開」を体験。
6. 関連用語
- EC2 — Beanstalk が裏で使う仮想サーバー
- ELB / ALB — 自動構築される LB
- EC2-Auto-Scaling — 自動構築されるスケーリング
- CloudFormation — Beanstalk が裏で使う IaC
- App-Runner — Beanstalk のモダン置き換え
- ECS / Fargate — コンテナ時代の選択肢
7. 関連サイト
AWS 公式
参考
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 低 | PaaS の概念紹介で登場 |
| SAA | 中 | 「インフラ管理を最小化したい Web アプリ」 |
| DVA | 高 | デプロイ戦略(Rolling/Immutable/Blue/Green)の選定 |
| SOA | 中 | Beanstalk の運用・トラブルシュート |