DynamoDB の TTL (Time To Live) 機能を使って古いレコードを自動的に削除

概要

古いレコード (TTL を過ぎたレコード) を DynamoDB がこっそり消してくれる機能。

これを使うと、古いレコードを定期的に手動削除するオペレーションやバッチを考慮しなくても良くなり、とても良い。

設定方法 (マネジメントコンソール)

DynamoDB – テーブル – 概要 – テーブルの詳細 – 有効期限 (TTL) 属性

の箇所にある TTL の管理 より TTL を格納する属性 (要: 数値型で unixtime が格納されていること) を指定するだけ。

Local の日時以降に順次消される。

ただし、TTL 経過後すぐに消してくれるわけではなく、2,30分後に消されるなど遅延が割とあるので要注意。

通常、DynamoDB は期限が切れた項目を期限切れから 48 時間以内に削除します。
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/howitworks-ttl.html

参考

新機能 – TTL(Time to Live)機能を利用した DynamoDB アイテムの管理について | Amazon Web Services ブログ