DEAデータストアの管理
あるIoT企業が Amazon DynamoDB にデバイスのテレメトリを保存しています。各アイテムは90日経過後に不要となり削除したい一方、削除前のデータは将来の機械学習用に S3 へ低コストで永続アーカイブする必要があります。運用負荷を最小化し、削除とアーカイブを確実に両立する構成はどれですか。
ADynamoDB TTL で90日後に自動削除し、DynamoDB Streams を購読する Lambda で削除イベントを S3 に書き込む
✓ 正解
TTLが90日後にアイテムを無料で自動削除し、その削除イベントをStreams経由でLambdaが捕捉してS3へアーカイブする。スキャン不要でイベント駆動により削除とアーカイブを確実に両立し運用負荷最小のため正解です。
BDynamoDB TTL で自動削除し、別途 Glue ジョブで日次フルスキャンして全アイテムを S3 にエクスポートする
TTLで削除自体は行えますが、日次フルスキャンによるエクスポートは削除済みアイテムを取りこぼす恐れがあり、毎日全件スキャンでRCU消費とコストが増大するため運用効率が悪く不適切です。
CLambda を毎日実行して90日超のアイテムをスキャン・S3 書き込み後に BatchWriteItem で削除する
TTLを使わずスキャンとBatchWriteItemで削除する自前実装はRCU/WCUを大量消費し運用負荷も高く、TTLの無料自動削除という利点を放棄しているためコスト・運用面で最適でなく不適切です。
DDynamoDB のポイントインタイムリカバリ(PITR)を有効化し、90日ごとに S3 へエクスポートしてからテーブルを再作成する
PITRはオンデマンド/継続バックアップによる障害復旧用機能で定期アーカイブ用途ではなく、テーブル再作成は可用性を損なう破壊的操作で運用負荷が極めて高いため要件に全く合いません。
解説
DynamoDB TTL は有効期限切れアイテムを追加料金なしで自動削除し、その削除は DynamoDB Streams に「TTL削除」イベントとして記録されます。Streams を購読する Lambda が削除されたアイテムを S3 にアーカイブすれば、削除とアーカイブをイベント駆動で確実に両立でき、スキャン不要で運用負荷とコストが最小です。
選択肢Bの日次フルスキャン + 全件エクスポートは、削除済みアイテムを取りこぼし、毎日全件スキャンするためRCU消費とコストが大きくなります。
選択肢Cの自前スキャン・削除は、TTLを使わずスキャンとBatchWriteItemで実装するためRCU/WCU消費と運用負荷が大きく、TTLの利点を活かせません。
選択肢Dの PITR は障害復旧用の機能で定期アーカイブ用途ではなく、テーブル再作成は破壊的で運用負荷が極めて高く不適切です。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →