Q22 — AWS DVA-C02 第1章
第 22/100 問 | ← 第1章
ある開発者は、AWS Lambda関数を非同期で呼び出すアプリケーションを持っています。開発者は、Lambda関数の呼び出しが失敗したメッセージを保存し、アプリケーションが後で再試行できるようにしたいと考えています。開発者は、運用上のオーバーヘッドを最小限に抑えてこの目標を達成するにはどうすればよいですか?
- A. Amazon CloudWatch Logsのロググループを設定してメッセージをフィルタリングし、Amazon S3バケットに保存します。Lambda内でメッセージをインポートし、Lambda関数を再度実行します。
- B. Amazon EventBridgeを設定して、メッセージをAmazon Simple Notification Service(Amazon SNS)に送信し、Lambda関数を再起動します。
- C. 破棄されたメッセージ用のデッドレターキュー(DLQ)を実装します。デッドレターキューをLambda関数のイベントソースとして設定します。 ✓
- D. Amazon EventBridgeイベントをAmazon Simple Queue Service(Amazon SQS)キューに送信します。Lambda関数がSQSキューからメッセージをプルするように設定し、Lambda関数を再度実行します。
正解: C. 破棄されたメッセージ用のデッドレターキュー(DLQ)を実装します。デッドレターキューをLambda関数のイベントソースとして設定します。
解説
C:デッドレターキュー(Dead-Letter Queue: DLQ)を実装することで、Lambda関数の呼び出しが失敗したメッセージを最小限の運用オーバーヘッドで保存できます。Lambda関数の設定でデッドレターキューを指定すると、失敗したメッセージは自動的にこのキューに送信されます。これにより、開発者は定期的にDLQ内のメッセージを確認し、処理または再試行を行うことができます。この方法は、手動でのインポートやLambda関数の追加設定を必要としないため、運用オーバーヘッドが最小限になります。 【灯笼考证提供:swufelp1999】