View a markdown version of this page

テーブルの復元を開始して復旧する - Amazon DynamoDB

テーブルの復元を開始して復旧する

PITR を使用すると、PITR 復旧期間内の特定の秒にテーブルを復元できます。PITR 復旧期間は、PITR が有効になったときに開始され、最大 35 日間の履歴が保持されます。より短い期間に設定することもできます。

PITR テーブルの完全復元を開始するときは、次の点を考慮してください。

  • 復元により、新しいテーブルが作成されます。テーブル復元アクションは、元のテーブルに対してインプレースでは動作しません。インプレースオプションについては、「不要な書き込みをインプレースでロールバックして復旧する」を参照してください。

  • 同じリージョンの新しいテーブルまたは別のリージョンに復元できます。別のリージョンに復元すると、データ転送料金が発生します。

  • セカンダリインデックスの有無にかかわらず、テーブルを復元できます。セカンダリインデックスなしで復元すると、より高速でコスト効率が良くなります。

  • 復元が完了するには数時間かかる場合があります。復元時間は複数の要因に基づいて異なり、必ずしもテーブルサイズと相関するとは限りません。

PITR テーブルの復元後、新しいテーブルを元のテーブルの完全な置き換えとして運用可能にすることができます。また、元のテーブルと比較して違いを見つけることもできます。より簡単なアプローチについては、「不要な書き込みをインプレースでロールバックして復旧する」を参照してください。

復元されたテーブルを運用可能にするときは、次の点を考慮してください。

  • Infrastructure as Code 環境 (AWS CloudFormation、AWS Cloud Development Kit (AWS CDK)、Terraform) では、復元されたテーブルを IaC 環境に導入して管理します。

  • クライアント接続を更新して、新しいテーブルを新しい名前で参照します。

  • ストリーム設定が元のテーブルにあった場合は、再追加します。DynamoDB ストリーム名にはストリームの作成時刻が含まれているため、新しいストリームは古いストリームとは異なる名前になります。IAM またはダウンストリームコンシューマーコードで古いストリーム名への参照を更新します。

  • PITR が元のテーブルにあった場合は、新しいテーブルで PITR を再度有効にします。

  • 削除保護が元のテーブルにあった場合は、新しいテーブルで削除保護を再度有効にします。

  • タグが元のテーブルにあった場合は、新しいテーブルにタグを再追加します。

  • RBP が元のテーブルにあった場合は、新しいテーブルにリソースベースのポリシーを再追加します。

  • 元のテーブルを参照するクロスアカウントアクセス IAM ポリシーを更新します。

  • 新しいテーブルの自動スケーリング設定を調整します。

  • TTL が元のテーブルにあった場合は、新しいテーブルに TTL 属性を設定します。

  • カスタムテーブルクラスが元のテーブルにあった場合は、新しいテーブルのテーブルクラスを調整します。

  • 新しいテーブルのウォームスループット設定を確認し、必要に応じて読み取りと書き込みの値を増やします。

  • 元のテーブルがグローバルテーブルであった場合、そのテーブルと一致するように新しいテーブルのレプリカを追加します。

  • 復元されたテーブルが完全に設定され、運用可能になったら、元のテーブルを削除します。

MRSC グローバルテーブルを復元する場合、MRSC テーブルには空のテーブルのみを作成できるため、新しく復元されたテーブルを MRSC テーブルにすることはできません。解決策の 1 つは、テーブルを復元し、復元されたテーブルから空の MRSC テーブルにデータをコピーすることです。