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

セッション管理アプリケーションは、ユーザーのログインセッション情報をAmazon DynamoDBに保存しています。セキュリティ要件により、セッションは24時間後に無効になる必要があります。不要になった古いセッションデータを、アプリケーション側のバッチ処理を自作することなく、最もコスト効率よく自動的に削除する機能はどれですか。

A
DynamoDBのTime to Live (TTL) を有効にし、有効期限をエポックタイム(秒)で指定した属性をアイテムに設定する。
✓ 正解
TTL機能を有効にし有効期限属性を指定するだけで、期限切れのアイテムが自動かつ無料で削除されるため最適です。
B
DynamoDB StreamsとAWS Lambdaを組み合わせて、24時間経過したアイテムを定期的にScanして削除する処理を実装する。
DynamoDB Streamsはデータ変更イベントをキャプチャするものであり、定期的なScan処理の実装は無駄なRCU消費とコスト増加を招きます。
C
Amazon EventBridgeルールを使用して24時間ごとにLambda関数をトリガーし、BatchWriteItem APIを利用してアイテムを削除する。
EventBridgeとLambdaによる定期実行(クーロン処理)は、カスタムコードの管理が必要であり、削除処理(WCU)に対するコストも発生します。
D
S3ライフサイクルポリシーを使用して、DynamoDBのテーブルデータを定期的にAmazon S3 Glacierにアーカイブすることで削除する。
S3ライフサイクルポリシーはS3バケット内のオブジェクトに適用されるものであり、DynamoDBのテーブルデータに直接適用することはできません。

解説

DynamoDBのTime to Live (TTL) 機能を使用すると、指定したタイムスタンプ(エポックタイム/秒)を過ぎたアイテムがバックグラウンドで自動的に削除されます。この削除処理に対する書き込み容量ユニット(WCU)の消費や追加コストは発生しないため、古いデータのパージ(有効期限切れセッションの削除など)において最もコスト効率が良く、運用の手間がかかりません。

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

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

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