ポイントインタイムリカバリ: 仕組み
Amazon DynamoDB ポイントインタイムリカバリ (PITR) は、DynamoDB テーブルデータを自動バックアップする機能です。このセクションでは、DynamoDB でのプロセスの動作の概要を説明します。
ポイントインタイムリカバリの有効化
ポイントインタイムリカバリは、AWS Management Console、AWS Command Line Interface (AWS CLI)、または DynamoDB API を使用して有効にできます。有効化されると、ポイントインタイムリカバリは、明示的に無効化するまで、連続バックアップを行います。詳細については、「DynamoDB テーブルをポイントインタイムに復元する」を参照してください。
ポイントインタイムリカバリを有効にしたら、EarliestRestorableDateTime
および LatestRestorableDateTime
内の任意の時点に復元できます。通常 LatestRestorableDateTime
は現在の時刻の 5 分前です。
ポイントインタイムリカバリプロセスは、必ず新しいテーブルに復元されます。
ポイントインタイムリカバリを使用したテーブルの復元
EarliestRestorableDateTime
では、過去 35 日間の任意の時点にテーブルを復元できます。保持期間は、35 日間 (5 週間) に固定されており、変更することはできません。任意の数のユーザーが、特定のアカウントで最大 4 つの同時復元 (任意のタイプの復元) を実行できます。
ポイントインタイムリカバリを無効にし、後にテーブル上で再度有効にした場合は、そのテーブルで復元可能な開始時間をリセットします。そのため、LatestRestorableDateTime
を使用して、すぐにそのテーブルを復元できます。
ポイントインタイムリカバリを使用して復元すると、DynamoDB は、選択された日時 (day:hour:minute:second
) に基づく状態でテーブルデータを新しいテーブルに復元します。
テーブルは、テーブルのプロビジョニングされたスループットを消費することなく復元します。ポイントインタイムリカバリを使用してテーブル全体を復元するか、送信先テーブルの設定を構成することができます。復元済みテーブルで次のテーブル設定を変更できます。
-
グローバルセカンダリインデックス (GSI)
-
ローカルセカンダリインデックス (LSI)
-
請求モード
-
プロビジョニングされた読み込みおよび書き込みキャパシティー
-
暗号化設定
テーブル全体を復元する場合、復元済みテーブルのすべてのテーブル設定は、復元時の送信元のテーブルの現在の設定から取得されます。たとえば、テーブルのプロビジョニングされたスループットが 50 読み込みキャパシティーユニットおよび 50 書き込みキャパシティーユニットに最近下げられたとします。その後、このテーブルの状態を 3 週間前に復元し、その時点で、プロビジョニングされたスループットは 100 読み込みキャパシティーユニットと 100 書き込みキャパシティーユニットに設定されました。この場合、DynamoDB はテーブルデータをその時点のものに復元しますが、最新のプロビジョンされたスループット (50 読み込み容量単位および 50 書き込み容量単位) を利用します。
また、送信元テーブルが存在する別のリージョンに復元済みテーブルが作成されるように、AWS リージョン全体で DynamoDB テーブルデータを復元することもできます。AWS 商用リージョン、AWS 中国リージョン、および AWS GovCloud (米国) リージョン間でクロスリージョン復元を実行できます。送信元リージョンから転送したデータと、送信先リージョンの新しいテーブルの復元に対してのみ料金が発生します。
送信元または送信先リージョンがアジアパシフィック (香港) または中東 (バーレーン) の場合、クロスリージョン復元はサポートされません。
復元済みテーブルで、一部またはすべてのインデックスの作成を除外すると、復元はより高速でコスト効率が高くなります。
以下は、復元されたテーブルで手動で設定する必要があります。
-
Auto Scaling ポリシー
-
AWS Identity and Access Management (IAM) ポリシー
-
Amazon CloudWatch メトリクスおよびアラーム
-
タグ
-
ストリーム設定
-
有効期限 (TTL) 設定
-
ポイントインタイムリカバリ設定
テーブルの復元にかかる時間は複数の要因によって異なります。ポイントインタイム復元の時間は必ずしもテーブルのサイズに直接関連していません。詳細については、「復元」を参照してください。
ポイントインタイムリカバリが有効になっているテーブルの削除
ポイントインタイムリカバリが有効になっているテーブルを削除すると、DynamoDB はシステムバックアップと呼ばれるバックアップを自動的に作成し、35 日間保持します (追加コストは発生しません)。システムバックアップを使用して、削除されたテーブルを削除の直前の状態に復元できます。システムバックアップはすべて、table-name
$DeletedTableBackup
という標準的な命名規則に従います。
テーブルを削除すると、テーブルにはアクセスしてポイントインタイムリカバリを実行できなくなります。