Q66 — AWS SAP-C02 第1章
第 66/75 問 | ← 第1章
Q141. ある会社がAWSクラウド上でアプリケーションを実行しています。最近のアプリケーションメトリクスでは、応答時間が不安定で、エラー率が大幅に増加していることが示されています。この遅延の原因は、サードパーティサービスへの呼び出しです。現在、アプリケーションはサードパーティサービスを同期的に呼び出し、直接AWS Lambda関数を起動しています。ソリューションアーキテクトは、サードパーティサービスへの呼び出しを非同期化(デカップリング)し、すべての呼び出しが最終的に完了することを保証する必要があります。これらの要件を満たすソリューションはどれですか?
- A. Amazon Simple Queue Service (Amazon SQS) キューを使用してイベントを保存し、Lambda関数を起動する ✓
- B. AWS Step Functions のステートマシンを使用してイベントをLambda関数に渡す
- C. Amazon EventBridge のルールを使用してイベントをLambda関数に渡す
- D. Amazon Simple Notification Service (Amazon SNS) トピックを使用してイベントを保存し、Lambda関数を起動する
正解: A. Amazon Simple Queue Service (Amazon SQS) キューを使用してイベントを保存し、Lambda関数を起動する
解説
要件を満たすソリューションは、選択肢Aです。— Amazon SQS を使用してイベントをキューに保存することで、アプリケーションとサードパーティサービスの呼び出しを非同期化(デカップリング)でき、すべての呼び出しが最終的に完了することを保証できます。— AWS Lambda関数を設定してSQSキューから新規メッセージをポーリングし、メッセージを受信した際に適切なサードパーティサービスを非同期で呼び出します。— 失敗したメッセージを自動的にキャプチャ・処理するため、デッドレターキュー(DLQ)を設定します。選択肢B(Step Functions)は、このユースケースには過剰な複雑さをアプリケーションアーキテクチャに追加するため、不適切です。選択肢C(EventBridge)は、主にイベント駆動型アーキテクチャ向けのサービスであり、サードパーティサービス呼び出しのデカップリングという目的には最適ではありません。選択肢D(SNS)は、メッセージをサブスクライバーに配信するパブリッシュ/サブスクライブサービスであり、イベントの永続的な保存や柔軟な再試行制御といった点で、SQSほどの耐久性や機能性を提供しません。したがって、サードパーティサービス呼び出しのデカップリングと、すべての呼び出しの最終的な完了を保証するには、選択肢Aが最も適したソリューションです。