DVAAWSのサービスを使用した開発

DynamoDBテーブルにアイテムが書き込まれるたびにリアルタイムで下流の処理を行う必要があります。テーブルへの書き込みトラフィックが高い場合でも、書き込みごとに確実に処理を実行するための最適な構成はどれですか?

A
DynamoDB Streamsを有効化し、AWS LambdaのイベントソースマッピングでStreamレコードをトリガーにして処理を実行する
✓ 正解
DynamoDB Streamsはテーブルへの変更(INSERT/MODIFY/REMOVE)を順序付きストリームとして提供します。LambdaのイベントソースマッピングによりStreamに新レコードが追加されると自動でLambda関数が起動され、リアルタイム処理が実現します。StreamはシャードごとにLambdaのバッチ処理として届くため、高トラフィック時も処理漏れが起きません。
B
Amazon EventBridgeのスケジュールルールでLambdaを定期実行し、DynamoDBをスキャンして新しいアイテムを処理する
CloudWatchスケジュールはポーリング方式でリアルタイム性に欠けます。
C
DynamoDBのTTL(Time to Live)機能を有効化してSQSキューと連携し、TTL期限切れイベントをトリガーとして使用する
TTL は削除専用機能です。
D
DynamoDB Global Tablesを設定し、別リージョンへのレプリケーションイベントをトリガーとして処理する
Global Tables へのレプリケーションイベントは用途外です。

解説

DynamoDB Streamsはテーブルへの変更(INSERT/MODIFY/REMOVE)を順序付きストリームとして提供します。LambdaのイベントソースマッピングによりStreamに新レコードが追加されると自動でLambda関数が起動され、リアルタイム処理が実現します。StreamはシャードごとにLambdaのバッチ処理として届くため、高トラフィック時も処理漏れが起きません。 選択肢B:EventBridgeスケジュールはポーリング方式でリアルタイム性に欠けます。 選択肢C:TTL は削除専用機能です。 選択肢D:Global Tables へのレプリケーションイベントは用途外です。

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

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

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