Amazon DynamoDB
開発者ガイド (API バージョン 2012-08-10)

DynamoDB テーブルをポイントインタイムに復元する

Amazon DynamoDB ポイントインタイムリカバリ (PITR) は、DynamoDB テーブルデータを連続バックアップする機能です。テーブルをポイントインタイムに復元するには、DynamoDB コンソール、または AWS Command Line Interface (AWS CLI) を使用します。

AWS CLI を使用する場合は、最初に設定する必要があります。詳細については、「DynamoDB へのアクセス」を参照してください。

テーブルをポイントインタイムに復元する (コンソール)

DynamoDB コンソールを使用して、MusicCollection という既存のテーブルをポイントインタイムに復元する方法を次の例に示します。

注記

この手順は、ポイントインタイムリカバリを有効にしていることを前提としています。MusicCollection テーブルでこの機能を有効にするには、[Overview (概要)] タブの [Table details (テーブルの詳細)] セクション で、[Point-in-time recovery (ポイントインタイムリカバリ)] の [Enable (有効化)] を選択します。

  1. AWS マネジメントコンソール にサインインし、DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/) を開きます。

  2. コンソールの左側のナビゲーションペインで、[テーブル] を選択します。

  3. テーブルのリストで、[MusicCollection] テーブルを選択します。

  4. MusicCollection テーブルの [Backups (バックアップ)] タブで、[Point-in-time recovery (ポイントインタイムリカバリ)] セクションの [Restore to point-in-time (ポイントインタイムへの復元)] を選択します。

  5. 新しいテーブルの名前に MusicCollectionMinutesAgo と入力します。

  6. 復元可能な時刻を確認するには、Restore date and time を [Latest restore date (最も遅い復元日時)] に設定します。続いて、[Restore table (テーブルの復元)] を選択して復元プロセスを開始します。

    注記

    [Earliest restore date (最も早い復元日時)] から [Latest restore date (最も遅い復元日時)] の任意の時点に復元することができます。DynamoDB は、テーブルデータを、選択された日時 (日:時:分:秒) に基づいた状態にテーブルデータを復元します。

    復元中のテーブルのステータスは、[Restoring (復元中)] と表示されます。復元プロセスが終了すると、MusicCollection テーブルのステータスは [Active (アクティブ)] に変わります。

テーブルをポイントインタイムに復元する (AWS CLI)

AWS CLI を使用して、MusicCollection という既存のテーブルをポイントインタイムに復元する方法を次の手順に示します。

注記

この手順は、ポイントインタイムリカバリを有効にしていることを前提としています。MusicCollection テーブルでこの機能を有効にするには、次のコマンドを実行します。

aws dynamodb update-continuous-backups \ --table-name MusicCollection \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=True
  1. MusicCollection でポイントインタイムリカバリが有効になっていることを確認するには、describe-continuous-backups コマンドを使用します。

    aws dynamodb describe-continuous-backups \ --table-name MusicCollection

    連続バックアップ (テーブル作成時は自動的に有効になる) とポイントインタイムリカバリは有効化されています。

    { "ContinuousBackupsDescription": { "PointInTimeRecoveryDescription": { "PointInTimeRecoveryStatus": "ENABLED", "EarliestRestorableDateTime": 1519257118.0, "LatestRestorableDateTime": 1520018653.01 }, "ContinuousBackupsStatus": "ENABLED" } }
  2. テーブルをポイントインタイムに復元します。この場合、MusicCollection テーブルは、LatestRestorableDateTime に復元されます (5 分前まで)。

    aws dynamodb restore-table-to-point-in-time \ --source-table-name MusicCollection \ --target-table-name MusicCollectionMinutesAgo \ --use-latest-restorable-time

    注記

    特定の時点に復元することもできます。そのためには、--restore-date-time 引数を使用してコマンドを実行し、タイムスタンプを指定します。過去 35 日間の任意の時点を指定できます。たとえば、次のコマンドでは EarliestRestorableDateTime にテーブルを復元します。

    aws dynamodb restore-table-to-point-in-time \ --source-table-name MusicCollection \ --target-table-name MusicCollectionEarliestRestorableDateTime \ --no-use-latest-restorable-time \ --restore-date-time 1519257118.0

    特定の時点に復元する場合の --no-use-latest-restorable-time 引数の指定はオプションです。

復元を確認するには、describe-table コマンドで MusicCollection テーブルを指定します。

aws dynamodb describe-table --table-name MusicCollection

復元中のテーブルは、ステータスが [Creating (作成中)]、復元中に [true] として表示されています。復元プロセスが終了すると、MusicCollection テーブルのステータスは [Active (アクティブ)] に変わります。

重要

復元中は、復元を目的とした、IAM エンティティ (例: ユーザー、グループ、ロール) を付与する AWS Identity and Access Management (IAM) ポリシーの変更や削除を行わないでください。行った場合、予期しない動作が発生する場合があります。たとえば、テーブルの復元中にテーブルの書き込み権限を削除したとします。この場合、基本となる RestoreTableToPointInTime オペレーションを使用して、復元されたデータをテーブルに書き込むことはできません。復元先のターゲットテーブルにアクセスするための送信元 IP 制限を含む IAM ポリシーでも、同様の問題が発生する可能性があります。

復元オペレーション完了後は、アクセス権限の変更または削除のみ行うことができます。