DynamoDB の ポイントインタイムリカバリ(PITR: Point-In-Time Recovery) は、
テーブルのデータを過去最大 35日間の任意の時点に復元できる機能です。
✅ 概要(何ができる?)
-
誤操作(削除・上書き)やアプリケーションのバグによって失われたデータを、過去の任意の時点に戻して復元できます。
- 1秒単位で復元可能(UTC 時間指定)
- 最大 35日間の履歴を保持
- オンデマンドバックアップとは異なり、継続的な自動バックアップ
🔧 有効化方法
- AWS コンソール、CLI、または SDK から有効化可能
- テーブルごとに設定(デフォルトでは無効)
aws dynamodb update-continuous-backups \
--table-name YourTable \
--point-in-time-recovery-specification PointInTimeRecoveryEnabled=true
🔄 復元方法
- 新しいテーブルとして復元される(既存テーブルを上書きしない)
- UTC 時間で復元時刻を指定する
例:
aws dynamodb restore-table-to-point-in-time \
--source-table-name YourTable \
--target-table-name RestoredTable \
--restore-date-time "2025-05-17T08:00:00Z"
🧠 PITR と オンデマンドバックアップの違い
項目 |
ポイントインタイムリカバリ |
オンデマンドバックアップ |
自動/手動 |
自動 |
手動 |
復元対象 |
任意の時点(1秒単位) |
特定時点のスナップショット |
保存期間 |
最大35日間 |
無制限(削除するまで) |
コスト |
ストレージ量に応じた従量課金 |
容量ベースの従量課金 |
💡 使用例(ユースケース)
- 誤ってアイテムを削除 or 上書きしてしまった場合に元に戻す
- アプリのバグで複数データに誤操作 → その直前にロールバック
- ロールバックテストや災害復旧(DR)用途
⚠️ 注意点
項目 |
内容 |
既存テーブルに上書きできない |
新しいテーブルとして復元される |
リージョン内のみ |
クロスリージョンには対応していない |
グローバルテーブルとの併用制限 |
有効化のタイミングや仕様に注意が必要 |
✅ まとめ
ポイント |
説明 |
目的 |
過去最大35日間、任意の時点に復元 |
利点 |
自動・1秒単位で復元、簡単にロールバックできる |
注意点 |
復元は新規テーブル、コストは保存データ量に比例 |