無限ノック › DEA 練習問題一覧 › 問題
DEAデータオペレーションとサポート

あるデータエンジニアリングチームは、Amazon Data Firehoseを使用してストリーミングデータをAmazon S3に配信しています。配信ストリームにはAWS Lambdaを使用したデータ変換処理が設定されており、一部のレコードがLambdaの変換処理中にエラーとなっています。 チームは以下の要件を最小限の追加実装で満たしたいと考えています。 ・変換に成功したレコードは通常どおりS3に配信し続ける ・変換に失敗したレコードは別のS3プレフィックスに保存し、後続の調査・再処理に使用する 最も適切な方法はどれですか?

A
Lambda関数にDead Letter Queue(DLQ)としてAmazon SQSキューを設定し、失敗レコードをSQSから別のLambda関数で取り出してS3に書き込む
SQS DLQはLambdaの非同期呼び出しに有効ですが、FirehoseはLambdaを同期的に呼び出すためDLQは機能せず、追加のLambda実装も必要になります。
B
Amazon Data Firehoseの配信ストリームでエラー出力プレフィックス(Error Output Prefix)を設定し、変換失敗レコードを専用のS3パスに書き込む
✓ 正解
Amazon Data Firehoseは、Lambda変換で処理できなかったレコードをS3の「エラー出力プレフィックス」に自動書き込みする機能をネイティブで持っています。コンソールまたはCloudFormationで設定するだけで追加実装なしに要件を満たせます。成功レコードと失敗レコードを異なるS3プレフィックスに振り分けられるため、後続の調査・再処理パイプラインの構築も容易です。
C
Amazon EventBridgeルールを作成してLambdaのエラーイベントを検知し、失敗レコードをS3に再書き込みする別のLambda関数を追加する
EventBridgeとLambdaの組み合わせは構成が複雑になり、失敗レコードの内容を正確に復元するのが難しい場合もあります。
D
Amazon Data Firehoseのバッファリング間隔とLambdaタイムアウトを延長し、変換失敗が発生しないようにする
バッファリングやタイムアウトの調整はパフォーマンスチューニングであり、変換ロジックのエラーへの対処にはなりません。

解説

Amazon Data Firehoseは、Lambda変換で処理できなかったレコードをS3の「エラー出力プレフィックス」に自動書き込みする機能をネイティブで持っています。コンソールまたはCloudFormationで設定するだけで追加実装なしに要件を満たせます。成功レコードと失敗レコードを異なるS3プレフィックスに振り分けられるため、後続の調査・再処理パイプラインの構築も容易です。 選択肢AのSQS DLQはLambdaの非同期呼び出しに有効ですが、FirehoseはLambdaを同期的に呼び出すためDLQは機能せず、追加のLambda実装も必要になります。 選択肢CのEventBridgeとLambdaの組み合わせは構成が複雑になり、失敗レコードの内容を正確に復元するのが難しい場合もあります。 選択肢Dのバッファリングやタイムアウトの調整はパフォーマンスチューニングであり、変換ロジックのエラーへの対処にはなりません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DEA の問題一覧に戻る