説明
DynamoDB の Point-in-Time Recovery(PITR)は、利用可能な保持期間内の時点を選んで新しいテーブルに復元する機能です。誤削除やアプリケーションによる誤った書き込みからの復旧に役立ちます。無効な期間の復旧は、別途取得したバックアップや手動修復に依存します。
想定される影響
- 誤削除や誤更新の後に、希望する時点へ復旧しにくくなる場合があります。
- 復旧時間、データ損失、手作業が増えるおそれがあります。
対処方法
必要なテーブルに point_in_time_recovery { enabled = true } を設定してください。復旧できる期間を確認し、新しいテーブルへの復元、必要な設定の復旧、アプリケーションの切り替えを試験してください。長期保管用のバックアップと復旧手順も別途管理してください。
例
同じテーブルで PITR の有効・無効だけを比較します。復元では既存テーブルをそのまま巻き戻すのではなく、新しいテーブルを使います。
変更前
hcl
resource "aws_dynamodb_table" "orders" {
name = "orders"
billing_mode = "PAY_PER_REQUEST"
hash_key = "id"
attribute {
name = "id"
type = "S"
}
point_in_time_recovery {
enabled = false
}
}
変更後
hcl
resource "aws_dynamodb_table" "orders" {
name = "orders"
billing_mode = "PAY_PER_REQUEST"
hash_key = "id"
attribute {
name = "id"
type = "S"
}
point_in_time_recovery {
enabled = true
}
}
有効化後に利用可能となる期間内で時点復旧ができます。有効化前の変更をさかのぼって復元する機能ではありません。