無限ノック › DVA 練習問題一覧 › 問題DVA AWSのサービスを使用した開発
セッション管理アプリケーションは、ユーザーのログインセッション情報を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ライフサイクルポリシーはAmazon S3バケット内のオブジェクトに適用されるものであり、DynamoDBのテーブルデータに直接適用することはできません。
解説 DynamoDBのTime to Live (TTL) 機能を使用すると、指定したタイムスタンプ(エポックタイム形式の秒)を過ぎたアイテムがバックグラウンドで自動的に削除されます。このTTLによる削除処理に対する書き込み容量ユニット(WCU)の消費や追加の実行コストは一切発生しないため、古いセッションデータやログのパージにおいて最もコスト効率が良く、運用の手間がかからない最適な機能です。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →