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

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

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

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

注記

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

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

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

注記

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

バックアップからテーブルを復元するには

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

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

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

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

    
                        バックアップの復元ボタンがハイライト表示されたバックアップリストのスクリーンショット。
  5. 新しいテーブルの名前を Music と入力します。バックアップ名およびその他のバックアップの詳細を確認します。続いて、[Restore table (テーブルの復元)] を選択して復元プロセスを開始します。

    注記

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

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

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

    
                        アクティブステータスのテーブルリストのスクリーンショット。

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

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

バックアップからテーブルを復元するには

  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 パラメータは、CreateTable コマンドで使用される sse-specification-override パラメータと同じ値を使用します。詳細については、「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 オペレーションを使用しても、復元されたデータをテーブルに書き込むことはできません。復元先のターゲットテーブルにアクセスするための送信元 IP 制限を含む IAM ポリシーでも、同様の問題が発生する可能性があります。

復元操作が完了したら、IAM ロールポリシーを変更または削除できます。

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

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