Azure Cosmos DB Data Explorerの接続に失敗する

Azure Cosmos DB Data Explorerがアカウントに接続できない場合や、リソースやアイテムに対して操作を実行できない場合があります。 この記事では、この問題の潜在的な原因と解決策について説明します。

重要

Azure Cosmos DB Data Explorerは、PostgreSQL 用 API または仮想コア用 API では使用できません。

前提条件

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

現象

[Azure Portal からのアクセスを許可する] オプションを有効にした後でも、Data Explorerに接続できません。

原因

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

  • NoSQL 用 API、Apache Gremlin 用 API、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のサービスのページのネットワーク機能には、IP アドレスを自動的に追加できる [現在の IP (...) の追加] ハイパーリンクがあります。

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

    API Error
    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.
    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のサービスのページの [ネットワーク機能] で [Azure Portal からのアクセスを許可する] を選択する必要があります。 このオプションは、ミドルウェア サービスを含む IP アドレスの範囲を追加します。 現在 のデバイスの IP アドレスを追加する必要はありません。

  • アカウントにファイアウォール規則がない場合、Data Explorerはブラウザー開発者ツールで確認できるエラーをスローします。 このエラー メッセージには、ミドルウェア サービスによって生成された汎用 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.