ある企業がオンプレミスから AWS へのリフト&シフト移行を完了しており、次のフェーズとしてコンテナ化を進めています。現在 EC2 で稼働している 50 個のアプリケーションをコンテナに移行したいと考えています。チームは Kubernetes の経験がなく、Docker は使い慣れています。長期的にはオートスケーリング、ローリングアップデート、ヘルスチェックが必要です。運用の複雑性を最小化しながら移行するには、どのサービスを選択しますか?
- A. Amazon EKS(Elastic Kubernetes Service)でKubernetes クラスターを構築し、Helm チャートでアプリケーションをデプロイする
- B. Amazon Lightsail Containers を使用し、シンプルなコンテナデプロイ環境で管理負荷を最小化する
- C. Amazon ECS(Elastic Container Service)+ AWS Fargate でサーバーレスコンテナを実行する。ECS タスク定義で Docker イメージを定義し、ECS サービスでオートスケーリング、ローリングアップデート、ヘルスチェックを管理する
- D. AWS Elastic Beanstalk のマルチコンテナ Docker 環境で全 50 アプリを管理する
解答と解説を見る
正解: C
Amazon ECS + Fargate はサーバーレスコンテナプラットフォームとして、Kubernetes の知識なしに Docker コンテナを直接実行できます。ECS サービスはオートスケーリング(Application Auto Scaling)、ローリングデプロイ、ヘルスチェックをネイティブにサポートし、Fargate でインスタンス管理が完全に不要になります。Docker に慣れたチームが最短で移行できます。 A: EKS は機能が豊富ですが、Kubernetes の経験がないチームには学習曲線が急で、管理の複雑性が大幅に増します。長期的には検討できますが、「運用の複雑性を最小化」の現段階では適切ではありません。 D: Elastic Beanstalk は使いやすいですが、50 個の独立したアプリケーションの細かいオーケストレーション管理には ECS の方が柔軟性が高く、長期的な管理に適しています。 B: Lightsail Containers はシンプルなユースケースに適していますが、50 個のアプリケーションの管理、高度なオートスケーリング、本番レベルの運用には機能が不足します。
📚 関連サービスの解説: Amazon ECS