Q53 — AWS SAA-C03 第1章
第 53/65 問 | ← 第1章
Q53. ある企業が、アプリケーションのパフォーマンス向上を目的として、オンプレミス環境からAWSクラウドへマルチティア構成のアプリケーションを移行したいと考えています。このアプリケーションは、RESTfulサービスを介して相互に通信する複数のアプリケーションティアで構成されています。しかし、あるティアが過負荷になるとトランザクションが破棄されてしまいます。ソリューションアーキテクトは、これらの課題を解決し、アプリケーションをモダナイズするソリューションを設計する必要があります。これらの要件を満たし、かつ最も運用効率が高いソリューションはどれですか?
- A. Amazon API Gateway を使用し、トランザクションをアプリケーション層として AWS Lambda 関数に直接ルーティングします。アプリケーションサービス間の通信層には Amazon Simple Queue Service (Amazon SQS) を使用します。 ✓
- B. Amazon CloudWatch メトリクスを活用してアプリケーションのパフォーマンス履歴を分析し、パフォーマンス障害発生時のサーバーのピーク利用率を特定します。その後、Amazon EC2 インスタンスのサイズを拡大してピーク需要に対応します。
- C. Amazon Simple Notification Service (Amazon SNS) を使用して、Auto Scaling グループ内の Amazon EC2 上で実行されるアプリケーションサーバー間のメッセージングを処理します。Amazon CloudWatch を使用して SNS のキュー長を監視し、必要に応じてスケールアップ/スケールダウンを行います。
- D. Amazon Simple Queue Service (Amazon SQS) を使用して、Auto Scaling グループ内の Amazon EC2 上で実行されるアプリケーションサーバー間のメッセージングを処理します。Amazon CloudWatch を使用して SQS のキュー長を監視し、通信障害が検出された際にスケールアップします。
正解: A. Amazon API Gateway を使用し、トランザクションをアプリケーション層として AWS Lambda 関数に直接ルーティングします。アプリケーションサービス間の通信層には Amazon Simple Queue Service (Amazon SQS) を使用します。
解説
本シナリオにおいて、最も運用効率の高いソリューションは選択肢 A です。Amazon API Gateway を活用してトランザクションを AWS Lambda 関数(アプリケーション層)に直接ルーティングすることで、高度にスケーラブルかつサーバーレスなアーキテクチャを実現できます。これにより、トラフィックの急増にも手動によるスケーリングや過剰なプロビジョニングなしで自動対応可能です。また、アプリケーションサービス間の通信層として Amazon SQS を採用すれば、一時的なトラフィックのピークにも耐えられる信頼性・フォールトトレランスに優れたメッセージングシステムを提供できます。選択肢 B は、パフォーマンス履歴の手動分析と EC2 インスタンスサイズの拡大という手法であり、過剰なプロビジョニングやコスト増加を招くため効率的ではありません。選択肢 C では、メッセージングに Amazon SNS を使用していますが、Amazon SQS と比べてスケーラビリティおよび信頼性に劣り、さらに SNS のキュー長に基づくスケーリングは全体のシステム負荷を正確に反映しないため、信頼性の低い指標となります。選択肢 D は Amazon SQS をメッセージングに使用していますが、RESTful サービスの要件への対応やアプリケーションアーキテクチャのモダナイズという観点を欠いており、また通信障害の検出をトリガーとしたスケーリングでは、突発的なトラフィック増加への迅速な対応が困難です。