Amazon DynamoDB テーブルの復元に時間がかかるのはなぜですか?

所要時間1分
0

Amazon DynamoDB テーブルを復元しようとすると、復元プロセスが完了するまでに長い時間がかかります。

解決策

バックアップから DynamoDB テーブルを復元する場合、復元プロセスは通常 1 時間以内に完了します。復元時間は、テーブルサイズ、基になるパーティションの数、その他の関連変数など、テーブルの設定に関連しています。ディザスタリカバリを計画するときは、復元の平均完了時間を定期的に文書化することがベストプラクティスです。次に、これらの完了時間が全体的な復元時間目標にどのように影響するかを判断します。

DynamoDB がテーブルを復元するのにかかる時間はいくつかの要因によって異なり、必ずしもテーブルのサイズに関係しているわけではありません。テーブルにスキューが大きく、セカンダリインデックスが大きいデータが含まれている場合、復元時間が長くなる可能性があります。復元処理が進行中の場合、テーブルのステータスは「復元中」になります。復元プロセスが完了すると、テーブルにはステータスが「アクティブ」と表示されます。DynamoDB のすべてのバックアップは、テーブルにプロビジョニングされたスループットを消費することなく機能します。

ただし、テーブルの復元時間を計算することはできないことに注意してください。DynamoDB テーブルをバックアップから復元するときは、次の情報を確認してください。

  • テーブルの復元にかかる時間は、必ずしもテーブルのサイズと直接相関しているわけではありません。
  • DynamoDB テーブルのポイントインタイムリカバリを実行する場合、テーブルのサイズに関係なく、復元には少なくとも 20 分かかります。テーブルを復元した後、DynamoDB は、新しいテーブルを作成して復元プロセスを開始するためのすべてのリソースをプロビジョニングする時間が必要です。その後、DynamoDB は実際のデータをコピーできます。
  • テーブル内のデータが均等に分散されている場合、復元時間はアイテム数で最大の単一パーティションに比例します。
  • 一方のパーティションキーにもう一方のパーティションキーよりも大幅に多くのデータがある場合、データの偏りが発生する可能性があります。データが偏っている場合、ホットキーやスロットリングが発生する可能性があるため、復元時間が長くなる可能性があります。たとえば、テーブルのプライマリキーがパーティション分割に月を使用している場合は、データがどのように分散されているかを確認します。データの大部分が 12 月のものである場合は、データが偏っていることになります。
  • テーブル復元の効率と速度を上げるには、セカンダリインデックスの作成を除外してください。
  • スキーマとデータが異なる 2 つのテーブルの復元時間を比較することはできません。テーブルの復元時間は、パーティションレベルのデータの偏りによって異なります。

**注:**復元が進行中の場合は、エンティティに復元権限を付与する AWS ID およびアクセス管理 (IAM) ポリシーを変更したり、削除したりしないでください。IAM エンティティのポリシーを変更または削除すると、予期しない動作が発生する可能性があります。たとえば、テーブルの復元中に、そのテーブルの書き込み権限を削除するとします。この場合、基になる RestoreTableTopoinTime オペレーションまたは RestoreTableFromBackup オペレーションは、復元されたデータをテーブルに書き込むことができません。ターゲットの復元テーブルにアクセスするためのソース IP 制限を含む IAM ポリシーでは、同様の問題が発生する可能性があります。

AWS Key Management Service (AWS KMS) 管理キーまたは顧客管理キーで暗号化されたバックアップについては、キーを監視してください。復元の進行中にキーをオフにするか削除すると、復元は失敗します。復元が完了したら、復元されたテーブルの暗号化キーを変更し、古いキーをオフにするか、削除することができます。

関連情報

DynamoDB のオンデマンドバックアップと復元を使用する

DynamoDB のバックアップと復元を使用する

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ