過去問ドリル

DVA-C02:AWS Certified Developer - Associate AWS サービスを用いた開発 問5

AWS サービスを用いた開発/AWS Lambda のコード開発

非同期に呼び出される Lambda 関数で、処理に失敗したイベントを失わずに後から調査・再処理できるようにしたいと考えています。最も適切なのはどれですか。

当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「AWS サービスを用いた開発」に対応。実際の試験問題ではありません)

正解:A

解説

非同期に呼び出された Lambda の処理が失敗した場合、何も設定していないとイベントが失われることがあります。Lambda の送信先(Lambda Destinations)やデッドレターキュー(DLQ)を設定すると、失敗したイベントを SQS や SNS などへ送って保持でき、後から調査・再処理できます。

選択肢ごとの解説

  • A正しい。Lambda Destinations や DLQ を設定すれば、失敗イベントを保持して後から調査・再処理できます。
  • B誤り。失敗を無視してログだけ出すと、失敗したイベントそのものを再処理できません。
  • C誤り。同期呼び出しへの変更は設計を大きく変え、非同期処理の利点を失います。要件の解決策としても適切ではありません。
  • D誤り。メモリ増量は一部の失敗には効きますが、失敗イベントの保持・再処理の仕組みにはなりません。
DVA-C02:AWS Certified Developer - Associateの問題を演習モードで解く