Q42 — AWS SAA-C03 第2章

第 42/65 問 | ← 第2章

Q107. ある会社が、多数のAmazon EC2インスタンスでアプリケーションを実行しています。このアプリケーションは、Amazon DynamoDBテーブルに対して読み取りおよび書き込みを行います。DynamoDBテーブルのサイズは継続的に増加していますが、アプリケーションでは過去30日間のデータのみが必要です。同社は、コストと開発工数を最小限に抑えるソリューションを求めています。これらの要件を満たすソリューションはどれですか?

正解: D. アプリケーションを拡張し、各新規アイテムに「現在時刻+30日」の値を持つ属性を追加します。DynamoDBでこの属性をTTL(Time to Live)属性として使用するよう設定します。

解説

Dが正解です。Amazon DynamoDBのTime to Live(TTL)機能では、各アイテム単位で有効期限(タイムスタンプ)を定義でき、その時刻を過ぎるとDynamoDBが自動的にアイテムを削除します。指定されたタイムスタンプを過ぎた直後に、DynamoDBはアイテムをテーブルから削除しますが、その際には書き込みスループットを消費しません。TTLは追加コストなしで利用可能であり、ワークロードの要件に応じて最新のデータのみを保持することで、保存データ量を削減する手段として提供されています。TTLは、一定期間経過後に不要になるアイテム(例:アプリケーション内での1年間の非アクティブ状態後のユーザーまたはセンサーデータ、契約上または法的要件に基づく機密データの保持期間など)を削除する場合に特に有効です。また、TTLで削除されたアイテムをAmazon DynamoDB StreamsとAWS Lambdaを活用してAmazon S3データレイクへアーカイブすることも可能です。https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html