Q48 — AWS SAA-C03 第3章

第 48/65 問 | ← 第3章

Q178. ある企業は、オンプレミスでコンテナ化されたアプリケーションを構築しており、これをAWSに移行することを決定しました。このアプリケーションは、デプロイ直後から数千人のユーザーを想定しています。企業は、大規模なコンテナのデプロイをどのように管理すべきか不確実です。また、運用オーバーヘッドを最小限に抑えつつ、高い可用性を持つアーキテクチャでコンテナ化されたアプリケーションをデプロイする必要があります。 これらの要件を満たすソリューションはどれですか?

正解: A. コンテナイメージをAmazon Elastic Container Registry (Amazon ECR)リポジトリに保存します。Amazon Elastic Container Service (Amazon ECS)クラスターとAWS Fargate起動タイプを使用してコンテナを実行します。ターゲット追跡により、需要に基づいて自動的にスケールします。

解説

需要に基づく自動スケーリングを実現し、高い可用性を持ちながら運用オーバーヘッドを最小限に抑えるコンテナ化アプリケーションのデプロイには、コンテナイメージをAmazon Elastic Container Registry (Amazon ECR)リポジトリに保存し、AWS Fargate起動タイプを用いたAmazon Elastic Container Service (Amazon ECS)クラスターでコンテナを実行し、ターゲット追跡による自動スケーリングを活用することが最適です。よって、正解は選択肢Aです。 選択肢Bは、Amazon EC2起動タイプを用いるため、インスタンスのプロビジョニング・パッチ適用・クラスタ管理など、AWS Fargateと比較してより多くの運用負荷が発生します。 選択肢Cは、EC2インスタンス上に自前で構築したリポジトリと、手動またはカスタムスクリプトによるEC2ベースのコンテナ実行を想定しており、スケーラビリティ・弾力性・可用性の面でAmazon ECS+Fargateに劣り、運用負荷も高くなります。 選択肢Dは、AMIベースのEC2 Auto Scalingにより可用性とスケーラビリティを確保できますが、OS管理・コンテナランタイムの設定・セキュリティパッチ適用など、Fargateと比較して大幅な運用オーバーヘッドが発生します。 AWS Fargate起動タイプを用いたAmazon ECSは、サーバー・クラスタの管理を一切不要とする完全マネージドなコンテナ実行サービスであり、Amazon ECRとの組み合わせにより、安全かつ容易なコンテナイメージ管理が可能です。さらに、Amazon ECSにおけるターゲット追跡機能により、CPUやメモリ使用率などの指標に基づき需要に応じた自動スケーリングが実現され、運用負荷の低減とアプリケーションの高い可用性が同時に達成されます。このアプローチは、設問のすべての要件を満たします。