バックアップからの DynamoDB テーブルの復元
このセクションでは、 Amazon DynamoDB コンソールまたは AWS Command Line Interface (AWS CLI) を使用してバックアップからテーブルを復元する方法について説明します。
注記
AWS CLI を使用する場合は、最初に設定する必要があります。詳細については、「DynamoDB にアクセスする」を参照してください。
トピック
以下の手順では、Music
チュートリアルで作成された MusicBackup
ファイルを使用して DynamoDB テーブルのバックアップ を復元する方法について説明します。
注記
この手順では、Music
が既に存在していないことを前提として、これを MusicBackup
ファイルを使用してリストアする方法を示します。
バックアップからテーブルを復元するには
AWS Management Console にサインインして DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/
) を開きます。 -
コンソールの左側のナビゲーションペインで、[Backups (バックアップ)] を選択します。
-
バックアップのリストで、[
MusicBackup
] を選択します。 -
[復元] を選択します。
-
新しいテーブルの名前を
Music
と入力します。バックアップ名およびその他のバックアップの詳細を確認します。続いて、[Restore table (テーブルの復元)] を選択して復元プロセスを開始します。注記
テーブルは、同じ AWS リージョンまたはバックアップが存在する別のリージョンに復元できます。新しく復元されるテーブルで、セカンダリインデックスの作成を除外することもできます。また、別の暗号化モードを指定することもできます。
バックアップから復元されたテーブルは、常に DynamoDB 標準テーブルクラスを使用して作成されます。
復元中のテーブルのステータスは、[Creating (作成中)] と表示されます。復元プロセスが終了すると、
Music
テーブルのステータスは [アクティブ] に変わります。
AWS CLI チュートリアルで作成されている Music
を使用して、MusicBackup
で DynamoDB テーブルのバックアップ テーブルを復元するには、以下の手順を実行します。
バックアップからテーブルを復元するには
-
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
-
バックアップからテーブルを復元します。この場合、
MusicBackup
はMusic
テーブルを同じ 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
-
カスタムテーブル設定で、バックアップからテーブルを復元します。この場合、
MusicBackup
はMusic
テーブルを復元し、復元したテーブルの暗号化モードを指定します。注記
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 マネージドキー またはカスタマーマネージドキーで暗号化されている場合、復元中にキーを無効にしたり削除したりすると復元が失敗します。
復元操作が完了したら、復元されたテーブルの暗号化キーを変更し、古いキーを無効化または削除できます。