Q11 — AWS SAA-C03 第6章

第 11/65 問 | ← 第6章

Q376. ゲーム会社は、ユーザーの地理的位置、プレイヤーデータ、リーダーボードなどの情報を保存するために Amazon DynamoDB を使用しています。同社は、最小限のコーディングで Amazon S3 バケットへの継続的なバックアップを設定する必要があります。このバックアップはアプリケーションの可用性に影響を及ぼしてはならず、またテーブルで定義された読み込みキャパシティユニット(RCU)にも影響を与えてはなりません。これらの要件を満たすソリューションはどれですか?

正解: C. Amazon DynamoDB Streams を設定します。ストリームを消費し、データを Amazon S3 バケットへエクスポートする AWS Lambda 関数を作成します。

解説

最小限のコーディングで Amazon S3 バケットへの継続的バックアップを実現し、アプリケーションの可用性やテーブルで定義された読み込みキャパシティユニット(RCU)に影響を与えないソリューションは、選択肢 C です。つまり、Amazon DynamoDB Streams を設定し、そのストリームを消費してデータを Amazon S3 バケットへエクスポートする AWS Lambda 関数を作成する方法です。Amazon DynamoDB Streams は、DynamoDB テーブルにおけるアイテム単位の変更を時系列順に記録する機能を提供します。DynamoDB Streams を有効化することで、テーブルに対する変更をリアルタイムで検知し、それに基づいた処理をトリガーできます。本ユースケースでは、ユーザー情報を格納するテーブルにストリームを設定します。その後、そのストリームを消費し、変更データを Amazon S3 へエクスポートする AWS Lambda 関数を作成します。この関数は、DynamoDB テーブルに新しい変更が発生するたびに自動的に起動されるため、アプリケーションの可用性や RCU に影響を与えることなく、継続的なバックアップが可能です。一方、選択肢 A(Amazon EMR と Apache Hive ジョブの利用)および選択肢 D(定期実行型の Lambda 関数)は、DynamoDB Streams と Lambda の組み合わせに比べて手動によるコーディングやスケジューリングの負担が大きく、可用性や RCU への潜在的な影響も懸念されます。選択肢 B(DynamoDB からの直接エクスポート+ポイント・イン・タイム・リカバリの有効化)は継続的バックアップを提供しますが、ポイント・イン・タイム・リカバリの有効化には可用性や RCU への影響が伴う可能性があり、また問題文で明示された「最小限のコーディング」という要件にも合致しません。