AWS Backup を使用した DynamoDB テーブルのバックアップと復元: 仕組み
オンデマンドバックアップといった特徴を使用して、Amazon DynamoDB テーブルの完全バックアップを作成できます。このセクションでは、バックアップおよび復元プロセス中の概要について示します。
バックアップ
AWS Backup を使用してオンデマンドバックアップを作成する場合、リクエストのタイムマーカーがカタログ化されます。このバックアップは、前回のテーブル全体のスナップショットへのリクエスト時間までにすべての変更を適用して、非同期的に作成されます。
オンデマンドバックアップを作成する度に、テーブルデータ全体がバックアップされます。オンデマンドバックアップの実行可能数に制限はありません。
注記
DynamoDB バックアップとは異なり、AWS Backup で作成されるバックアップは即時に行われません。
バックアップ進行中は、以下を行うことができません。
-
バックアップオペレーションの一時停止またはキャンセル。
-
バックアップのソーステーブルの削除。
-
テーブルのバックアップ中におけるテーブルのバックアップの無効化。
AWS Backup は、自動バックアップスケジュール、保持管理、およびライフサイクル管理を提供します。これにより、カスタムスクリプトや手動プロセスが不要になります。 AWS Backup はバックアップを行い、期限がくるとそれを削除します。詳細については、AWS Backup デベロッパーガイドを参照してください。
コンソールを使用している場合、AWS Backup を使用して作成されたバックアップは、[Backup type (バックアップタイプ)] が AWS_BACKUP
に設定された状態で [Backups (バックアップ)] タブに一覧表示されます。
注記
DynamoDB コンソールを使用して、[Backup type (バックアップタイプ)] が AWS_BACKUP
でマークされたバックアップを削除することはできません。これらのバックアップを管理するには、AWS Backup コンソールを使用します。
バックアップを実行する方法については、「DynamoDB テーブルのバックアップ」を参照してください。
復元
テーブルは、テーブルのプロビジョニングされたスループットを消費することなく復元します。DynamoDB バックアップからテーブル全体を復元することも、送信先テーブルの設定を構成することもできます。復元を実行するときに、次のテーブル設定を変更できます。
-
グローバルセカンダリインデックス (GSI)
-
ローカルセカンダリインデックス (LSI)
-
請求モード
-
プロビジョニングされた読み込みおよび書き込みキャパシティ
-
暗号化設定
重要
テーブル全体の復元を実行すると、送信先テーブルには、バックアップが要求されたときに送信元テーブルが持っていたのと同じプロビジョニングされた読み込みキャパシティユニットと書き込みキャパシティユニットが設定されます。復元プロセスでは、ローカルセカンダリインデックスおよびグローバルセカンダリインデックスも復元されます。
DynamoDB テーブルデータのバックアップを別の AWS リージョンにコピーしてから、その新しいリージョンで復元することができます。AWS 商用リージョン、AWS 中国リージョン、および AWS GovCloud (米国) リージョン間でバックアップをコピーして復元できます。送信元リージョンからコピーしたデータと、送信先リージョンの新しいテーブルに復元したデータに対してのみ料金が発生します。
AWS Backupは、元のインデックスをすべて含むテーブルを復元します。
以下は、復元されたテーブルで手動で設定する必要があります。
-
Auto Scaling ポリシー
-
AWS Identity and Access Management (IAM) ポリシー
-
Amazon CloudWatch メトリクスおよびアラーム
-
タグ
-
ストリーム設定
-
有効期限 (TTL) 設定
-
削除保護設定
-
ポイントインタイムリカバリ (PITR) 設定
テーブルデータ全体は、バックアップから新しいテーブルにのみ復元することができます。復元されたテーブルに書き込むことができるのは、アクティブになってからです。
注記
AWS Backup 復元は非破壊的です。復元オペレーション中は既存のテーブルを上書きすることはできません。
サービスメトリクスでは、お客様のテーブル復元の 95% が 1 時間未満で完了していることを示しています。ただし、復元時間は、テーブルの構成 (テーブルのサイズ、基礎となるパーティションの数など) およびその他の関連する変数に直接関係しています。災害対策を計画する際のベストプラクティスは、平均復元完了時間を定期的に記録し、これらの時間が目標復旧時間全体にどのように影響するかを確認することです。
復元を実行する方法については、「バックアップからの DynamoDB テーブルの復元」を参照してください。
IAM ポリシーを使用してアクセスコントロールできます。詳細については、「DynamoDB バックアップおよび復元での IAM の使用」を参照してください。
バックアップおよび復元を行うコンソールと API のアクションはすべて、AWS CloudTrail にキャプチャおよび記録され、ログ記録、継続的モニタリング、監査に使用されます。