テンプレートを使用してセキュリティで保護されたワークスペースを作成する方法

テンプレートを使用すると、便利な方法で再現可能なサービスのデプロイを作成できます。 テンプレートでは、テンプレートを使用するときに提供する情報により、作成するものを定義します。 たとえば、Azure Machine Learning ワークスペースに一意の名前を指定します。

このチュートリアルでは、Microsoft Bicep および Hashicorp Terraform テンプレートを使用して、以下の Azure リソースを作成する方法について説明します。

  • Azure Virtual Network。 次のリソースは、この VNet の背後でセキュリティ保護されています。
    • Azure Machine Learning ワークスペース
      • Azure Machine Learning コンピューティング インスタンス
      • Azure Machine Learning コンピューティング クラスター
    • Azure Storage アカウント
    • Azure Key Vault
    • Azure Application Insights
    • Azure Container Registry
    • Azure Bastion ホスト
    • Azure Machine Learning 仮想マシン (Data Science Virtual Machine)
    • Bicep テンプレートでは、Azure Kubernetes Service クラスターと、そのクラスター用の別のリソース グループも作成されます。

前提条件

この記事の手順を実行する前に、Azure サブスクリプションが必要です。 Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください。

また、Bash または Azure PowerShell のいずれかのコマンドラインも必要です。

ヒント

この記事を読むときは、各セクションのタブを使用して、Bicep またはTerraform テンプレートの使用に関する情報を表示するかどうかを選択します。

  1. コマンドライン ツールをインストールするには、Bicep の開発およびデプロイ環境のセットアップに関する記事を参照してください。

  2. この記事で使用されている Bicep テンプレートは、https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure にあります。 次のコマンドを使用して、GitHub リポジトリを開発環境に複製します。

    ヒント

    開発環境に git コマンドがない場合は、https://git-scm.com/ からインストールできます。

    git clone https://github.com/Azure/azure-quickstart-templates
    cd azure-quickstart-templates/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure
    

テンプレートについて

Bicep テンプレートは、main.bicepmodules サブディレクトリ内の .bicep ファイルで構成されています。 次の表では、各ファイルの役割について説明します。

ファイル 説明
main.bicep パラメーターと変数。 modules サブディレクトリ内の他のモジュールにパラメーターと変数を渡します。
vnet.bicep Azure Virtual Network とサブネットを定義します。
nsg.bicep VNet のネットワーク セキュリティ グループの規則を定義します。
bastion.bicep Azure Bastion ホストとサブネットを定義します。 Azure Bastion を使用すると、Web ブラウザーを使用して VNet 内の VM に簡単にアクセスできます。
dsvmjumpbox.bicep Data Science Virtual Machine (DSVM) を定義します。 Azure Bastion は、Web ブラウザーからこの VM にアクセスするために使用されます。
storage.bicep 既定のストレージとしてワークスペースで使用される Azure Storage アカウントを定義します。
keyvault.bicep ワークスペースで使用される Azure Key Vault を定義します。
containerregistry.bicep ワークスペースで使用される Azure Container Registry を定義します。
applicationinsights.bicep ワークスペースで使用される Azure Application Insights を定義します。
machinelearningnetworking.bicep Azure Machine Learning ワークスペースのプライベート エンドポイントと DNS ゾーンを定義します。
Machinelearning.bicep Azure Machine Learning ワークスペースを定義します。
machinelearningcompute.bicep Azure Machine Learning コンピューティング クラスターおよびコンピューティング インスタンスを定義します。
privateaks.bicep Azure Kubernetes Services クラスター インスタンスを定義します。

重要

このチュートリアルでは、DSVM と Azure Bastion は、セキュリティで保護されたワークスペースに簡単に接続する方法として使用されます。 運用環境では、Azure VPN ゲートウェイまたは Azure ExpressRoute を使用して、オンプレミス ネットワークから VNet 内のリソースに直接アクセスすることをお勧めします。

テンプレートを構成する

Bicep テンプレートを実行するには、main.bicep ファイルがある machine-learning-end-to-end-secure から次のコマンドを使用します。

  1. 新しい Azure リソース グループを作成するには、次のコマンドを使用します。 exampleRG をリソース グループ名に置き換え、eastus を使用する Azure リージョンに置き換えます。

    az group create --name exampleRG --location eastus
    
  2. テンプレートを実行するには、次のコマンドを使用します。

    az deployment group create \
        --resource-group exampleRG \
        --template-file main.bicep \
        --parameters \
        prefix=myprefix \
        dsvmJumpboxUsername=azureadmin \
        dsvmJumpboxPassword=securepassword
    

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

テンプレートの処理が完了したら、次の手順を実行して DSVM に接続します。

  1. Azure portal から、テンプレートで使用した Azure リソース グループを選択します。 次に、テンプレートによって作成された Data Science Virtual Machine を選択します。 見つけられない場合は、[フィルター] セクションを使用して、[タイプ][仮想マシン] のフィルターを適用します。

    Screenshot of filtering and selecting the vm.

  2. 仮想マシンの [Overview](概要) セクションで [Connect](接続) を選択し、ドロップダウンから [Bastion] を選択します。

    Screenshot of selecting to connect using Bastion.

  3. 入力を求められたら、テンプレートの構成時に指定したユーザー名パスワードを入力し、[Connect](接続) を選択します。

    重要

    DSVM デスクトップに初めて接続すると、PowerShell ウィンドウが開き、スクリプトの実行が開始されます。 完了するまで待ったら、次の手順に進みます。

  4. DSVM デスクトップから、Microsoft Edge を起動し、アドレスとして https://ml.azure.com を入力します。 Azure サブスクリプションにサインインして、テンプレートで作成されたワークスペースを選択します。 ワークスペースのスタジオが表示されます。

次のステップ

重要

この Data Science Virtual Machine (DSVM) とコンピューティング インスタンス リソースでは、実行されている 1 時間ごとに料金が請求されます。 余分な料金を回避するには、これらのリソースが使用されていないときに停止する必要があります。 詳細については、次の記事を参照してください。

引き続き DSVM からセキュリティで保護されたワークスペースを使用する方法を学習するには、「チュートリアル: Azure Machine Learning で Python スクリプトの使用を開始する」を参照してください。

セキュリティで保護されたワークスペースの一般的な構成と入出力要件の詳細については、Azure Machine Learning のセキュリティで保護されたワークスペースのトラフィック フローに関する記事を参照してください。