次の方法で共有


チュートリアル: Azure Virtual Network を使用してセキュリティで保護されたワークスペースを作成する方法

この記事では、セキュリティで保護された Azure Machine Learning ワークスペースを作成して接続する方法について説明します。 この記事の手順では、Azure Virtual Network を使用して、Azure Machine Learning で使用されるリソースの周囲にセキュリティ境界を作成します。

重要

Azure Virtual Network ではなく、Azure Machine Learning マネージド仮想ネットワークを使用することをおすすめします。 マネージド仮想ネットワークを使用するこのチュートリアルのバージョンについては、「チュートリアル: マネージド仮想ネットワークを使用してセキュリティで保護されたワークスペースを作成する」を参照してください。

このチュートリアルでは、以下のタスクを実行します。

  • 仮想ネットワーク 内のサービス間の通信をセキュリティで保護するために Azure Virtual Network (VNet) を作成します。
  • VNet の背後に Azure ストレージ アカウント (BLOB とファイル) を作成します。 このサービスは、ワークスペースの既定のストレージとして使用されます。
  • VNet の背後に Azure Key Vault を作成します。 このサービスは、ワークスペースで使用されるシークレットを格納するために使用されます。 たとえば、ストレージ アカウントにアクセスするために必要なセキュリティ情報などです。
  • Azure Container Registry (ACR) を作成します。 このサービスは、Docker イメージのリポジトリとして使用されます。 Docker イメージは、機械学習モデルをトレーニングするときや、トレーニング済みのモデルをエンドポイントとしてデプロイするときに必要なコンピューティング環境を提供します
  • Azure Machine Learning ワークスペースを作成します。
  • ジャンプ ボックスを作成します。 ジャンプ ボックスは、VNet の背後にある Azure 仮想マシンです。 VNet ではパブリック インターネットからのアクセスが制限されるため、VNet の背後にあるリソースに接続する方法としてジャンプ ボックスが使用されます
  • VNet の背後で動作するように Azure Machine Learning スタジオを構成します。 スタジオには、Azure Machine Learning 用の Web インターフェイスが用意されています。
  • Azure Machine Learning コンピューティング クラスターを作成する。 コンピューティング クラスターは、クラウドで機械学習モデルをトレーニングするときに使用されます。 これは、Azure Container Registry が VNet の背後にある構成では、Docker イメージのビルドにも使用されます。
  • ジャンプ ボックスに接続し、Azure Machine Learning スタジオを使用します。

ヒント

安全なワークスペースを作成する方法を示すテンプレートをお探しの場合は、Bicep テンプレートまたは Terraform テンプレートを参照してください。

このチュートリアルを完了すると、次のアーキテクチャが得られます。

  • 次の 3 つのサブネットを含む Azure Virtual Network。
    • Training: モデルのトレーニングに使用される Azure Machine Learning ワークスペース、依存サービス、リソースが含まれます。
    • スコアリング: このチュートリアルの手順では、使用されません。 ただし、他のチュートリアルでこのワークスペースを引き続き使用する場合は、エンドポイントにモデルをデプロイするときにこのサブネットを使用することをお勧めします。
    • AzureBastionSubnet: クライアントを Azure 仮想マシンに安全に接続するために Azure Bastion サービスによって使用されます。
  • 仮想ネットワークを使用した通信にプライベート エンドポイントを使用する Azure Machine Learning ワークスペース。
  • プライベート エンドポイントを使用して、BLOB やファイルなどのストレージ サービスが仮想ネットワークを通して通信できるようにする Azure Storage アカウント。
  • 仮想ネットワークを使用した通信にプライベート エンドポイントを使用する Azure コンテナー レジストリ。
  • Azure Bastion。ブラウザーを使用して、仮想ネットワーク内のジャンプ ボックス VM と安全に通信できます。
  • 仮想ネットワーク内でセキュリティ保護されたリソースにリモートで接続してアクセスできる Azure 仮想マシン。
  • Azure Machine Learning コンピューティング インスタンスおよびコンピューティング クラスター。

ヒント

図に示されている Azure Batch サービスは、コンピューティング クラスターとコンピューティング インスタンスに必要なバックエンド サービスです。

このチュートリアルで作成した最終的なアーキテクチャの図。

前提条件

  • Azure 仮想ネットワークと IP ネットワークについて熟知している。 熟知していない場合は、コンピューター ネットワークの基礎モジュールをお試しください。
  • この記事のほとんどの手順では Azure portal または Azure Machine Learning スタジオを使用しますが、一部の手順では Machine Learning v2 用の Azure CLI 拡張機能を使用します。

仮想ネットワークの作成

仮想ネットワークを作成するには、次の手順を使用します。

  1. Azure portal で、左上隅にあるポータル メニューを選択します。 メニューで [+ リソースの作成] を選択し、検索フィールドに「Virtual Network」と入力します。 「仮想ネットワーク」エントリを選択し、 [作成] を選択します。

    仮想ネットワークが選択された、リソース検索フォームのスクリーンショット。

    仮想ネットワーク作成フォームのスクリーンショット。

  2. [基本] タブで、このリソースに使用する Azure サブスクリプションを選択し、リソース グループを選択するか、新規に作成します。 [インスタンスの詳細] で、仮想ネットワークのわかりやすい名前を入力し、それを作成するリージョンを選択します。

    基本的な仮想ネットワーク構成フォームのスクリーンショット。

  3. [セキュリティ] を選択します。 "Azure Bastion を有効にする" を選択します。 Azure Bastion により、後の手順で仮想ネットワーク内に作成する VM ジャンプ ボックスに安全にアクセスする方法が提供されます。 残りのフィールドには、次の値を使用します。

    • Bastion 名: この Bastion インスタンスの一意の名前
    • パブリック IP アドレス: 新しいパブリック IP アドレスを作成します。

    他のフィールドは既定値のままにします。

    Bastion の構成のスクリーンショット。

  4. [IP アドレス] を選択します。 既定の設定は、次の画像のようになります。

    既定の IP アドレス フォームのスクリーンショット。

    次の手順を使用して、IP アドレスを構成し、リソースのトレーニングとスコアリング用のサブネットを構成します。

    ヒント

    すべての Azure Machine Learning リソースに 1 つのサブネットを使用できますが、この記事の手順では、トレーニングとスコアリングのリソースを分けるために 2 つのサブネットを作成する方法を示します。

    ワークスペースと他の依存関係サービスは、トレーニングのサブネットに入ります。 これらは、スコアリングのサブネットなど、他のサブネット内のリソースでも使用できます。

    1. [IPv4 アドレス空間] の既定値を見てください。 スクリーンショットの値は 172.16.0.0/16 です。 値は、人によって異なる可能性があります。 別の値を使用できますが、このチュートリアルの残りの手順は 172.16.0.0/16 の値に基づいています。

      警告

      VNet の IP アドレス範囲に 172.17.0.0/16 を使用しないでください。 これは Docker ブリッジ ネットワークで使用される既定のサブネット範囲であり、VNet に使用するとエラーが発生します。 仮想ネットワークに接続する内容によっては、他の範囲も競合する可能性があります。 たとえば、オンプレミス ネットワークを VNet に接続する予定で、オンプレミス ネットワークでも 172.16.0.0/16 の範囲が使用されている場合です。 最終的には、ネットワーク インフラストラクチャーを計画するのはユーザーの責任です。

    2. default サブネットを選択してから、[編集] アイコンを選択します。

      既定のサブネットの [編集] アイコンを選択しているスクリーンショット。

    3. サブネットの名前Training に変更します。 その他の値は既定の設定のままにし、[保存] を選択して変更を保存します。

    4. モデルの "スコアリング" に使用するコンピューティング リソース用のサブネットを作成するために、[+ サブネットの追加] を選択し、名前とアドレス範囲を設定します。

      • サブネット名: Scoring
      • 開始アドレス: 172.16.2.0
      • サブネット サイズ: /24 (256 アドレス)

      スコアリング サブネットのスクリーンショット。

    5. [追加] を選択してサブネットを追加します。

  5. [Review + create](レビュー + 作成) を選択します。

    [確認と作成] ボタンのスクリーンショット。

  6. 情報が正しいことを確認し、 [作成] を選択します。

    [仮想ネットワークの確認と作成] ページのスクリーンショット。

ストレージ アカウントの作成

  1. Azure portal で、左上隅にあるポータル メニューを選択します。 メニューで [+ リソースの作成] を選択し、「Storage account」と入力します。 [ストレージ アカウント] エントリを選択し、 [作成] を選択します。

  2. [基本] タブで、仮想ネットワークに対して前に使用したサブスクリプションリソース グループ、およびリージョンを選択します。 一意のストレージ アカウント名入力し、 [冗長性][ローカル冗長ストレージ (LRS)] に設定します。

    ストレージ アカウントの基本構成のスクリーンショット。

  3. [ネットワーク] タブで、[パブリック アクセスの無効化] を選択してから、[+ プライベート エンドポイントを追加する] を選択します。

    BLOB プライベート ネットワークを追加するフォームのスクリーンショット。

  4. [プライベート エンドポイントの作成] フォームで、次の値を使用します。

    • サブスクリプション: 前のリソースを含むものと同じ Azure サブスクリプション。
    • リソース グループ: 前のリソースを含むものと同じ Azure リソース グループ。
    • 場所: 前のリソースを含むものと同じ Azure リージョン。
    • 名前: このプライベート エンドポイントの一意の名前。
    • 対象サブリソース: BLOB
    • 仮想ネットワーク: 前に作成した仮想ネットワーク。
    • サブネット: Training (172.16.0.0/24)
    • プライベート DNS 統合: はい
    • プライベート DNS ゾーン: privatelink.blob.core.windows.net

    [追加] を選択して、プライベート エンドポイントを作成します。

  5. [確認と作成] を選択します。 情報が正しいことを確認し、 [作成] を選択します。

  6. ストレージ アカウントの作成後、[リソースに移動] を選択します。

    [新しいストレージ リソースに移動] ボタンのスクリーンショット。

  7. 左側のナビゲーションで [ネットワーク] を選択して、 [プライベート エンドポイント接続] タブを選択し、 [+ プライベート エンドポイント] を選択します。

    注意

    前の手順で BLOB ストレージ用のプライベート エンドポイントを作成しましたが、ファイル ストレージ用にも 1 つ作成する必要があります。

    ストレージ アカウント ネットワーク フォームのスクリーンショット。

  8. [プライベート エンドポイントの作成] フォームで、前のリソースに使用したものと同じサブスクリプションリソース グループ、およびリージョンを使用します。 一意の名前を入力します。

    ファイルのプライベート エンドポイント追加時の基本フォームのスクリーンショット。

  9. [次へ: リソース] を選択し、 [対象サブリソース][ファイル] に設定します。

    'file' のサブリソース選択時のリソース フォームのスクリーンショット。

  10. [次: 仮想ネットワーク] を選択し、次の値を使用します。

    • 仮想ネットワーク: 前に作成した仮想ネットワーク
    • サブネット: Training

    ファイルのプライベート エンドポイント追加時の構成フォームのスクリーンショット。

  11. [確認および作成] が表示されるまで、既定値を選択しながらタブを先に進みます。 情報が正しいことを確認し、 [作成] を選択します。

ヒント

ParallelRunStep を使用するバッチ エンドポイントまたは Azure Machine Learning パイプラインを使用する予定の場合は、プライベート エンドポイントのターゲット キューテーブル サブリソースも構成する必要があります。 ParallelRunStep は、タスクのスケジュール設定とディスパッチのために、キューとテーブルを内部的に使用します。

Key Vault を作成します

  1. Azure portal で、左上隅にあるポータル メニューを選択します。 メニューで [+ リソースの作成] を選択し、「Key Vault」と入力します。 [Key Vault] エントリを選択し、 [作成] を選択します。

  2. [基本] タブで、仮想ネットワークに対して前に使用したサブスクリプションリソース グループ、およびリージョンを選択します。 一意のキー コンテナー名を入力します。 他のフィールドは既定値のままにします。

    新しいキー コンテナー作成時の基本フォームのスクリーンショット。

  3. [ネットワーク] タブで、[パブリック アクセスの有効化] の選択を解除してから、[+ プライベート エンドポイントを作成する] を選択します。

    キー コンテナーのプライベート エンドポイント追加t時のネットワーク フォームのスクリーンショット。

  4. [プライベート エンドポイントの作成] フォームで、次の値を使用します。

    • サブスクリプション: 前のリソースを含むものと同じ Azure サブスクリプション。
    • リソース グループ: 前のリソースを含むものと同じ Azure リソース グループ。
    • 場所: 前のリソースを含むものと同じ Azure リージョン。
    • 名前: このプライベート エンドポイントの一意の名前。
    • 対象サブリソース: ボールト
    • 仮想ネットワーク: 前に作成した仮想ネットワーク。
    • サブネット: Training (172.16.0.0/24)
    • プライベート DNS 統合を有効にする: はい
    • プライベート DNS ゾーン: 仮想ネットワークとキー コンテナーを含むリソース グループを選択します。

    [追加] を選択して、プライベート エンドポイントを作成します。

    キー コンテナー プライベート エンドポイント構成フォームのスクリーンショット。

  5. [確認と作成] を選択します。 情報が正しいことを確認し、 [作成] を選択します。

コンテナー レジストリを作成する

  1. Azure portal で、左上隅にあるポータル メニューを選択します。 メニューで [+ リソースの作成] を選択し、「Container Registry」と入力します。 [Container Registry] エントリを選択し、 [作成] を選択します。

  2. [基本] タブで、仮想ネットワークに対して前に使用したサブスクリプションリソース グループ、および場所を選択します。 一意のレジストリ名を入力し、 [SKU][Premium] に設定します。

    コンテナー レジストリ作成時の基本フォームのスクリーンショット。

  3. [ネットワーク] タブで [プライベート エンドポイント] を選択し、 [+ 追加] を選択します。

    コンテナー レジストリ プライベート エンドポイント追加時のネットワーク フォームのスクリーンショット。

  4. [プライベート エンドポイントの作成] フォームで、次の値を使用します。

    • サブスクリプション: 前のリソースを含むものと同じ Azure サブスクリプション。
    • リソース グループ: 前のリソースを含むものと同じ Azure リソース グループ。
    • 場所: 前のリソースを含むものと同じ Azure リージョン。
    • 名前: このプライベート エンドポイントの一意の名前。
    • 対象サブリソース: registry (レジストリ)
    • 仮想ネットワーク: 前に作成した仮想ネットワーク。
    • サブネット: Training (172.16.0.0/24)
    • プライベート DNS 統合: はい
    • リソース グループ: 仮想ネットワークとコンテナー レジストリを含むリソース グループを選択します。

    [追加] を選択して、プライベート エンドポイントを作成します。

    コンテナー レジストリのプライベート エンドポイントの構成フォームのスクリーンショット。

  5. [確認と作成] を選択します。 情報が正しいことを確認し、 [作成] を選択します。

  6. コンテナー レジストリが作成されたら、[リソースに移動] を選択します。

    [リソースに移動] ボタンのスクリーンショット。

  7. ページの左側で、 [アクセス キー] を選択し、 [管理者ユーザー] を有効にします。 この設定は、仮想ネットワーク内で Azure Container Registry を Azure Machine Learning と共に使用する場合に必要です。

    コンテナー レジストリ アクセス キー フォーム ([管理ユーザー] オプションが有効化されている) のスクリーンショット。

ワークスペースの作成

  1. Azure portal で、左上隅にあるポータル メニューを選択します。 メニューで [+ リソースの作成] を選択し、「Machine Learning」と入力します。 [Machine Learning] エントリを選択し、 [作成] を選択します。

    Azure Machine Learning の作成ページのスクリーンショット。

  2. [基本] タブで、仮想ネットワークに対して前に使用したサブスクリプションリソース グループ、およびリージョンを選択します。 その他のフィールドには次の値を使用します。

    • 名前: ワークスペースの一意の名前。
    • ストレージ アカウント: 前に作成したストレージ アカウントを選択します。
    • キー コンテナー: 前に作成したキー コンテナーを選択します。
    • Application Insights: 既定値を使用します。
    • コンテナー レジストリ: 前に作成したコンテナー レジストリを使用します。

    基本ワークスペース構成フォームのスクリーンショット。

  3. [ネットワーク] タブで、[Private with Internet Outbound] (インターネット アウトバウンドに関してプライベート) を選びます。 [ワークスペース受信アクセス] セクションで、[+ 追加] を選択します。

  4. [プライベート エンドポイントの作成] フォームで、次の値を使用します。

    • サブスクリプション: 前のリソースを含むものと同じ Azure サブスクリプション。
    • リソース グループ: 前のリソースを含むものと同じ Azure リソース グループ。
    • 場所: 前のリソースを含むものと同じ Azure リージョン。
    • 名前: このプライベート エンドポイントの一意の名前。
    • 対象サブリソース: amlworkspace
    • 仮想ネットワーク: 前に作成した仮想ネットワーク。
    • サブネット: Training (172.16.0.0/24)
    • プライベート DNS 統合: はい
    • プライベート DNS ゾーン: 2 つのプライベート DNS ゾーンは、既定値の privatelink.api.azureml.msprivatelink.notebooks.azure.net のままにします。

    [OK] を選択して、プライベート エンドポイントを作成します。

    ワークスペース プライベート ネットワーク構成フォームのスクリーンショット。

  5. [ネットワーク] タブの [Workspace outbound access] (ワークスペース アウトバウンド アクセス) セクションで、[Use my own virtual network] (独自の仮想ネットワークを使用する) を選びます。

  6. [確認と作成] を選択します。 情報が正しいことを確認し、 [作成] を選択します。

  7. ワークスペースが作成されたら、[リソースに移動] を選択します。

  8. 左側の [設定] セクションで [ネットワーク] を選択し、[プライベート エンドポイント接続] を選択してから、[プライベート エンドポイント] 列のリンクを選択します。

    ワークスペースのプライベート エンドポイント接続のスクリーンショット。

  9. プライベート エンドポイント情報が表示されたら、ページの左側にある [DNS の構成] を選択します。 このページの IP アドレスと完全修飾ドメイン名 (FQDN) の情報を保存します。

    ワークスペースの IP および FQDN エントリのスクリーンショット。

重要

ワークスペースを完全に使用するには、まだいくつかの構成手順が必要です。 ただし、これらを行うには、ワークスペースに接続する必要があります。

スタジオを有効にする

Azure Machine Learning スタジオは Web ベースのアプリケーションであり、これを使用すると、ワークスペースを簡単に管理できます。 ただし、仮想ネットワーク内のセキュリティで保護されたリソースで使用するには、追加の構成が必要です。 次の手順を使用してスタジオを有効にします。

  1. プライベート エンドポイントが設定された Azure Storage アカウントを使用する場合は、ストレージのプライベート エンドポイントの [閲覧者] としてワークスペースのサービス プリンシパルを追加します。 Azure portal で、ご自分のストレージ アカウントを選択し、 [ネットワーク] を選択します。 次に、 [プライベート エンドポイント接続] を選択します。

    ストレージ プライベート エンドポイント接続のスクリーンショット。

  2. 表示された各プライベート エンドポイントに対して、次の手順を使用します。

    1. [プライベート エンドポイント] 列のリンクを選択します。

      プライベート エンドポイント列のエンドポイント リンクのスクリーンショット。

    2. 左側から [アクセス制御 (IAM)] を選択します。

    3. [+ 追加][ロールの割り当ての追加 (プレビュー)] の順に選択します。

      [ロールの割り当ての追加] メニューが開いている [アクセス制御 (IAM)] ページ。

    4. [ロール] タブで、 [閲覧者] を選択します。

      [ロール] タブが選択された [ロールの割り当ての追加] ページ。

    5. [メンバー] タブで、 [アクセスの割り当て先] 領域で [ユーザー、グループ、またはサービス プリンシパル] を選択し、 [+ Select members](メンバーの選択) を選択します。 [Select members](メンバーの選択) ダイアログで、Azure Machine Learning ワークスペースとしての名前を入力します。 ワークスペースのサービス プリンシパルを選択し、 [選択] ボタンを使用します。

    6. [確認と 割り当て] タブで、 [確認と割り当て] を選択して ロールを割り当てます。

Azure Monitor と Application Insights をセキュリティで保護する

注意

Azure Monitor と Application Insights のセキュリティ保護の詳細については、次のリンクを参照してください。

  1. Azure portal[ホーム] を選択し、「プライベート リンク」を検索します。 [Azure Monitor Private Link スコープ] の結果を選択し、[作成] を選択します。

  2. [基本] タブで、Azure Machine Learning ワークスペースと同じ [サブスクリプション][リソース グループ]、および [リソース グループリージョン] を選択します。 インスタンスの [名前] を入力し、[確認と作成] を選択します。 インスタンスを作成するには、[作成] を選択します。

  3. Azure Monitor Private Link スコープのインスタンスが作成されたら、Azure portal でインスタンスを選択します。 [構成] セクションで、[Azure Monitor リソース] を選択し、[+ 追加] を選択します。

    追加ボタンのスクリーンショット。

  4. [スコープの選択] で、フィルターを使用して、使用する Azure Machine Learning ワークスペース向けの Application Insights インスタンスを選択します。 [適用] を選択してインスタンスを追加します。

  5. [構成] セクションで、[プライベート エンドポイント接続] を選択してから [+ プライベート エンドポイント] を選択します。

    プライベート エンドポイントの追加ボタンのスクリーンショット。

  6. 使用する仮想ネットワークを含むものと同じ [サブスクリプション][リソース グループ][リージョン] を選択します。 [Next:リソース] を選択します。

    Azure Monitor プライベート エンドポイントの基本設定のスクリーンショット。

  7. [リソースの種類] として Microsoft.insights/privateLinkScopes を選択します。 前に作成した Private Link スコープを [リソース] として選択します。 [ターゲット サブリソース] として、azuremonitor を選択します。 最後に、[次へ: Virtual Network] を選択して続行します。

    Azure Monitor プライベート エンドポイント リソースのスクリーンショット。

  8. 前に作成した [仮想ネットワーク]、および [トレーニング] サブネットを選択します。 [確認と作成] が表示されるまで [次へ] を選択します。 [作成] を選択してプライベート エンドポイントを作成します。

    Azure Monitor プライベート エンドポイント ネットワークのスクリーンショット。

  9. プライベート エンドポイントが作成されたら、ポータルで [Azure Monitor Private Link スコープ] リソースに戻ります。 [構成] セクションで、[アクセス モード] を選択します。 [インジェスト アクセス モード][クエリ アクセス モード][プライベートのみ] を選択し、[保存] を選択します。

    プライベート リンク スコープのアクセス モードのスクリーンショット。

ワークスペースに接続する

セキュリティで保護されたワークスペースに接続するには、いくつかの方法があります。 この記事の手順では、仮想ネットワーク内の仮想マシンであるジャンプ ボックスを使用します。 これに接続するには、Web ブラウザーと Azure Bastion を使用します。 次の表に、セキュリティで保護されたワークスペースに接続できるその他の方法をいくつか示します。

方法 説明
Azure VPN Gateway オンプレミスのネットワークをプライベート接続を介して仮想ネットワークに接続します。 接続は、パブリック インターネットを介して行われます。
ExpressRoute オンプレミスのネットワークをプライベート接続を介してクラウドに接続します。 接続は、接続プロバイダーを使用して行われます。

重要

VPN ゲートウェイまたは ExpressRoute を使用する場合は、オンプレミスのリソースと VNet 内のリソース間での名前解決の仕組みを計画する必要があります。 詳細については、カスタム DNS サーバーの使用に関する記事を参照してください。

ジャンプ ボックス (VM) を作成する

次の手順を使用して、ジャンプ ボックスとして使用する Azure 仮想マシンを作成します。 Azure Bastion を使用すると、ブラウザーを使用して VM デスクトップに接続できます。 VM デスクトップから、VM 上のブラウザーを使用して、仮想ネットワーク内のリソース (Azure Machine Learning スタジオなど) に接続できます。 また、VM に開発ツールをインストールすることもできます。

ヒント

次の手順では、Windows 11 Enterprise VM を作成します。 要件に応じて、別の VM イメージを選択できます。 Windows 11 (または 10) Enterprise イメージは、VM を組織のドメインに参加させる必要がある場合に便利です。

  1. Azure portal で、左上隅にあるポータル メニューを選択します。 メニューで [+ リソースの作成] を選択し、「Virtual Machine」と入力します。 [Virtual Machine] エントリを選択し、[作成] を選択します。

  2. [基本] タブで、仮想ネットワークに対して前に使用したサブスクリプションリソース グループ、およびリージョンを選択します。 次のフィールドの値を指定します。

    • 仮想マシン名: VM の一意の名前。

    • ユーザー名: VM へのサインインに使用するユーザー名。

    • パスワード: そのユーザー名のパスワード。

    • セキュリティの種類: 標準。

    • イメージ: Windows 11 Enterprise。

      ヒント

      Windows 11 Enterprise がイメージ選択の一覧にない場合は、[すべてのイメージを表示] を使用します。 [Microsoft] から [Windows 11] エントリを見つけ、[選択] ドロップダウンを使用して Enterprise イメージを選択します。

    他のフィールドは既定値のままで構いません。

    仮想ネットワークの基本構成のスクリーンショット。

  3. [ネットワーク] を選択し、前に作成した仮想ネットワークを選択します。 次の情報を使用して、残りのフィールドを設定します。

    • [Training] サブネットを選択します。
    • [パブリック IP][なし] に設定します。
    • 他のフィールドは既定値のままにします。

    仮想マシン ネットワーク構成のスクリーンショット。

  4. [確認と作成] を選択します。 情報が正しいことを確認し、 [作成] を選択します。

ジャンプ ボックスに接続する

  1. 仮想マシンが作成されたら、[リソースに移動] を選択します。

  2. ページの上部で、[接続][Bastion 経由で接続] の順に選択します。

    `Bastion` が選択された `connect` リストのスクリーンショット。

  3. 仮想マシンの認証情報を指定すると、ブラウザーで接続が確立されます。

コンピューティング クラスターとコンピューティング インスタンスを作成する

コンピューティング インスタンスは、ワークスペースに接続された共有コンピューティング リソースに対して Jupyter Notebook エクスペリエンスを提供します。

  1. ジャンプ ボックスへの Azure Bastion 接続から、リモート デスクトップで Microsoft Edge ブラウザーを開きます。

  2. リモート ブラウザー セッションで、 https://ml.azure.com に移動します。 ダイアログが表示されたら、ご自分の Microsoft Entra アカウントを使用して認証します。

  3. [Welcome to studio!](スタジオへようこそ) 画面で、前に作成した Machine Learning ワークスペースを選択し、[作業の開始] を選択します。

    ヒント

    お使いの Microsoft Entra アカウントが複数のサブスクリプションまたはディレクトリにアクセスできる場合は、[ディレクトリとサブスクリプション] ドロップダウンを使用して、ワークスペースを含むものを選択します。

    Machine Learning ワークスペースの選択フォームのスクリーンショット。

  4. スタジオで、 [コンピューティング] 、 [Compute clusters](コンピューティング クラスター) 、 [+ 新規] の順に選択します。

    [新規] ボタンが選択された [コンピューティング クラスター] ページのスクリーンショット。

  5. [仮想マシン] ダイアログで [次へ] を選択して、既定の仮想マシン構成を受け入れます。

    コンピューティング クラスター仮想マシン構成のスクリーンショット。

  6. [設定の構成] ダイアログで、 [コンピューティング名] として「cpu-cluster」と入力します。 [サブネット] を [Training] に設定し、 [作成] を選択してクラスターを作成します。

    ヒント

    コンピューティング クラスターは、必要に応じてクラスター内のノードを動的にスケーリングします。 クラスターが使用されていないときにコストを削減するために、最小ノード数を 0 のままにすることをお勧めします。

    構成設定フォームのスクリーンショット。

  7. スタジオで、 [コンピューティング][Compute instances](コンピューティング インスタンス)[+ 新規] の順に選択します。

    [新規] ボタンが選択された [コンピューティング インスタンス] ページのスクリーンショット。

  8. 必須の設定で、一意のコンピューター名を入力して、[次へ] を選択します。

    コンピューティング インスタンス仮想マシン構成のスクリーンショット。

  9. [セキュリティ] ダイアログが表示されるまで [次へ] の選択を続け、[仮想ネットワーク] を選択して、[サブネット]Training に設定します。 [確認および作成] を選択し、次に [作成] を選択します。

    詳細設定のスクリーンショット。

ヒント

コンピューティング クラスターまたはコンピューティング インスタンスを作成すると、Azure Machine Learning によってネットワーク セキュリティ グループ (NSG) が動的に追加されます。 この NSG には、コンピューティング クラスターとコンピューティング インスタンスに固有の次のルールが含まれています。

  • BatchNodeManagement サービス タグからのポート 29876 から 29877 での受信 TCP トラフィックを許可します。
  • AzureMachineLearning サービス タグからのポート 44224 での受信 TCP トラフィックを許可します。

次のスクリーンショットは、これらのルールの例を示しています。

NSG のスクリーンショット

コンピューティング クラスターとコンピューティング インスタンスの作成方法 (Python と CLI での実施方法を含む) の詳細については、次の記事を参照してください。

イメージのビルドを構成する

適用対象: Azure CLI ml 拡張機 v2 (現行)

Azure Container Registry が仮想ネットワークの背後にある場合、Azure Machine Learning はそれを使用して Docker イメージ (トレーニングとデプロイに使用) を直接ビルドすることはできません。 代わりに、前に作成したコンピューティング クラスターを使用するようにワークスペースを構成します。 次の手順を使用して、コンピューティング クラスターを作成し、それを使用してイメージをビルドするようにワークスペースを構成します。

  1. https://shell.azure.com/ にアクセスして、Azure Cloud Shell を開きます。

  2. Cloud Shell から、次のコマンドを使用して、Azure Machine Learning 用の 2.0 CLI をインストールします。

    az extension add -n ml
    
  3. コンピューティング クラスターを使用して Docker イメージをビルドするようにワークスペースを更新します。 docs-ml-rg は、お使いのリソース グループに置き換えます。 docs-ml-ws は、お使いのワークスペースに置き換えます。 cpu-cluster は、コンピューティング クラスター名に置き換えます。

    az ml workspace update \
      -n docs-ml-ws \
      -g docs-ml-rg \
      -i cpu-cluster
    

    Note

    同じコンピューティング クラスターを使用して、モデルをトレーニングし、ワークスペースの Docker イメージをビルドできます。

ワークスペースの使用

重要

この記事の手順では、Azure Container Registry を VNet の背後に配置します。 この構成では、VNet 内の Azure Container Instances にモデルをデプロイすることはできません。 仮想ネットワークで Azure Machine Learning と共に Azure Container Instances を使用することはお勧めしません。 詳細については、推論環境のセキュリティ保護 (SDK/CLI v1) に関するページを参照してください。

Azure Container Instances の代わりに、Azure Machine Learning マネージド オンライン エンドポイントを試してみてください。 詳細については、「マネージド オンライン エンドポイントのネットワークの分離を有効にする」を参照してください。

この時点で、スタジオを使用して、コンピューティング インスタンスでノートブックを対話的に操作し、コンピューティング クラスターでトレーニング ジョブを実行できます。 コンピューティング インスタンスとコンピューティング クラスターの使用に関するチュートリアルについては、「チュートリアル: 1 日での Azure Machine Learning」 を参照してください。

コンピューティング インスタンスとジャンプ ボックスを停止する

警告

コンピューティング インスタンスとジャンプ ボックスは、実行している間 (開始済み)、サブスクリプションに課金され続けます。 過剰なコストを回避するため、それらを使用していない場合は停止してください。

コンピューティング クラスターは、作成時に設定したノードの最小数と最大数の間で動的にスケーリングします。 既定値をそのまま使用した場合、最小値は 0 です。これにより、クラスターが使用されていないときには実質的にオフになります。

コンピューティング インスタンスの停止

スタジオで、 [コンピューティング][Compute clusters](コンピューティング クラスター) の順に選択し、コンピューティング インスタンスを選択します。 最後に、ページの上部で [停止] を選択します。

コンピューティング インスタンスの [停止] ボタンのスクリーンショット。

ジャンプ ボックスを停止する

一度作成した後は、Azure portal でその仮想マシンを選択し、[停止] ボタンを使用します。 再びこれを使用する準備ができたら、[開始] ボタンを使用して開始します。

ジャンプ ボックス仮想マシンの [停止] ボタンのスクリーンショット。

また、ジャンプボックスを、特定の時刻に自動的にシャットダウンするように構成することもできます。 そのためには、 [自動シャットダウン][有効化] を選択し、時刻を設定してから、 [保存] を選択します。

自動シャットダウン オプションのスクリーンショット。

リソースをクリーンアップする

セキュリティで保護されたワークスペースおよびその他のリソースを引き続き使用する予定の場合は、このセクションをスキップしてください。

このチュートリアルで作成したすべてのリソースを削除するには、次の手順を使用します。

  1. Azure Portal で、左端にある [リソース グループ] を選択します。

  2. 一覧から、このチュートリアルで作成したリソース グループを選択します。

  3. [リソース グループの削除] を選択します。

    リソース グループ リンク削除のスクリーンショット。

  4. リソース グループ名を入力し、 [削除] を選択します。

次のステップ

セキュリティで保護されたワークスペースが存在し、スタジオにアクセスできるようになったので、ネットワーク分離を使用したオンライン エンドポイントにモデルをデプロイする方法について学習してください。

セキュリティで保護されたワークスペースを作成したので、モデルをデプロイする方法について学習してください。