DynamoDB のポイントインタイムリカバリが無効

重要なテーブルの復旧目標に合わせ、時点復旧と実際の復元手順を用意してください。

説明

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
  }
}

有効化後に利用可能となる期間内で時点復旧ができます。有効化前の変更をさかのぼって復元する機能ではありません。

参考資料