はじめに
DynamoDBのバックアップ方法はいくつか存在します。今回は、自身の復習も兼ねて、主要なバックアップ手法のメリット・デメリット、そして活用シーンを整理して書き起こしてみました。個人的な考えですので参考程度に読んでもらえればと思います。
DynamoDB バックアップ手法の比較
1. オンデマンドバックアップ
テーブル全体のフルバックアップ(スナップショット等)を任意のタイミングで作成する方法です。
- メリット: 長期保存に適しており、バックアップ作成によるテーブルパフォーマンスへの影響がありません。
- デメリット: 手動またはスクリプトによる管理が必要になります。
- 向いている場面: リリース直前のスナップショット保存や、アーカイブ目的での利用。
2. PITR (ポイントインタイムリカバリ)
連続的なバックアップを行い、過去35日間の任意の時点にリストアできる機能です。
- メリット: 「◯分前の状態に戻したい」といった細かい復旧が可能で、管理の手間がほとんどありません。
- デメリット: 35日より前のデータには戻せません。
- 向いている場面: 操作ミスやアプリケーションのバグによるデータ破損への備え。
3. AWS Backupの活用
AWSのマネージド型バックアップサービスを利用して、一元管理する方法です。
- メリット: 他のAWSリソースと一括でバックアップポリシーを管理でき、スケジュール設定やクロスリージョンコピーが容易です。
- デメリット: AWS Backup自体の設定・管理コストが発生します。
- 向いている場面: 大規模なシステムで、ガバナンスや統合管理が求められる場合。
4. S3へのエクスポート (S3の活用)
DynamoDBのデータをS3に書き出す方法です。
- メリット: データの二次利用(分析など)がしやすく、ストレージコストを抑えられる場合があります。
- デメリット: リストアする際にデータをインポートする手間がかかります。
- 向いている場面: データ分析基盤への連携や、超長期の保存。
個人的には「PITR」が一番好きです
ここまでいくつか手法を紹介しましたが、個人的には PITR (ポイントインタイムリカバリ) の仕組みが一番気に入っています。
最大の理由は、「運用負荷の低さ」と「安心感」のバランスです。一度有効にすれば、あとは「何かあっても過去35日以内ならいつでも戻せる」という状態が手に入るのは、安心感が一番強いと思っています。
まとめ
DynamoDBのバックアップは、用途に合わせて組み合わせることが重要です。
それぞれの特性を理解して、最適なバックアップ戦略を立てていきましょう!