共用方式為


教學課程: 如何使用範本建立安全的工作區

範本可讓您輕鬆地建立可重現的服務部署。 範本會定義要建立的內容,其中包含一些在您使用範本時所提供的資訊。 例如,您為 Azure Machine Learning 工作區指定唯一名稱。

在本教學課程中,您會了解如何使用 Microsoft BicepHashicorp Terraform 範本來建立 Azure 虛擬網路,其後面保護下列 Azure 資源。

  • Azure Machine Learning 工作區
    • Azure Machine Learning 計算執行個體
    • Azure Machine Learning 計算叢集
  • Azure 儲存體帳戶
  • Azure Key Vault
  • Azure Application Insights
  • Azure Container Registry
  • Azure Bastion 主機
  • Azure Machine Learning 資料科學虛擬機器 (DSVM)

Bicep 範本也會建立 Azure Kubernetes Service (AKS) 叢集,並為 AKS 叢集建立個別的資源群組。

提示

您可以使用 Azure Machine Learning 受控虛擬網路,而不是本文中的步驟。 透過受控虛擬網路,Azure Machine Learning 可以處理工作區和受控計算的網路隔離作業。 您也可以為工作區所需的資源 (例如 Azure 儲存體帳戶) 新增私人端點。 如需詳細資訊,請參閱工作區受管理的網路隔離

若要檢視 Bicep 或 Terraform 資訊,請選取下列區段中的 Bicep 或 Terraform 索引標籤。

必要條件

  • 具有免費或付費版 Azure Machine Learning 的 Azure 訂用帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶

  • 在開發環境上安裝以複製範本存放庫的 Git。 如果沒有 git 命令,您可以從 https://git-scm.com/ 安裝 Git。

  • Azure CLI 或 Azure PowerShell 命令列。

  • 根據設定 Bicep 開發和部署環境安裝的 Azure CLI 或 Azure PowerShell Bicep 命令列工具。

  • 包含 Bicep 範本 Azure Machine Learning 端對端安全設定的 GitHub 存放庫,在本機複製並執行下列命令切換至其中:

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

了解範本

Bicep 範本是由 main.bicep 和其他 *.bicep 檔案 (位於 modules 子目錄) 所組成。 下表說明每個檔案的用途:

檔案 說明
main.bicep 將參數和變數傳遞至 modules 子目錄中的其他模組。
vnet.bicep 定義 Azure 虛擬網路和子網路。
nsg.bicep 定義虛擬網路的網路安全性群組規則。
bastion.bicep 定義 Azure Bastion 主機和子網路。 Azure Bastion 可讓您使用網頁瀏覽器輕鬆存取虛擬網路內的虛擬機器 (VM)。
dsvmjumpbox.bicep 定義 DSVM。 Azure Bastion 可透過網頁瀏覽器存取此 VM。
storage.bicep 定義工作區用於預設儲存體的 Azure 儲存體帳戶。
keyvault.bicep 定義工作區所使用的 Azure Key Vault。
containerregistry.bicep 定義工作區所使用的 Azure Container Registry。
applicationinsights.bicep 定義工作區所使用的 Azure Application Insights 執行個體。
machinelearningnetworking.bicep 定義工作區的私人端點和網域名稱系統 (DNS) 區域。
machinelearning.bicep 定義 Azure Machine Learning 工作區。
machinelearningcompute.bicep 定義 Azure Machine Learning 計算叢集與計算執行個體。
privateaks.bicep 定義 AKS 叢集執行個體。

重要

每個 Azure 服務都有其自己的一組 API 版本。 範例範本不一定會使用最新 API 版本的 Azure Machine Learning 和其他資源。 使用範本之前,您應該先將其修改,以使用最新的 API 版本。

如需特定服務的 API 相關資訊,請查看 Azure REST API 參考中的服務資訊。 如需最新 Azure Machine Learning API 版本的相關資訊,請參閱 Azure Machine Learning REST API

若要更新 API 版本,請尋找資源類型的 Microsoft.MachineLearningServices/<resource> 項目,並將其更新為最新版本。

重要

DSVM 和 Azure Bastion 是可針對本教學課程連線至受保護工作區的簡易方式。 在實際執行環境環境中,最好使用 AZURE VPN 閘道Azure ExpressRoute,直接從內部部署網路存取虛擬網路內的資源。

設定範本

若要部署 Bicep 範本,請確定您位於 main.bicep 檔案所在的 machine-learning-end-end-end-secure 目錄中,然後執行下列命令:

  1. 若要建立新的 Azure 資源群組,請執行下列範例命令,將 <myrgname> 取代為資源群組名稱,並將 <location> 取代為您想要使用的 Azure 區域。

    • Azure CLI:

      az group create --name <myrgname> --location <location>
      
    • Azure PowerShell:

      New-AzResourceGroup -Name <myrgname> -Location <location>
      
  2. 若要部署範本,請使用下列命令,將 <myrgname> 取代為您建立的資源群組名稱,並將 <pref> 取代為建立必要資源時要使用的唯一前置詞。 將 <mydsvmpassword> 取代為 DSVM 跳躍方塊登入帳戶的安全密碼,這是下列範例中的 azureadmin

    提示

    prefix 必須是五個或更少的字元,而且不能全都是數字,也不能包含字元 ~!@#$%^&*()=+_[]{}\|;:.'",<>/?

    • Azure CLI:

      az deployment group create \
          --resource-group <myrgname> \
          --template-file main.bicep \
          --parameters \
          prefix=<pref> \
          dsvmJumpboxUsername=azureadmin \
          dsvmJumpboxPassword=<mydsvmpassword>
      
    • Azure PowerShell:

      $dsvmPassword = ConvertTo-SecureString "<mydsvmpassword>" -AsPlainText -Force
      New-AzResourceGroupDeployment -ResourceGroupName <myrgname> `
          -TemplateFile ./main.bicep `
          -prefix "<pref>" `
          -dsvmJumpboxUsername "azureadmin" `
          -dsvmJumpboxPassword $dsvmPassword
      

      警告

      您應避免在指令碼中或從命令列中使用純文字字串。 純文字可能會顯示在事件記錄檔和命令歷程記錄中。 如需詳細資訊,請參閱 ConvertTo-SecureString

重要

DSVM 和任何計算資源都會向您收取其每小時執行的費用。 為了避免過度收費,當這些資源未使用時,您應將其停止。 如需詳細資訊,請參閱下列文章:

連線到工作區

部署完成之後,請使用下列步驟來連線至 DSVM:

  1. Azure 入口網站中,選取您與範本搭配使用的 Azure 資源群組。 然後,選取範本所建立的 DSVM。 若您在尋找時遇到問題,請使用 [篩選] 區段篩選虛擬機器的 [類型]

    篩選和選取 VM 的螢幕擷取畫面。

  2. 從 DSVM [概觀] 頁面中,選取 [連線],然後從下拉式清單中選取 [透過 Bastion 連線]

    選取使用 Bastion 連線的螢幕擷取畫面。

  3. 出現提示時,請提供您在設定範本時所指定的 [使用者名稱] 和 [VM 密碼],然後選取 [連線]

    重要

    在您第一次連線至 DSVM 桌面時,PowerShell 視窗會開啟並執行指令碼。 允許指令碼完成,然後再繼續進行下一個步驟。

  4. 從 DSVM 桌面啟動 [Microsoft Edge],然後輸入 https://ml.azure.com 做為位址。 登入您的 Azure 訂用帳戶,然後選取範本所建立的工作區。 您工作區的工作室即會出現。

疑難排解

當 DSVM 跳躍方塊的名稱大於 15 個字元或包含下列其中一個字元時,就會發生下列錯誤:~!@#$%^&*()=+_[]{}\|;:.'",<>,、/?

錯誤:Windows 電腦名稱長度不能超過 15 個字元、不能全都是數字,也不能包含下列字元:! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , <> / ?。

Bicep 範本會使用提供給範本的前置詞值,以程式設計方式產生跳躍方塊名稱。 若要確定名稱不超過 15 個字元或包含任何無效字元,請使用五個或更少字元的前置詞,而且不使用字元 ~!@#$%^&*()=+_[]{}\|;:.'",<>/、 或 ?

若要繼續開始使用 Azure Machine Learning,請參閱快速入門:開始使用 Azure Machine Learning

如要深入瞭解常見的安全工作區設定和輸入/輸出需求,請參閱 Azure Machine Learning 安全工作區流量