View a markdown version of this page

不要な書き込みをインプレースでロールバックして復旧する - Amazon DynamoDB

不要な書き込みをインプレースでロールバックして復旧する

元のテーブルを運用可能に保つためには、テーブル全体を復元するのではなく、不要な書き込みを直接ロールバックできます。すべての書き込みをロールバックすることも、間違いとして識別した書き込みのみをロールバックすることもできます。

このアプローチでは、Amazon Simple Storage Service (Amazon S3) への増分エクスポート機能を使用します。増分エクスポートでは、変更された項目を Amazon S3 に書き込みます。エクスポートには、各項目の古いイメージと新しいイメージが含まれます。期間は最短で 15 分、最長で 24 時間です。期間は PITR 復旧期間に含まれている必要があります。

不要な書き込みをロールバックするには、次の手順に従います。

  1. Amazon S3 への増分エクスポートを実行します。テーブルに対して誤った書き込みが発生した期間を指定します。「新しいイメージと古いイメージ」のエクスポートビューを選択します。期間が 24 時間を超える場合は、全期間を正確にカバーする複数の増分エクスポートジョブを実行します。

  2. 古い項目値を書き戻すことで、Amazon S3 データから一括ジョブを実行し、エクスポートにリストされている変更を元に戻します。必要に応じて変換を適用して、元に戻される内容と方法を正確に制御します (項目の小さな間違いを修正するなど)。

このアプローチには以下の利点があります。

  • 特に大きなテーブルの場合、コスト効率が良くなります。テーブル全体を復元して少数の誤った書き込みを元に戻すのではなく、間違いだけに注目します。

  • 特に大きなテーブルの場合、より高速になります。テーブルデータのサブセットのみを処理する必要があります。

  • ライブのインプレース修正。修正中、元のテーブルはアクティブなままです。新しいテーブルのメタデータ、設定、外部参照を調整する必要はありません。