Q42 — AWS SAA-C03 第3章
第 42/65 問 | ← 第3章
Q172. ある企業が、既存のオンプレミス単一構成(モノリシック)アプリケーションを AWS へ移行したいと考えています。フロントエンドコードおよびバックエンドコードは、可能な限りそのまま活用したいです。ただし、アプリケーションをより小さなアプリケーションに分割し、それぞれを異なるチームが管理できるようにしたいと考えています。また、高いスケーラビリティと最小限の運用オーバーヘッドを実現するソリューションが必要です。これらの要件を満たすソリューションはどれですか?
- A. アプリケーションを AWS Lambda 上でホストし、Amazon API Gateway と統合する
- B. アプリケーションを AWS Amplify 上でホストし、AWS Lambda と統合された Amazon API Gateway の API に接続する
- C. アプリケーションを Amazon EC2 インスタンス上でホストし、Application Load Balancer を設定して、Auto Scaling グループ内の EC2 インスタンスをターゲットとする
- D. アプリケーションを Amazon Elastic Container Service(Amazon ECS)上でホストし、Application Load Balancer を設定して、Amazon ECS をターゲットとする ✓
正解: D. アプリケーションを Amazon Elastic Container Service(Amazon ECS)上でホストし、Application Load Balancer を設定して、Amazon ECS をターゲットとする
解説
モノリシックアプリケーションを複数の小さなアプリケーションに分割し、各アプリケーションを異なるチームが管理するという要件は、マイクロサービスアーキテクチャの採用を示唆しています。また、このソリューションには高いスケーラビリティと最小限の運用オーバーヘッドが求められます。 Amazon ECS は、Docker コンテナをサポートするコンテナ管理サービスであり、AWS 上でのコンテナ化アプリケーションのデプロイおよびスケーリングを簡素化します。CPU やメモリ使用率に基づく自動スケーリングに対応しており、運用オーバーヘッドを最小限に抑えながらスケーラビリティを実現できます。 Application Load Balancer を Amazon ECS と連携させることで、着信トラフィックをアプリケーションの複数インスタンスに分散でき、高可用性およびフォールトトレランスを確保できます。さらに、Amazon ECS は Amazon RDS や Amazon S3 などの他の AWS サービスとも良好に統合されるため、包括的なマイクロサービスアーキテクチャの構築が容易になります。 選択肢 A は不適切です。AWS Lambda は長時間実行されるアプリケーションのホスティングには向いていません。 選択肢 B は不適切です。AWS Amplify は Web アプリケーションの構築・デプロイ・管理のためのフレームワークであり、アプリケーションのホスティングサービスではありません。 選択肢 C は不適切です。Amazon EC2 インスタンスは、完全マネージドなコンテナオーケストレーションサービスではなく、企業側が EC2 インスタンスの管理を担う必要があり、運用オーバーヘッドが増大します。 したがって、選択肢 D が企業の要件を最も適切に満たすソリューションです。