AWS Fargate とは?コンテナ サーバーレス実行基盤の仕組み
AWS Fargate は コンテナのサーバーレス実行基盤。EC2 を起動・管理せずにコンテナをそのまま動かせる。ECS または EKS の起動タイプとして選択でき、利用者は コンテナの仕様(vCPU・メモリ・イメージ)だけ定義すれば、実行基盤は AWS が用意する。 ---
ECS / EKS のコンテナをサーバー管理なしで動かせるサーバーレス実行基盤。
1. 概要(端的に)
AWS Fargate は コンテナのサーバーレス実行基盤。EC2 を起動・管理せずにコンテナをそのまま動かせる。ECS または EKS の起動タイプとして選択でき、利用者は コンテナの仕様(vCPU・メモリ・イメージ)だけ定義すれば、実行基盤は AWS が用意する。
2. 何ができるか
- EC2 不要のコンテナ実行:OS 管理・パッチ・スケーリング不要
- vCPU・メモリ秒単位課金:使った分だけ
- ECS / EKS の起動タイプ:両方で利用可能
- タスク(Pod)単位の独立実行:他タスクと物理的に隔離
- Auto Scaling:ECS / EKS のスケーリングと連携
- VPC 統合:awsvpc モードで Pod / タスクに VPC IP
3. 特徴
| 観点 | 特徴 |
|---|---|
| 実行モデル | サーバーレス(EC2 完全不要) |
| 課金単位 | vCPU 秒 + メモリ GB 秒 |
| 管理対象 | コンテナ仕様のみ(OS・サーバーは AWS) |
| 隔離レベル | タスク間で物理的に隔離(マイクロ VM) |
| スポット | Fargate Spot あり(最大 70% オフ・中断あり) |
| コールドスタート | 数秒〜十数秒(Lambda より遅い) |
| 対応 | ECS / EKS どちらでも利用可 |
vs Lambda
| 観点 | Fargate | Lambda |
|---|---|---|
| 実行時間制限 | なし | 15 分 |
| 起動時間 | 数秒〜十数秒 | 数十 ms(ウォーム時) |
| 料金単位 | vCPU/メモリ秒 | リクエスト + GB-秒 |
| ステートフル | 可(任意の言語・処理) | ステートレス前提 |
| 用途 | 長時間処理、Web/API | イベント処理、短時間処理 |
vs EC2 起動タイプ
| 観点 | Fargate | EC2 起動 |
|---|---|---|
| EC2 管理 | 不要 | 必要(Auto Scaling Group 等) |
| OS パッチ | 不要 | 必要 |
| 料金 | 高め(管理コミ) | 安め(自前管理コスト) |
| スポット | あり | あり |
| ロックイン | 中 | 低 |
4. 仕組み
Fargate は タスク(ECS)または Pod(EKS)ごとに専用のマイクロ VM を起動する。Firecracker をベースとし、コンテナ間の物理隔離を実現。
構成要素
- タスク定義(ECS)/ Pod 仕様(EKS):コンテナの設計図
- vCPU / メモリ仕様:固定された組み合わせから選択
- awsvpc ネットワーク:タスク / Pod に VPC IP を直接付与
- エフェメラルストレージ:デフォルト 20 GB、最大 200 GB
- タスクロール(IAM):コンテナから AWS API を呼ぶ権限
vCPU / メモリの組み合わせ
vCPU を決めるとメモリの選択肢が決まる:
| vCPU | メモリ |
|---|---|
| 0.25 | 0.5 / 1 / 2 GB |
| 0.5 | 1 〜 4 GB |
| 1 | 2 〜 8 GB |
| 2 | 4 〜 16 GB |
| 4 | 8 〜 30 GB |
| 8 | 16 〜 60 GB |
| 16 | 32 〜 120 GB |
動作の流れ(ECS Fargate)
- タスク定義に「Fargate」起動タイプ指定
- ECS サービスが希望タスク数だけタスク起動を依頼
- Fargate が 新しいマイクロ VM を起動
- ECR からイメージをプル
- コンテナを起動 → ALB に登録
- リクエスト受付開始
- スケールイン時はタスク終了(マイクロ VM 破棄)
Fargate Spot
スポット EC2 と同様、AWS の余剰キャパで 最大 70% オフ で動かせる。中断可能性あり。
5. ユースケース
ユースケース 1:Web/API(コンテナ)
ALB → ECS Fargate → DynamoDB のサーバーレス Web 構成。
ユースケース 2:バッチ処理
定期実行のジョブを ECS タスクで起動 → 終わったら停止。EC2 不要。
ユースケース 3:マイクロサービス
1 サービス = 1 ECS サービス(Fargate)。ノード管理不要で運用シンプル。
ユースケース 4:CI/CD ビルド
GitHub Actions / Jenkins のセルフホストランナーを Fargate で。スパイク時のみ起動。
ユースケース 5:機械学習推論(軽量)
GPU 不要なモデル推論を Fargate で。Lambda の 15 分制限を超えるケース。
6. 関連用語
- ECS — Fargate 利用先(AWS 独自オーケストレーター)
- EKS — Fargate 利用先(Kubernetes)
- ECR — Fargate がイメージを取得するレジストリ
- EC2 — もう一つの起動タイプ
- Lambda — 別のサーバーレス選択肢
- Savings-Plans — Fargate も対象になる割引
7. 関連サイト
AWS 公式
参考
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 中 | サーバーレスコンテナの概念 |
| SAA | 高 | 「サーバー管理を最小化したい」「コンテナをサーバーレスで」 |
| DVA | 高 | ECS/EKS デプロイ、タスク定義設計 |
| SOA | 中 | 運用負荷削減のための Fargate 移行 |