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

ApsaraDB for MongoDB:Azure Cosmos DBのMongoDB用APIをApsaraDB for MongoDBに移行する

最終更新日:Jun 12, 2024

MongoDBは、Azure Cosmos DBのAPI for MongoDBをApsaraDB for MongoDBに移行するために使用できるネイティブバックアップユーティリティを提供します。

注意事項

  • これはフル移行です。 データの一貫性を確保するため、移行前にデータベースへのすべての書き込み操作を停止することを推奨します。

  • データベースのバックアップに mongodump コマンドを使用した場合は、dump フォルダ内のファイルを他のディレクトリに移動します。 データ移行の前に、デフォルトの dump フォルダが空であることを確認します。 そうでなければ、このフォルダ内の既存のバックアップファイルは上書きされます。

  • mongodump コマンドと mongorestore コマンドは mongo shell で実行するのではなく、 mongo shell で実行しないようにしてください。

必要なデータベースアカウントの権限

インスタンス

アカウント権限

Azure Cosmos DB

読み取り権限

ターゲット MongoDB インスタンス

Read と write

Environment 設定

  1. ApsaraDB for MongoDB インスタンスを作成します。 詳細は、インスタンスの作成をご参照ください。

    説明
    • インスタンスのストレージ容量は Azure Cosmos DB のサイズより大きいである必要があります。

    • MongoDBバージョン4.0以降を選択します。

  2. ApsaraDB for MongoDB インスタンスのパスワードを設定します。 詳細は、パスワードの設定をご参照ください。

  3. MongoDB をサーバーにインストールします。 詳細は、MongoDB のインストールをご参照ください。

    説明
    • 3.0以降のバージョンのMongoDBをインストールします。

    • このサーバーはバックアップおよびリカバリー中にデータを一時的に保存するために使用され、マイグレーションの完了後には必要ありません。

    • バックアップが保存されるストレージ容量は Azure Cosmos DB サイズより大きいである必要があります。

    この例では、MongoDB を Linux サーバーにインストールします。 Windows などの他の OS も使用できます。

手順

  1. Azure portal にログインします。

  2. 左側のナビゲーションウィンドウで、[Azure Cosmos DB] をクリックします。

  3. Azure Cosmos DB ページで、マイグレーションする Azure Cosmos DB のアカウント名をクリックします。

  4. アカウント詳細ページで、Connection String をクリックします。

  5. Read-only Keys タブをクリックして、データベース接続情報を表示します。

    図 1. Azure接続情報 Azure connection information

    説明

    データをマイグレーションするには、読み取り専用権限を持つデータベースアカウントのみが必要です。

  6. MongoDB サーバーで次のコマンドを実行して、Azure Cosmos DB をそのサーバーにバックアップします。

    mongodump -- host <HOST>:10255 -- authenticationDatabase admin -u <USERNAME> -p <PRIMARY PASSWORD> -- ssl -- sslAllowInvalidicates

    注: <HOST> 、<USERNAME> 、および <SECONDARY PASSWORD> を、Azure接続情報に表示されている実際の値に置き換えます。

    バックアップが完了すると、Azure Cosmos DB のバックアップは dump フォルダーに格納されます。

  7. ApsaraDB for MongoDB インスタンスのプライマリノードのエンドポイントを取得します。 詳細については、「レプリカセットインスタンス接続の概要」をご参照ください。

  8. MongoDB サーバーで次のコマンドを実行して、バックアップを ApsaraDB for MongoDB インスタンスにエクスポートします。

    mongorestore -- host <mongodb_host>:3717 -- authenticationDatabase admin -u <username> -p <password> dump

    パラメーターの説明:

    • <mongodb_host>: MongoDBインスタンスのプライマリノードのエンドポイント。

    • <username>: ApsaraDB for MongoDBインスタンスへのログインに使用されるアカウント。

    • <password>: ApsaraDB for MongoDBインスタンスへのログインに使用されるパスワード。

リカバリーが完了したら、Azure Cosmos DB のバックアップは ApsaraDB for MongoDB インスタンスにマイグレーションされます。