すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:データ復旧の概要

最終更新日:Sep 08, 2026

ApsaraDB for MongoDB は、さまざまなシナリオに対応する複数のデータ復元ソリューションを提供します。

ApsaraDB for MongoDB インスタンスへのデータ復元

重要

新しいインスタンスにデータを復元する前に:

  • 新しいインスタンスのデータベースメジャーバージョンは、ソースインスタンスと同一である必要があります。このバージョンをサポートするゾーンを選択してください。利用可能なゾーンはバージョンによって異なります (使用上の注意)。

  • 新しいインスタンスには、ソースインスタンス以上のストレージ容量が必要です。

  • メジャーバージョンアップグレード前に作成されたバックアップは、新しいバージョンには復元できません。

  • デフォルトでは、データ復元用に作成された新しいインスタンスは、最新のカーネルマイナーバージョンで実行されます。

  • インスタンスに時系列コレクション (MongoDB 5.0 以降) が含まれる場合、ポイントインタイムリカバリでは、oplog の再生フェーズで問題が発生する可能性があります。

ソリューション

インスタンスアーキテクチャ

復元先

復元範囲

シナリオ

ApsaraDB for MongoDB インスタンスの 1 つ以上のデータベースの復元

  • クラウドディスクを使用するレプリカセットインスタンス

  • クラウドディスクを使用するシャードクラスターインスタンス

元のインスタンス

  • すべてのデータベース

  • 一部のデータベース

誤って削除したコレクションまたはドキュメントを復旧します。

ローカルディスクを使用し、MongoDB 4.0 または 4.2 を実行するレプリカセットインスタンス

説明

サポートされるリージョンおよびその他の制限については、使用上の注意に記載されています。

新しいインスタンス

バックアップポイントからの新しいインスタンスの作成

  • スタンドアロンインスタンス

  • レプリカセットインスタンス

新しいインスタンス

  • すべてのデータベース

  • 一部のデータベース

説明

部分復元はローカルディスクインスタンスでのみサポートされます。

データの即時性が重要でない場合に適しています。

ポイントインタイムリカバリを使用した新しいインスタンスの作成

レプリカセットインスタンス

新しいインスタンス

  • すべてのデータベース

  • 一部のデータベース

説明

部分復元はローカルディスクインスタンスでのみサポートされます。

インスタンスのデータを特定の時点に復元します。

シャードクラスターインスタンス

新しいインスタンス

すべてのデータベース

クロスリージョンデータ復元

  • クラウドディスクを使用するレプリカセットインスタンス

  • クラウドディスクを使用するシャードクラスターインスタンス

新しいインスタンス

すべてのデータベース

コンプライアンスまたはディザスタリカバリのために、クロスリージョンバックアップをバックアップが保存されているリージョン内の新しいインスタンスに復元します。

セルフマネージドデータベースへのデータ復元

セルフマネージドデータベースにデータを復元するには、まず ApsaraDB for MongoDB インスタンスからバックアップをダウンロードします (バックアップファイルのダウンロード)。

ソリューション

インスタンスアーキテクチャ

使用上の注意

論理バックアップのセルフマネージドデータベースへの復元

  • MongoDB 4.2 以前を実行し、ローカル SSD を使用するレプリカセットインスタンス。

  • MongoDB 4.2 以前を実行し、ローカル SSD を使用するシャードクラスターインスタンス。

MongoDB のバージョンと互換性のある mongorestore を必ず使用してください。古いバージョンでは新しいデータベースがサポートされない場合があります (mongorestore)。

ローカルディスクバックアップからのデータ復元

次の条件を満たすレプリカセットインスタンス:

  • インスタンスで Transparent Data Encryption (TDE) が無効になっていること (TDE の有効化)。

  • インスタンスのストレージエンジンが WiredTiger または RocksDB であること。

なし。

よくある質問

より過去の時点のデータを復元するにはどうすればよいですか。

インスタンスデータを復元できる期間は、バックアップデータの保持期間によって異なります。より過去の時点からデータを復元したい場合は、「長期保存バックアップ」をご参照ください。

新しいインスタンスへのデータ復元にはどのくらい時間がかかりますか?

新しいインスタンスへのデータ復元に必要な時間は、ストレージタイプ、バックアップデータ量、再生する oplog 量、新しいインスタンスの仕様によって異なります。通常は数分から数時間です。

完全な復元は、次の 3 つのステージで構成されます。復元の合計時間は、3 つのステージにかかる時間の合計です:

ステージ

説明

データ量との関連

新しいインスタンスの作成

選択した仕様でターゲットインスタンスを作成し、設定します。

フルバックアップの復元

フルバックアップデータを新しいインスタンスに復元します。

増分バックアップの復元 (oplog の再生)

フルバックアップポイントからターゲット時点までの間に生成された増分データを、新しいインスタンスに再生します。

説明

バックアップポイントからインスタンスを作成する場合、増分復元は不要なため、3 つ目のステージは除外されます。ポイントインタイムリカバリを使用してインスタンスを作成する場合、指定した時点までデータが再生されるため、3 つ目のステージが含まれます。次の表では、2 つのストレージタイプについて、復元プロセスの各ステージをさらに細かく分けて説明します。

クラウドディスクベースのインスタンス

クラウドディスクベースのインスタンスのフル復元では、クラウドディスクのスナップショットを使用します。スナップショットをマウントしてデータを復元するため、このステージはデータ量の影響をほとんど受けません。

次の見積もりは、4 コア、8 GB のレプリカセットインスタンスをリファレンス環境とした場合のものです:

ステージ

推定所要時間

新しいインスタンスの作成

10 ~ 15 分

フルバックアップの復元 (スナップショットのマウント)

通常は 5 ~ 10 分で、データ量の影響をほとんど受けません。

インスタンスの起動と初期化

2 ~ 5 分

増分バックアップの復元 (oplog の再生)

増分データ量と内容の複雑さによって異なります。復元時間に影響する要因をご参照ください。

例:4 コア、8 GB のクラウドディスクベースのレプリカセットインスタンスでは、データ量が 20 GB でも 1 TB でも、バックアップポイントからのインスタンス作成は通常 20 ~ 30 分です。ポイントインタイムリカバリを使用してインスタンスを作成する場合は、バックアップポイントからターゲット時点までの間に生成された oplog 量に応じて、追加の再生時間が必要です。

ローカルディスクベースのインスタンス

ローカルディスクベースのインスタンスのフル復元では、まずバックアップストレージからバックアップセットをダウンロードします。次に、ターゲットノード上でバックアップセットを展開します。所要時間は、バックアップセットのサイズとデータファイル数によって異なります。

次の見積もりは、4 コア、8 GB のレプリカセットインスタンスをリファレンス環境とした場合のものです:

ステージ

推定所要時間

新しいインスタンスの作成

10 ~ 15 分

フルバックアップセットのダウンロード

レートの目安は 1 時間あたり 50~200 GB で、インスタンスの仕様とネットワーク状況によって異なります。

フルバックアップセットの展開

データファイル数によって異なります。次の注記をご参照ください。

oplog のダウンロード

レートの目安は 1 時間あたり 50~200 GB です。

oplog の再生

増分データ量と内容の複雑さによって異なります。復元時間に影響する要因をご参照ください。

説明

展開時間は、バックアップセットのサイズだけでなく、主にバックアップセット内のデータファイル数によって決まります。コレクションやインデックスが多いほどデータファイルが増え、展開に時間がかかります。一般的なインスタンスでは展開は通常数分で完了します。数十万のコレクションとインデックスを持つインスタンスでは、展開に数時間以上かかる場合があります。これは想定内の動作です。詳細については、「データベースとコレクションの過剰によるパフォーマンス問題」をご参照ください。コレクションが多く高速な復元が必要な場合は、クラウドディスクベースのインスタンスを使用してください。

例:4 コア、8 GB のローカルディスクベースのレプリカセットインスタンスでデータ量が 200 GB の場合を想定します。バックアップポイントからインスタンスを作成するには、ダウンロード速度を 1 時間あたり 100 GB、展開に約 30 分かかると仮定すると、エンドツーエンドの復元には約 3 時間かかります。ポイントインタイムリカバリを使用してインスタンスを作成する場合は、oplog のダウンロードと再生に必要な時間も追加されます。

説明

前述の所要時間は経験則に基づく見積もりであり、サービスレベルを保証するものではありません。復元タスクが長時間進行しない場合は、チケットを送信してテクニカルサポートにお問い合わせください。

復元時間に影響する要因
  • ストレージタイプ:クラウドディスクベースのインスタンスのフル復元ではスナップショットをマウントします。ローカルディスクベースのインスタンスでのデータのダウンロードと展開よりも大幅に高速です。

  • バックアップセットのサイズ:ローカルディスクベースのインスタンスでは、バックアップが大きいほどダウンロードに時間がかかります。この要因はクラウドディスクベースのインスタンスには影響しません。

  • データファイル数:コレクションとインデックスが多いほど、ローカルディスクベースのインスタンスの展開時間が増加します。

  • 新しいインスタンスの仕様:CPU コア数、メモリ、ディスク IOPS が多いほど、ダウンロード、展開、oplog の再生が高速化します。大容量データを低仕様のインスタンスに復元すると、所要時間が大幅に長くなります。

  • oplog 量:ポイントインタイムリカバリでは、ターゲット時点がフルバックアップポイントから離れるほど、再生する oplog データが増えます。これにより復元時間が増加します。

  • oplog 内容の複雑さ:oplog 内の複数ドキュメントトランザクションは直列に再生する必要があり、並列化で高速化できません。大きなドキュメントやホットスポット更新は追加の書き込み増幅を引き起こします。書き込みワークロードが複雑な場合、インスタンス仕様を上げても再生速度が目に見えて改善しないことがあります。

  • ソースインスタンスの書き込みレート:ポイントインタイムリカバリでは、ソースの書き込みレートが高いほど、同じ期間に生成される oplog データが増えます。これにより再生時間が増加します。

  • シャードクラスターインスタンス:シャードクラスターインスタンスの Config サーバー、シャード、および mongos ノードは並列に復元されます。完了時間は最も遅いコンポーネントに依存します。通常、同じデータ量のレプリカセットインスタンスより短くなることはありません。

復元時間を短縮するための推奨事項
  • クラウドディスクベースのインスタンスを優先してください。フル復元は数分で完了し、データ量やコレクション数の影響を受けません。

  • ソースインスタンス以上の仕様を選択してください。これにより、復元中の仕様ボトルネックを防止できます。

  • バックアップポイントからのインスタンス作成を推奨します。業務上許容できる場合は、ターゲット時点に最も近いバックアップポイントを使用してください。これにより、oplog の再生時間を短縮または不要にできます。

  • コレクションとインデックスの数を制限してください。未使用のコレクションとインデックスを速やかに削除すると、ローカルディスクベースのインスタンスの展開時間を大幅に短縮できます。

  • 高頻度バックアップを有効にしてください。バックアップポイントとターゲット時点の間隔が短くなり、再生する oplog 量を削減できます。

バックアップデータをソースインスタンスに復元するにはどうすればよいですか。

シャードクラスターのクラウドディスクインスタンスの場合、データベースとテーブルの復元機能を使用して、データをソースインスタンスに復元できます。詳細については、「ApsaraDB for MongoDBインスタンスの1つ以上のデータベースの復元」をご参照ください。

インスタンスがデータベースとテーブルの復元機能を使用したソースインスタンスへのデータ復元をサポートしていない場合は、バックアップデータを新規インスタンスに復元できます。その後、ソースインスタンスと新規インスタンスのエンドポイントとポート番号を切り替えるか、Data Transmission Service (DTS) を使用して新規インスタンスからソースインスタンスにデータを移行できます。

ダウンロードしたバックアップファイルをApsaraDB for MongoDBインスタンスに復元するにはどうすればよいですか。

ダウンロードしたバックアップファイルを ApsaraDB for MongoDB インスタンスに直接復元することはできません。まずデータをセルフマネージドデータベースに復元し、次に DTS を使用してデータを ApsaraDB for MongoDB インスタンスに移行できます。DTS を使用したデータ移行の詳細については、「セルフマネージドMongoDBデータベースまたはApsaraDB for MongoDBインスタンスの移行ソリューション」をご参照ください。

使用しているインスタンスタイプがバックアップファイルのダウンロードをサポートしていない場合、セルフマネージドデータベースにデータを復元するにはどうすればよいですか。

複製されたシャードクラスターインスタンスのシャード ID が sh.status() コマンドの出力と異なるのはなぜですか?

シャードクラスターインスタンスの Config サーバーは、config.collections および config.chunks コレクションを含む、すべてのシャード化コレクションのルーティングメタデータを格納します。これらのコレクション内のドキュメントには、データが属するシャードを識別する shard: 'shard01' などのフィールドが含まれます。クローン復元ではソースインスタンスの完全なルーティングデータが必要なため、ソースのシャード ID (シャード名) を保持する必要があります。その結果、複製されたインスタンスのシャード ID は、sh.status() の出力に表示されるシャード名とは異なります。

コンソールのインスタンス詳細ページに表示される [シャード ID] (replicaSetName) と、sh.status() の出力を比較することで対応付けできます。この対応関係は復元後も変わりません。