ポイントインタイムリカバリを有効にする - Amazon DynamoDB

ポイントインタイムリカバリを有効にする

Amazon DynamoDB ポイントインタイムリカバリ (PITR) は、DynamoDB テーブルデータを自動バックアップする機能です。このセクションでは、DynamoDB でのプロセスの動作の概要を説明します。

注記

DynamoDB は、テーブルデータやローカルセカンダリインデックスなど、各 DynamoDB テーブルのサイズに基づいて PITR の料金を請求します。DynamoDB は、バックアップ料金を決定するために、PITR がオンになっているテーブルのサイズを継続的にモニタリングします。各テーブルの PITR をオフにするまでは、PITR の使用に対して料金が請求されます。

ポイントインタイムリカバリの有効化

ポイントインタイムリカバリは、AWS Management Console、AWS Command Line Interface (AWS CLI)、または DynamoDB API を使用して有効にできます。有効化されると、ポイントインタイムリカバリは、明示的に無効化するまで、連続バックアップを行います。

ポイントインタイムリカバリを有効にしたら、EarliestRestorableDateTime および LatestRestorableDateTime 内の任意の時点に復元できます。LatestRestorableDateTime は、通常、現在時刻の 5 分前です。詳細については、「DynamoDB テーブルを特定の時点に復元」を参照してください。

注記

ポイントインタイムリカバリプロセスは、必ず新しいテーブルに復元されます。

PITR を有効にする (コンソール)

DynamoDB コンソールを使用して PITR を有効にするには
  1. DynamoDB コンソールに移動します。

  2. 左のナビゲーションから [テーブル] を選択し、DynamoDB テーブルを選択します。

  3. [バックアップ] タブの [ポイントインタイムリカバリ] オプションで、[編集] を選択します。

  4. [ポイントインタイムリカバリの有効化] を選択し、[変更を保存] を選択します。

PITR を有効にする (AWS CLI)

注記

AWS CLI コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。最新の AWS CLI バージョンを使用していることを確認します。

point-in-time-recovery-specification 設定をオンにして update-continuous-backups コマンドを実行します。

aws dynamodb update-continuous-backups \ --region us-east-1 \ --table-name <ddb-table-name> \ --point-in-time-recovery-specification PointInTimeRecoveryEnabled=true

PITR を有効にする (AWS CloudFormation)

PointInTimeRecoverySpecification プロパティをオンにして AWS::DynamoDB ::Table リソースを使用します。

Resources: iotCatalog: Type: AWS::DynamoDB::Table Properties: ... PointInTimeRecoverySpecification: PointInTimeRecoveryEnabled: true

リクエストの構文例:

{ "PointInTimeRecoverySpecification": { "PointInTimeRecoveryEnabled": boolean }, "TableName": "string" }

PITR を有効にする (API)

PointInTimeRecoverySpecification パラメータをオンにして UpdateContinuousBackups API オペレーションを実行します。

リクエストの構文例:

{ "PointInTimeRecoverySpecification": { "PointInTimeRecoveryEnabled": boolean }, "TableName": "string" }

レスポンスの構文例:

{ "ContinuousBackupsDescription": { "ContinuousBackupsStatus": "string", "PointInTimeRecoveryDescription": { "EarliestRestorableDateTime": number, "LatestRestorableDateTime": number, "PointInTimeRecoveryStatus": "string" } } }

Python

import boto3 dynamodb = boto3.client('dynamodb') response = dynamodb.update_continuous_backups( TableName=<table_name>, PointInTimeRecoverySpecification={ 'PointInTimeRecoveryEnabled': True } )

PITR が有効になっているテーブルを削除する

ポイントインタイムリカバリが有効になっているテーブルを削除すると、DynamoDB はシステムバックアップと呼ばれるバックアップスナップショットを自動的に作成し、それを 35 日間保持します (追加コストは発生しません)。システムバックアップを使用して、削除したテーブルを削除前の状態に復元できます。システムバックアップはすべて、table-name $DeletedTableBackup という標準的な命名規則に従います。

注記

ポイントインタイムリカバリが有効になっているテーブルが削除されたら、システムの復元を使用してそのテーブルを特定の時点、つまり削除直前の時点に復元できます。削除したテーブルを過去 35 日間の他の時点に復元することはできません。