Azure Cosmos DB への MongoDB アプリケーションの接続

適用対象: MongoDB

MongoDB 接続文字列を使用して、MongoDB アプリを Azure Cosmos DB に接続する方法について説明します。 MongoDB アプリのデータ ストアとして Azure Cosmos DB データベースを使用できるようになります。

このチュートリアルでは、接続文字列情報を取得する 2 とおりの方法を説明します。

前提条件

2 つの項目が必要です

クイック スタートを使用して MongoDB 接続文字列を取得する

次の手順に従います。

  1. インターネット ブラウザーで Azure Portal にサインインします。

  2. [Azure Cosmos DB] ウィンドウで、API を選択します。

  3. [アカウント] ウィンドウの左側のペインで、[クイック スタート] を選びます。

  4. プラットフォームを選択します ( .NETNode.jsMongoDB シェルJavaPython)。 ドライバーまたはツールの一覧が表示されなくても、接続コード スニペットは継続的に文書化されますので心配はいりません。 表示を希望するものをコメントに記入してください。 また、独自の接続を行う方法については、アカウントの接続文字列情報の取得に関するセクションを参照してください。

  5. コード スニペットを MongoDB アプリにコピーして貼り付けます。

MongoDB 接続文字列を取得してカスタマイズする

次の手順に従います。

  1. インターネット ブラウザーで Azure Portal にサインインします。

  2. [Azure Cosmos DB] ウィンドウで、API を選択します。

  3. アカウント ウィンドウの左側のペインで、[接続文字列] を選択します。

  4. [接続文字列] ウィンドウが開きます。 MongoDB のドライバーを使用してこのアカウントに接続するために必要なすべての情報 (あらかじめ構築された接続文字列も含む) が表示されます。

    接続文字列の要件

    重要

    Azure Cosmos DB には、厳密なセキュリティ要件と基準があります。 Azure Cosmos DB アカウントには、TLS による認証とセキュリティで保護された通信が必要です。

    Azure Cosmos DB は、標準の MongoDB 接続文字列の URI 形式をサポートしていますが、固有の要件がいくつかあります。Azure Cosmos DB アカウントには、TLS による認証とセキュリティで保護された通信が必要です。 接続文字列の形式は次のとおりです。

    mongodb://username:password@host:port/[database]?ssl=true

    この文字列の値は次のとおりです。

    • ユーザー名 (必須) : Azure Cosmos DB アカウント名。
    • パスワード (必須) : Azure Cosmos DB アカウントのパスワード。
    • ホスト (必須) : Azure Cosmos DB アカウントの FQDN。
    • ポート (必須):10255。
    • データベース (省略可):接続で使用されるデータベース。 データベースを指定しない場合、既定のデータベースは "test" です。
    • ssl=true (必須)。

    たとえば、[接続文字列] ウィンドウに表示されているアカウントでは次のようになります。 有効な接続文字列は次のようになります。

    mongodb://contoso123:0Fc3IolnL12312asdfawejunASDF@asdfYXX2t8a97kghVcUzcDv98hawelufhawefafnoQRGwNj2nMPL1Y9qsIr9Srdw==@contoso123.documents.azure.com:10255/mydatabase?ssl=true

    ドライバーの要件

    ワイヤ プロトコル バージョン 3.4 以上をサポートするすべてのドライバーで、Azure Cosmos DB for MongoDB がサポートされます。

    • クライアント ドライバーでは、Service Name Identification (SNI) TLS 拡張と appName 接続文字列のどちらかまたは両方のオプションをサポートしている必要があります。
    • appName パラメーターが指定されている場合、Azure portal に見られる接続文字列値と同じように追加されている必要があります。