Q80 — AWS SAA-C03 第13章

第 80/100 問 | ← 第13章

Q980. ある企業が、オンプレミスのデータセンターからAWSへ複数のレガシーな.NETアプリケーションを移行しようとしています。同社は、これらのアプリケーションのコードベースを最新版の.NETに対応するよう変換しました。同社は、更新された.NETアプリケーションをAWS上でホストするための、スケーラブルで高性能なソリューションを必要としています。これらの要件を満たす中で、最も少ない継続的な管理負荷(administrative overhead)で実現できるソリューションはどれですか?

正解: A. NETアプリケーションをコンテナ化します。Amazon Elastic Container Service(Amazon ECS)でタスク定義を作成し、起動タイプとしてAWS Fargateを使用します。CPUおよびメモリ使用量に基づいて自動スケーリングを設定します。

解説

正解は:Aです。 A. .NETアプリケーションをコンテナ化し、AWS Fargateを起動タイプとするAmazon ECSでタスク定義を作成し、必要なCPUおよびメモリ量に基づいて自動スケーリングを構成する。 ・このソリューションは、他の選択肢と比較して、継続的な管理負荷が最も小さくなります。AWS Fargateでは、EC2インスタンスのプロビジョニングやスケーリングといった基盤となるインフラストラクチャの管理を不要とし、コンテナのオーケストレーション、リソース割り当て、および指定されたCPU/メモリ要件に基づくスケーリングをFargateが自動的に処理します。 ・また、コンテナ化により、.NETアプリケーションに対して一貫したランタイム環境が提供され、異なる環境間でのアプリケーションの管理・デプロイが容易になります。 ・さらに、ECSの自動スケーリング機能により、アプリケーションのリソース要件に応じてコンテナが自動的にスケールされ、スケーラブルかつ高性能なホスティング環境が確保されます。 B. 静的コンテンツをAmazon S3に保存し、.NETアプリケーションをAWS Lambda関数に変換、API Gatewayでルーティングする。 ・この方法では、レガシーな.NETアプリケーションをLambda関数に変換するために大幅なリファクタリングが必要となり、実現が困難である可能性があります。また、API GatewayおよびLambda関数の管理という追加の複雑さが生じます。 C. Auto Scalingグループ内のEC2インスタンスにアプリケーションをデプロイし、Application Load Balancerでトラフィック制御を行う。 ・スケーラブルで高性能なホスティング環境を提供できますが、EC2インスタンス、Auto Scalingグループ、ロードバランサーといった各要素の継続的な管理負荷が発生します。 D. アプリケーションを展開用アーカイブにパッケージ化し、AWS Elastic Beanstalkでデプロイする。 ・Elastic Beanstalkは基盤インフラの管理を抽象化するため、管理負荷は比較的低くなりますが、ECS+Fargateによるコンテナ化ソリューションと比べると、柔軟性や制御性がやや劣ります。 以上より、最も少ない継続的な管理負荷で要件を満たすソリューションは、.NETアプリケーションのコンテナ化と、Amazon ECSおよびAWS Fargateの活用です。