Azure AI ハブ用にマネージド ネットワークを構成する方法

Note

Azure AI Studio は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

ネットワーク分離には 2 つの側面があります。 1 つは、Azure AI ハブにアクセスするためのネットワークの分離です。 もう 1 つは、Azure AI ハブと Azure AI プロジェクトにおけるコンピューティング リソースのネットワーク分離であり、コンピューティング インスタンス、サーバーレスおよびマネージド オンライン エンドポイントなどがその例です。 このドキュメントでは、図で強調表示されている後者について説明します。 Azure AI ハブの組み込みのネットワーク分離を使用して、コンピューティング リソースを保護できます。

Azure AI ハブのネットワークの分離の図。

以下のネットワーク分離構成を設定する必要があります。

  • ネットワーク分離モードを選択します。 インターネット送信を許可するモードか、承認された送信のみを許可するモードの 2 つのオプションがあります。
  • プライベート Azure リソースへのプライベート エンドポイントのアウトバウンド規則を作成します。 プライベート Azure AI サービスと Azure AI 検索はまだサポートされていないことに注意してください。
  • 承認された送信のみを許可するモードの Visual Studio Code 統合を使用する場合は、「Visual Code Studio を使用する」セクションで説明する FQDN アウトバウンド規則を作成します。
  • 承認された送信のみを許可するモードのモデルで HuggingFace モデルを使用する場合は、「HuggingFace モデルを使用する」セクションで説明する FQDN アウトバウンド規則を作成します。

ネットワーク分離アーキテクチャと分離モード

マネージド仮想ネットワークの分離を有効にすると、Azure AI ハブ用のマネージド仮想ネットワークが作成されます。 Azure AI ハブ用に作成したマネージド コンピューティング リソースは、自動的にこのマネージド VNet を使います。 マネージド VNet は、Azure Storage、Azure Key Vault、Azure Container Registry など、Azure AI ハブが使う Azure リソースのプライベート エンドポイントを使用できます。

マネージド VNet からの送信トラフィックには、次の 3 種類の構成モードがあります。

送信モード 説明 シナリオ
インターネット送信を許可する マネージド VNet からのすべてのインターネット送信トラフィックを許可します。 Python パッケージや事前トレーニング済みモデルなど、インターネット上の機械学習リソースに無制限にアクセスする必要がある場合に推奨されます。1
承認された送信のみを許可する 送信トラフィックは、サービス タグを指定することで許可されます。 * データ流出のリスクを最小限に抑えると同時に、プライベート環境で必要な機械学習の成果物をすべて準備する必要があります。
* 承認されたサービス、サービス タグ、または FQDN の一覧への送信アクセスを構成する必要があります。
無効 受信および送信トラフィックが制限されていません。 Azure AI ハブからのパブリック受信と送信が必要です。

1: "承認された送信のみを許可する" モードのアウトバウンド規則を使うと、インターネット送信を許可するのと同じ結果を得られます。 相違点は以下のとおりです。

  • Azure リソースにアクセスするには常にプライベート エンドポイントを使用します。

    重要

    Azure AI サービスと Azure AI 検索用のプライベート エンドポイントを作成できますが、接続されたサービスではパブリック ネットワークを許可する必要があります。 詳細については、「他のサービスへの接続」を参照してください。

  • 許可する必要がある送信接続ごとに規則を追加する必要があります。

  • FQDN アウトバウンド規則を追加すると、この規則の種類で Azure Firewall が使われるため、コストが増加します。

  • "承認された送信のみを許可する" の既定の規則は、データ流出のリスクを最小限に抑えるように設計されています。 アウトバウンド規則を追加すると、リスクが増加する可能性があります。

マネージド VNet は、必須の既定の規則を使って事前に構成されています。 また、Azure AI ハブ、Azure AI ハブの既定のストレージ、コンテナー レジストリ、キー コンテナーへのプライベート エンドポイント接続がプライベートとして構成されている場合、または承認された送信のみを許可するように Azure AI ハブの分離モードが設定されている場合にも構成されます。 分離モードを選んだ後は、追加する必要がある場合がある他の送信要件のみ考慮する必要があります。

次の図は、インターネット送信を許可するように構成されたマネージド VNet を示しています。

インターネット送信用に構成されたマネージド VNet 分離の図。

次の図は、承認された送信のみを許可するように構成されたマネージド VNet を示しています。

Note

この構成では、Azure AI ハブで使用されるストレージ、キー コンテナー、コンテナー レジストリに非公開としてフラグが設定されます。 非公開としてフラグが設定されているため、プライベート エンドポイントを使用して通信します。

承認された送信のみを許可するように構成されたマネージド VNet 分離の図。

制限事項

  • Azure AI Studio では現在、独自の仮想ネットワークの持ち込みはサポートされていません。マネージド VNet 分離のみがサポートされています。
  • Azure AI のマネージド VNet の分離を有効にした後に、無効にすることはできません。
  • マネージド VNet は、プライベート エンドポイント接続を使ってプライベート リソースにアクセスします。 ストレージ アカウントなどの Azure リソースに対して、プライベート エンドポイントとサービス エンドポイントを同時に持つことはできません。 どのシナリオでもプライベート エンドポイントを使うことをお勧めします。
  • Azure AI が削除されると、マネージド VNet は削除されます。
  • データ流出防止は、唯一承認された送信モードに対して自動的に有効になります。 FQDN などの他のアウトバウンド規則を追加した場合、Microsoft では、これらの送信先へのデータ流出からの保護を保証できません。
  • FQDN アウトバウンド規則を使用すると、FQDN 規則で Azure Firewall が使用されるため、マネージド VNet のコストが増加します。 詳細については、価格に関するページをご覧ください。
  • マネージド ネットワークでコンピューティング インスタンスを使用する場合、SSH を使ってコンピューティング インスタンスに接続することはできません。

他のサービスへの接続

  • Azure AI ハブを使用してプロビジョニングされた Azure AI サービスと、Azure AI ハブにアタッチされた Azure AI 検索はパブリックにする必要があります。
  • Azure AI Studio プレイグラウンドの "データの追加" 機能では、次のリソースでの仮想ネットワークやプライベート エンドポイントの使用はサポートされていません。
    • Azure AI Search
    • Azure OpenAI
    • ストレージ リソース

インターネット送信を許可するようにマネージド仮想ネットワークを構成する

ヒント

マネージド VNet の作成は、コンピューティング リソースが作成されるか、プロビジョニングが手動で開始されるまで延期されます。 自動作成を許可すると、ネットワークのプロビジョニングも行われるため、最初のコンピューティング リソースの作成に約 30 分かかることがあります。

Azure Machine Learning CLI を使用できます。 Azure Machine Learning CLI でワークスペース名として Azure AI ハブ名を使用します。

承認された送信のみを許可するマネージド仮想ネットワークを構成する

ヒント

コンピューティング リソースを作成すると、マネージド VNet は自動的にプロビジョニングされます。 自動作成を許可すると、ネットワークのプロビジョニングも行われるため、最初のコンピューティング リソースの作成に約 30 分かかることがあります。 FQDN アウトバウンド規則を構成した場合、最初の FQDN 規則のプロビジョニング時間は約 10 分長くかかります。

Azure Machine Learning CLI を使用できます。 Azure Machine Learning CLI でワークスペース名として Azure AI ハブ名を使用します。

アウトバウンド規則を管理する

Azure Machine Learning CLI を使用できます。 Azure Machine Learning CLI でワークスペース名として Azure AI ハブ名を使用します。

必要な規則の一覧

ヒント

これらの規則は、マネージド VNet に自動的に追加されます。

プライベート エンドポイント:

  • マネージド VNet の分離モードが Allow internet outbound のとき、プライベート エンドポイントのアウトバウンド規則は、Azure AI ハブのマネージド VNet と、パブリック ネットワーク アクセスが無効になっている関連リソース (Key Vault、ストレージ アカウント、コンテナー レジストリ、Azure AI ハブ) に必要な規則として自動的に作成されます。
  • マネージド VNet の分離モードが Allow only approved outbound のとき、プライベート エンドポイントのアウトバウンド規則は、Azure AI ハブのマネージド VNet と、パブリック ネットワークのアクセス モードに関係なく関連リソース (Key Vault、ストレージ アカウント、コンテナー レジストリ、Azure AI ハブ) に必要な規則として自動的に作成されます。

アウトバウンド サービス タグの規則:

  • AzureActiveDirectory
  • Azure Machine Learning
  • BatchNodeManagement.region
  • AzureResourceManager
  • AzureFrontDoor.firstparty
  • MicrosoftContainerRegistry
  • AzureMonitor

インバウンド サービス タグの規則:

  • AzureMachineLearning

シナリオ固有のアウトバウンド規則の一覧

シナリオ: パブリック機械学習パッケージにアクセスする

トレーニングとデプロイ用の Python パッケージをインストールできるようにするには、アウトバウンド FQDN 規則を追加して、次のホスト名へのトラフィックを許可します。

警告

FQDN アウトバウンド規則は Azure Firewall を使って実装されます。 アウトバウンド FQDN 規則を使う場合、Azure Firewall の料金が請求に含まれます。詳細については、価格のページを参照してください。

Note

これは、インターネット上のすべての Python リソースに必要なホストの完全な一覧ではなく、最も一般的に使用されているもののみを取り上げています。 たとえば、GitHub リポジトリまたはその他のホストにアクセスする必要がある場合は、そのシナリオに必要なホストを特定して追加する必要があります。

ホスト名 目的
anaconda.com
*.anaconda.com
既定のパッケージをインストールするために使用されます。
*.anaconda.org リポジトリ データを取得するために使用されます。
pypi.org 既定のインデックスからの依存関係 (存在する場合) を一覧表示するために使用されます。ユーザー設定によってこのインデックスが上書きされることはありません。 インデックスが上書きされる場合は、*.pythonhosted.org も許可する必要があります。
pytorch.org
*.pytorch.org
PyTorch に基づくいくつかのサンプルによって使用されます。
*.tensorflow.org Tensorflow に基づくいくつかのサンプルによって使用されます。

シナリオ: Visual Studio Code を使用する

Visual Studio Code は、リモート接続を確立するために特定のホストとポートに依存します。

Hosts

Azure AI ハブで Visual Studio Code を使う予定の場合は、アウトバウンド FQDN 規則を追加して、次のホストへのトラフィックを許可します。

警告

FQDN アウトバウンド規則は Azure Firewall を使って実装されます。 FQDN アウトバウンド規則を使用する場合は、Azure Firewall の料金が請求に含まれます。 詳細については、価格に関するページをご覧ください。

  • *.vscode.dev
  • vscode.blob.core.windows.net
  • *.gallerycdn.vsassets.io
  • raw.githubusercontent.com
  • *.vscode-unpkg.net
  • *.vscode-cdn.net
  • *.vscodeexperiments.azureedge.net
  • default.exp-tas.com
  • code.visualstudio.com
  • update.code.visualstudio.com
  • *.vo.msecnd.net
  • marketplace.visualstudio.com
  • pkg-containers.githubusercontent.com
  • github.com

Port

ポート 8704 から 8710 へのネットワーク トラフィックを許可する必要があります。 VS Code サーバーは、この範囲内の最初の使用可能なポートを動的に選択します。

シナリオ: HuggingFace モデルを使用する

Azure AI ハブで HuggingFace モデルを使う予定の場合は、アウトバウンド FQDN 規則を追加して、次のホストへのトラフィックを許可します。

警告

FQDN アウトバウンド規則は Azure Firewall を使って実装されます。 FQDN アウトバウンド規則を使用する場合は、Azure Firewall の料金が請求に含まれます。 詳細については、価格に関するページをご覧ください。

  • docker.io
  • *.docker.io
  • *.docker.com
  • production.cloudflare.docker.com
  • cnd.auth0.com
  • cdn-lfs.huggingface.co

プライベート エンドポイント

プライベート エンドポイントは現在、次の Azure サービスでサポートされています。

  • Azure AI ハブ
  • Azure Machine Learning
  • Azure Machine Learning レジストリ
  • Azure Storage (すべてのサブ リソースの種類)
  • Azure Container Registry
  • Azure Key Vault
  • Azure AI サービス
  • Azure AI Search
  • Azure SQL Server
  • Azure Data Factory
  • Azure Cosmos DB (すべてのサブ リソースの種類)
  • Azure Event Hubs
  • Azure Redis Cache
  • Azure Databricks
  • Azure Database for MariaDB
  • Azure Database for PostgreSQL
  • Azure Database for MySQL
  • Azure SQL Managed Instance

重要

Azure AI サービスと Azure AI 検索用のプライベート エンドポイントを作成できますが、接続されたサービスではパブリック ネットワークを許可する必要があります。 詳細については、「他のサービスへの接続」を参照してください。

プライベート エンドポイントを作成する場合は、エンドポイントが接続するリソースの種類サブリソースを指定します。 一部のリソースには、複数の種類とサブリソースがあります。 詳細については、「プライベート エンドポイントとは」を参照してください。

Azure Storage、Azure Container Registry、Azure Key Vault などの Azure AI ハブ依存関係リソースのプライベート エンドポイントを作成する場合、そのリソースは別の Azure サブスクリプションに含めることができます。 ただし、リソースは Azure AI ハブと同じテナントに存在する必要があります。

ターゲット リソースが上で示した Azure リソースである場合、接続用にプライベート エンドポイントが自動的に作成されます。 プライベート エンドポイントには有効なターゲット ID が必要です。 接続の有効なターゲット ID は、親リソースの ARM ID でかまいません。 ターゲット ID は、接続のターゲットまたは metadata.resourceid でも必要です。 接続に関する詳細情報については、「Azure AI Studio で新しい接続を追加する方法」を参照してください。

価格

Azure AI ハブ マネージド VNet 機能は無料です。 ただし、マネージド VNet によって使われる次のリソースに対しては課金されます。

  • Azure Private Link - マネージド VNet と Azure リソースとの間の通信をセキュリティで保護するために使われるプライベート エンドポイントは、Azure Private Link に依存します。 詳細については、「Azure Private Link の価格」を参照してください。

  • FQDN アウトバウンド規則 - FQDN アウトバウンド規則は、Azure Firewall を使用して実装されます。 FQDN アウトバウンド規則を使用する場合は、Azure Firewall の料金が請求に含まれます。 Azure Firewall SKU が標準です。 Azure Firewall は Azure AI ハブごとにプロビジョニングされます。

    重要

    アウトバウンド FQDN 規則を追加するまで、ファイアウォールは作成されません。 FQDN 規則を使わない場合、Azure Firewall については課金されません。 価格の詳細については、「Azure Firewall の価格」を参照してください。