バックアップからの DynamoDB テーブルの復元 - Amazon DynamoDB

バックアップからの DynamoDB テーブルの復元

このセクションでは、 Amazon DynamoDB コンソールまたは AWS Command Line Interface (AWS CLI) を使用してバックアップからテーブルを復元する方法について説明します。

注記

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

バックアップからのテーブルの復元 (コンソール)

以下の手順では、Music チュートリアルで作成された MusicBackup ファイルを使用して DynamoDB テーブルのバックアップ を復元する方法について説明します。

注記

この手順では、Music が既に存在していないことを前提として、これを MusicBackup ファイルを使用してリストアする方法を示します。

バックアップからテーブルを復元するには
  1. AWS Management Console にサインインして DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/) を開きます。

  2. コンソールの左側のナビゲーションペインで、[Backups (バックアップ)] を選択します。

  3. バックアップのリストで、[MusicBackup] を選択します。

    バックアップリストおよびバックアップの作成ボタンのスクリーンショット。
  4. [復元] を選択します。

  5. 新しいテーブルの名前を Music と入力します。バックアップ名およびその他のバックアップの詳細を確認します。続いて、[Restore table (テーブルの復元)] を選択して復元プロセスを開始します。

    注記

    テーブルは、同じ AWS リージョンまたはバックアップが存在する別のリージョンに復元できます。新しく復元されるテーブルで、セカンダリインデックスの作成を除外することもできます。また、別の暗号化モードを指定することもできます。

    バックアップから復元されたテーブルは、常に DynamoDB 標準テーブルクラスを使用して作成されます。

    バックアップテーブルの詳細が表示されたバックアップ画面の復元テーブルのスクリーンショット。

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

バックアップからのテーブルの復元 (AWS CLI)

AWS CLI チュートリアルで作成されている Music を使用して、MusicBackupDynamoDB テーブルのバックアップ テーブルを復元するには、以下の手順を実行します。

バックアップからテーブルを復元するには
  1. list-backups コマンドを使用して復元するバックアップを確認します。この例では MusicBackup を使用します。

    aws dynamodb list-backups

    バックアップの詳細をさらに取得するには、describe-backup コマンドを使用します。前のステップから入力の backup-arn を取得できます。

    aws dynamodb describe-backup \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d
  2. バックアップからテーブルを復元します。この場合、MusicBackupMusic テーブルを同じ AWS リージョンに復元します。

    aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d
  3. カスタムテーブル設定で、バックアップからテーブルを復元します。この場合、MusicBackupMusic テーブルを復元し、復元したテーブルの暗号化モードを指定します。

    注記

    sse-specification-override パラメータは、sse-specification-override コマンドで使用される CreateTable パラメータと同じ値を使用します。詳細については、「DynamoDB での暗号化テーブルの管理」を参照してください。

    aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581080476474-e177ebe2 \ --sse-specification-override Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234

    テーブルは、バックアップが存在する別の AWS リージョンに復元できます。

    注記
    • sse-specification-override パラメータは、クロスリージョン復元には必須ですが、送信元テーブルと同じリージョンに復元する場合はオプションです。

    • コマンドラインからクロスリージョン復元を実行する場合は、デフォルトの AWS リージョンを希望のリージョンに設定する必要があります。詳細については、「AWS Command Line Interface のユーザーガイド」の「コマンドラインオプション」を参照してください。

    aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581080476474-e177ebe2 \ --sse-specification-override Enabled=true,SSEType=KMS

    復元済みテーブルの請求モードとプロビジョニングされたスループットをオーバーライドできます。

    aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01489173575360-b308cd7d \ --billing-mode-override PAY_PER_REQUEST

    復元済みテーブルで、一部またはすべてのセカンダリインデックスの作成を除外できます。

    注記

    復元済みテーブルで、一部またはすべてのセカンダリインデックスの作成を除外すると、復元はより高速でコスト効率が高くなります。

    aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:us-east-1:123456789012:table/Music/backup/01581081403719-db9c1f91 \ --global-secondary-index-override '[]' \ --sse-specification-override Enabled=true,SSEType=KMS
    注記

    提供されたセカンダリインデックスは、既存のインデックスに一致します。復元時に新しいインデックスを作成することはできません。

    さまざまなオーバーライドの組み合わせを使用できます。たとえば、次のように単一のグローバルセカンダリインデックスを使用すると同時に、プロビジョニングされたスループットを変更できます。

    aws dynamodb restore-table-from-backup \ --target-table-name Music \ --backup-arn arn:aws:dynamodb:eu-west-1:123456789012:table/Music/backup/01581082594992-303b6239 \ --billing-mode-override PROVISIONED \ --provisioned-throughput-override ReadCapacityUnits=100,WriteCapacityUnits=100 \ --global-secondary-index-override IndexName=singers-index,KeySchema=["{AttributeName=SingerName,KeyType=HASH}"],Projection="{ProjectionType=KEYS_ONLY}",ProvisionedThroughput="{ReadCapacityUnits=5,WriteCapacityUnits=5}" \ --sse-specification-override Enabled=true,SSEType=KMS

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

aws dynamodb describe-table --table-name Music

バックアップから復元中のテーブルのステータスは、[Creating (作成中)] と表示されます。復元プロセスが終了すると、Music テーブルのステータスは [アクティブ] に変わります。

重要

復元中は、IAM ロールのポリシーを変更または削除しないでください。行った場合、予期しない動作が発生する場合があります。たとえば、テーブルの復元中にテーブルの書き込み権限を削除したとします。この場合、基本となる RestoreTableFromBackup オペレーションを使用しても、復元されたデータをテーブルに書き込むことはできません。

復元オペレーションが完了したら、IAM ロールポリシーを変更または削除できます。

復元先のターゲットテーブルにアクセスするための送信元 IP の制限を含む IAM ポリシーでは、プリンシパルによって直接行われたリクエストにのみその制限が適用されるように、aws:ViaAWSService キーを false に設定する必要があります。そうしないと、復元はキャンセルされます。

バックアップが AWS マネージドキー またはカスタマーマネージドキーで暗号化されている場合、復元中にキーを無効にしたり削除したりすると復元が失敗します。

復元操作が完了したら、復元されたテーブルの暗号化キーを変更し、古いキーを無効化または削除できます。