次の方法で共有


Azure Cosmos DB データ エクスプローラーの接続に失敗する

Azure Cosmos DB データ エクスプローラーがアカウントに接続できない場合や、リソースまたは項目に対して操作を実行できない場合があります。 この記事では、この問題の潜在的な原因と解決策について説明します。

重要

Azure Cosmos DB データ エクスプローラーは、PostgreSQL 用 API または仮想コア用 API では使用できません。

前提条件

既存の Azure Cosmos DB for NoSQL、MongoDB RU、Apache Cassandra、Apache Gremlin、または Table アカウント

現象

Azure Portal からのAllow アクセスオプションを有効にした後でも、データ エクスプローラーに接続できません。

原因

適切なロールベースのアクセス制御とポータルのアクセス許可を構成した後でも、選択した API に基づいて構成する必要がある追加のネットワーク アクセス要件があります。

  • Api for NoSQL、API for Apache Gremlin、API for Table などの一部のサービスでは、クライアント側の JavaScript SDK を使用して操作を実行し、1 つのソリューション セットを必要とします。

  • MongoDB RU 用 API や Apache Cassandra 用 API などの他のサービスは、プロトコル固有のミドルウェアを使用し、代替ソリューションを必要とします。

NoSQL、Apache Gremlin、または Table 用 API のソリューション

データベース、コンテナー、グラフ、テーブル (コントロール プレーン) の操作は、Azure Cosmos DB リソース プロバイダーを使用して Azure Resource Manager コントロール プレーンの呼び出しを介して実行されます。 ネットワーク構成は、これらの操作には影響しません。

項目 (データ プレーン) 操作は、ブラウザーのコンテキスト内で JavaScript SDK を使用して実行されます。 現在使用しているデバイスは、アカウントに直接ネットワーク アクセスできる必要があります。

  • パブリック アクセス (すべてのネットワーク) で構成されたアカウントの場合、データ プレーン操作にネットワーク関連の接続の問題は発生しません。

  • パブリック アクセス (選択したネットワーク) で構成されたアカウントの場合は、現在のデバイスからアカウントへのアクセスを許可するファイアウォール規則を作成する必要があります。 Azure portal のサービスのページにある Networking 機能には、現在の IP (...) ハイパーリンクを追加するがあり、自動的に IP アドレスを追加できます。

  • アカウントにファイアウォール規則がない場合、データ エクスプローラーの通知で確認できるエラーがスローされます。 このエラー メッセージには、次の例のようなテキストが含まれています。

    API エラー
    NoSQL Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.
    Apache Gremlin Failure in submitting query: g.V(): Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.
    Table Error while refreshing databases: Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.
  • パブリック アクセスが無効に構成されているアカウントの場合データ プレーン操作を機能させるには、アカウントへの接続を使用してデバイスを仮想ネットワークに接続する必要があります。

MongoDB RU または Apache Cassandra 用 API のソリューション

コントロール プレーンソリューションとデータ プレーン ソリューションをそれぞれ確認します。

データベース、キースペース、およびコレクション (コントロール プレーン) 操作は、Azure Cosmos DB リソース プロバイダーを使用した Azure Resource Manager コントロール プレーンの呼び出しを介して実行されます。 ネットワーク構成は、これらの操作には影響しません。

項目 (データ プレーン) 操作は、API のミドルウェアでプロキシ サービスを使用して実行されます。 このサービスにより、項目の操作とクエリでのサービスネイティブ (MongoDB、Cassandra) プロトコルの使用が容易になります。 プロキシ サービスには、アカウントへの直接ネットワーク アクセスが必要です。

  • パブリック アクセス (すべてのネットワーク) で構成されたアカウントの場合、データ プレーン操作にネットワーク関連の接続の問題は発生しません。

  • パブリック アクセス (選択したネットワーク) で構成されたアカウントの場合は、Azure portal のサービスのページの Networking 機能で Azure Portal から Allow Access を選択する必要があります。 このオプションは、ミドルウェア サービスを含む IP アドレスの範囲を追加します。 現在のデバイスの IP アドレスを追加する必要はありません。

  • アカウントにファイアウォール規則がない場合、データ エクスプローラーはブラウザー開発者ツールで確認できるエラーをスローします。 このエラー メッセージには、ミドルウェア サービスによって生成された汎用 Error querying documents または Failed to establish connection with cassandra node メッセージが含まれています。 展開されたエラー メッセージは、次の例のように、コンピューティング ゲートウェイ ログに含まれています。

    Request originated from IP XXX.XXX.XXX.XXX through public internet. This is blocked by your Cosmos DB account firewall settings.