ある小売企業がオンプレミスの EC システム(Spring Boot + MySQL)を AWS にモダナイズする計画を立てています。現在のシステムはモノリシックで、将来的にはマイクロサービス化も視野に入れています。初期フェーズとしてリフト&シフトで AWS に移行し、安定稼働を確認後にコンテナ化、さらにマイクロサービス化という 3 段階のアプローチを採用します。各フェーズで最適な AWS サービスの組み合わせはどれですか?
- A. フェーズ1: Lambda + DynamoDB → フェーズ2: ECS + RDS → フェーズ3: EKS + Aurora
- B. フェーズ1: EC2 + RDS → フェーズ2: Lambda + DynamoDB → フェーズ3: AppSync + DynamoDB
- C. フェーズ1: EC2 + RDS MySQL → フェーズ2: ECS + RDS MySQL → フェーズ3: ECS/EKS + Aurora + API Gateway + EventBridge
- D. フェーズ1: Elastic Beanstalk + RDS → フェーズ2: Elastic Beanstalk Docker + RDS → フェーズ3: EKS + Aurora
解答と解説を見る
正解: C
フェーズ1: EC2 + RDS MySQL は最もシンプルなリフト&シフトで、既存のアーキテクチャをほぼそのまま移行できます。フェーズ2: ECS(Fargate)でコンテナ化し、アプリを変更せずにコンテナで実行します。フェーズ3: マイクロサービス化では ECS/EKS で各サービスを独立したコンテナに分割し、Aurora でパフォーマンスを向上させ、API Gateway でサービス間通信を管理、EventBridge でイベント駆動の非同期連携を実現します。 A: フェーズ1 で Lambda + DynamoDB に移行することは、Spring Boot の全書き直しが必要で「リフト&シフト」ではありません。最初のフェーズとして不適切です。 D: Elastic Beanstalk はアプリデプロイの管理を簡素化しますが、フェーズ3 のマイクロサービス化には ECS/EKS の方が適しており、Elastic Beanstalk からの移行が改めて必要になります。 B: フェーズ2 で Lambda + DynamoDB への移行は Spring Boot + MySQL の全書き直しが必要で、段階的なアプローチの流れに合いません。
📚 関連サービスの解説: Amazon EC2 ・ Amazon RDS