コンテナオーケストレーション
コンテナのデプロイ、スケーリング、ネットワーキングを自動管理するプラットフォーム
コンテナインフラ
コンテナオーケストレーションとは
コンテナオーケストレーションは、コンテナのデプロイ、スケーリング、ネットワーキング、ヘルスチェックを自動管理するプラットフォームである。Kubernetes と Amazon ECS が代表例。
なぜ必要か
コンテナ 1 つ: docker run で十分
コンテナ 100 個:
- どのサーバーに配置するか
- 障害時にどう再起動するか
- スケールアウトをどう制御するか
- コンテナ間の通信をどう管理するか
→ オーケストレーターが自動管理
ECS vs EKS vs Lambda
| 観点 | ECS (Fargate) | EKS | Lambda |
|---|---|---|---|
| 管理負荷 | 低い | 中〜高 | 最低 |
| スケーリング | Auto Scaling | HPA | 自動 |
| コスト (アイドル) | タスク数に比例 | クラスタ費用 | ゼロ |
| 実行時間 | 無制限 | 無制限 | 最大 15 分 |
| 用途 | 長時間処理、Web サーバー | K8s エコシステム | イベント駆動 |
オーケストレーターの機能
オーケストレーターはコンテナをどのノードに配置するかのスケジューリング、負荷に応じたコンテナ数の増減 (スケーリング)、不健全なコンテナの自動再起動 (ヘルスチェック)、コンテナ間の名前解決 (サービスディスカバリ)、ダウンタイムなしのローリングアップデート、環境変数の安全な注入 (シークレット管理) を担う。
Lambda vs コンテナの選択基準
| ケース | 推奨 |
|---|---|
| イベント駆動、短時間処理 | Lambda |
| 長時間処理 (> 15 分) | ECS Fargate |
| 既存のコンテナアプリ | ECS Fargate |
| K8s エコシステムが必要 | EKS |
| コストゼロを目指す | Lambda |
実践的な知識は関連書籍でも得られる。