Q21 — AWS SAP-C02 第3章

第 21/75 問 | ← 第3章

Q246. メディアストレージアプリケーションでは、ユーザーが写真を Amazon S3 にアップロードして処理を行っています。エンドユーザーから、一部のアップロードされた写真が正しく処理されていないという報告が寄せられています。アプリケーション開発者はログを追跡し、数千人のユーザーが同時にシステムを利用している際に AWS Lambda で実行に関する問題が発生していることを確認しました。この問題の原因は以下のとおりです。 ・同時実行数に関する制限 ・Amazon DynamoDB でのデータ保存時のパフォーマンス低下 このアプリケーションのパフォーマンスと信頼性を向上させるために実施できる対応策はどれですか?(2つ選択)

正解: B. DynamoDB テーブルの書き込みキャパシティユニット(WCU)を評価・調整する。, D. 失敗またはタイムアウトした Lambda 関数を再処理するためのデッドレターキュー(DLQ)を設定する。

解説

A および B:問題の原因として「DynamoDB でのデータ保存時のパフォーマンス低下」が挙げられており、これは主に書き込み負荷(WCU)に関連しています。読み込み(RCU)は問題の原因として言及されていないため、A は不適切です。一方、B は適切な対応策です。C:ElastiCache は、Lambda 関数自体のパフォーマンスを直接向上させるものではなく、Lambda が外部サービス(例:DynamoDB)へのアクセスをキャッシュすることで間接的に負荷を軽減できますが、本問では「DynamoDB の書き込みパフォーマンス」が課題であり、キャッシュによる改善効果は限定的です。ただし、Lambda が DynamoDB から頻繁に読み取りを行う場合の補助手段にはなり得ますが、問題文では読み取り負荷は言及されていません。D:デッドレターキューは、失敗した処理の再試行や監視を可能にし、信頼性を高める有効な手段です。同時実行数制限やタイムアウトによる失敗に対しても、再処理により耐障害性が向上します。E:S3 Transfer Acceleration は、S3 へのアップロード速度を向上させる機能であり、処理(Lambda 実行や DynamoDB 書き込み)のボトルネックを解決しません。問題は「処理段階」にあり、データ受信(インジェスト)段階ではありません。したがって、正解は B と D です。