Q91 — AWS SAA-C03 第11章
第 91/100 問 | ← 第11章
Q791. 製造業の企業が、AWS上でレポート生成アプリケーションを実行しています。このアプリケーションでは、各レポートの生成に約20分かかります。アプリケーションはモノリシックな構成で、単一のAmazon EC2インスタンス上で動作します。アプリケーションは、密結合したモジュールを頻繁に更新する必要があります。新機能の追加に伴い、アプリケーションはメンテナンスが複雑化しています。ソフトウェアモジュールのパッチ適用ごとにアプリケーションがダウンタイムを経験し、中断が発生した場合、レポート生成は最初から再開する必要があります。企業は、アプリケーションを柔軟性・スケーラビリティ・段階的改善が可能なように再設計したいと考えており、アプリケーションのダウンタイムを最小限に抑えたいとしています。これらの要件を満たすソリューションはどれですか?
- A. AWS Lambda上で、最大プロビジョニングコンカレンシーを設定した単一関数としてアプリケーションを実行する。
- B. Amazon EC2 Spot Instances上でマイクロサービスとしてアプリケーションを実行し、Spot Fleetのデフォルト割り当て戦略を採用する。
- C. Amazon Elastic Container Service (Amazon ECS)上でマイクロサービスとしてアプリケーションを実行し、サービスの自動スケーリングを有効にする。 ✓
- D. AWS Elastic Beanstalk上で単一のアプリケーション環境としてアプリケーションを実行し、すべて一度にデプロイ(all-at-once)する戦略を採用する。
正解: C. Amazon Elastic Container Service (Amazon ECS)上でマイクロサービスとしてアプリケーションを実行し、サービスの自動スケーリングを有効にする。
解説
柔軟性・スケーラビリティ・段階的改善を実現し、アプリケーションのダウンタイムを最小限に抑えるという要件を満たすためには、以下のソリューションが適しています:C. Amazon Elastic Container Service (Amazon ECS)上でマイクロサービスとしてアプリケーションを実行し、サービスの自動スケーリングを有効にする。Amazon ECS上でマイクロサービスとしてアプリケーションを実行することで、モノリシックなアプリケーションを小さな独立したサービスに分割でき、モジュラリティが向上し、保守性が大幅に改善されます。各マイクロサービスは他のサービスに影響を与えることなく個別に更新可能であるため、アップデート時のダウンタイムを低減できます。また、Amazon ECSのサービス自動スケーリングにより、負荷に応じて実行中のタスク数を自動的に調整できるため、レポート生成時の増大するワークロードにも中断やパフォーマンス劣化を招かずに対応できます。これにより、スケーラビリティとリソース利用効率の両方が確保されます。他の選択肢が不適切な理由は以下の通りです:A. AWS Lambda上で単一関数として実行する場合:AWS Lambdaはイベント駆動型・短時間実行向けのサービスであり、レポート生成に約20分かかる本ユースケースでは、Lambdaの最大実行時間制限(15分)を超えてしまうため、技術的に使用できません。B. Amazon EC2 Spot Instances上でマイクロサービスとして実行し、Spot Fleetのデフォルト割り当て戦略を採用する場合:Spot Instancesはコスト削減に有効ですが、短期間の通知で中断される可能性があり、レポート生成中の中断を引き起こすリスクがあります。その結果、処理の再開が必要となり、ダウンタイムが長引く可能性があります。D. AWS Elastic Beanstalk上で単一アプリケーション環境とall-at-onceデプロイ戦略を採用する場合:Elastic Beanstalkはデプロイ管理を簡素化しますが、モノリシックな単一環境では、モジュラーなアーキテクチャや段階的改善に対応できず、all-at-onceデプロイはアプリケーション全体のダウンタイムを伴うため、要件を満たしません。したがって、柔軟性・スケーラビリティ・段階的改善・ダウンタイム最小化というすべての要件を満たす最適なソリューションは、Cです。