• Azure 虚拟网络。 以下资源在此 VNet 后面进行保护:
    • Azure 机器学习工作区
      • Azure 机器学习计算实例
      • Azure 机器学习计算群集
    • Azure 存储帐户
    • Azure Key Vault
    • Azure Application Insights
    • Azure 容器注册表
    • Azure Bastion 主机
    • Azure 机器学习虚拟机 (Data Science Virtual Machine)
    • Bicep 模板还会创建 Azure Kubernetes 服务群集,并为其创建单独的资源组。

IAzure 机器学习 - 如何使用模板创建安全工作区-LMLPHP

先决条件

在使用本文中的步骤之前,必须有一个 Azure 订阅。 如果还没有 Azure 订阅,可以创建一个免费帐户

还必须具有 Bash 或 Azure PowerShell 命令行。

  1. 若要安装命令行工具,请参阅设置 Bicep 开发和部署环境

  2. 本文中使用的 Bicep 模板位于 https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure。 使用以下命令将 GitHub 存储库克隆到开发环境:

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

本文中使用的 Terraform 模板文件位于 https://github.com/Azure/terraform/tree/master/quickstart/201-machine-learning-moderately-secure。 若要在本地克隆存储库并将目录更改为模板文件所在的位置,请从命令行使用以下命令:

```
git clone https://github.com/Azure/terraform
cd terraform/quickstart/201-machine-learning-moderately-secure
```

了解模板

  • [Bicep]
  • [Terraform]

Bicep 模板由 main.bicep 和 modules 子目录中的 .bicep 文件组成。 下表描述了每个文件负责的内容:

若要更新 API 版本,请查找资源类型的 Microsoft.MachineLearningServices/<resource> 条目,并将其更新为最新版本。 以下示例显示 Azure 机器学习工作区的一个条目,该工作区使用 API 版本 2022-05-01

resource machineLearning 'Microsoft.MachineLearningServices/workspaces@2022-05-01' = {

该模板由多个文件组成。 下表描述了每个文件负责的内容:

配置模板

  • [Bicep]
  • [Terraform]

要运行 Bicep 模板,请使用 main.bicep 文件所在的 machine-learning-end-to-end-secure 中的以下命令:

  1. 若要创建新的 Azure 资源组,请使用以下命令。 将 exampleRG 替换为资源组名称,将 eastus 替换为要使用的 Azure 区域:

    • [Azure CLI]
    • [Azure PowerShell]
    az group create --name exampleRG --location eastus
    
    New-AzResourceGroup -Name exampleRG -Location eastus
    
  2. 若要运行模板,请使用以下命令。 将 prefix 替换为唯一前缀。 创建 Azure 机器学习所需的 Azure 资源时,将使用该前缀。 将 securepassword 替换为跳转盒的安全密码。 该密码用于跳转盒的登录帐户(以下示例中的 azureadmin):

    提示

    prefix 必须为 5 个或更少字符。 它不能全为数字或包含以下字符:~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

    • [Azure CLI]
    • [Azure PowerShell]
    az deployment group create \
        --resource-group exampleRG \
        --template-file main.bicep \
        --parameters \
        prefix=prefix \
        dsvmJumpboxUsername=azureadmin \
        dsvmJumpboxPassword=securepassword
    
    $dsvmPassword = ConvertTo-SecureString "mysecurepassword" -AsPlainText -Force
    New-AzResourceGroupDeployment -ResourceGroupName exampleRG `
        -TemplateFile ./main.bicep `
        -prefix "prefix" `
        -dsvmJumpboxUsername "azureadmin" `
        -dsvmJumpboxPassword $dsvmPassword
    

要运行 Terraform 模板,请使用模板文件所在的 201-machine-learning-moderately-secure 目录中的以下命令:

  1. 若要初始化目录以使用 Terraform,请执行以下命令:

    terraform init
    
  2. 若要创建配置,请使用以下命令。 使用 -var 参数设置模板使用的变量的值。 有关变量的完整列表,请参阅 variables.tf 文件:

    terraform plan \
        -var name=myworkspace \
        -var environment=dev \
        -var location=westus \
        -var dsvm_name=jumpbox \
        -var dsvm_host_password=secure_password \
        -out azureml.tfplan
    

    此命令完成后,配置将显示在终端中。 若要再次显示,请使用 terraform show azureml.tfplan 命令。

  3. 若要运行模板并将保存的配置应用于 Azure 订阅,请使用以下命令:

    terraform apply azureml.tfplan
    

    处理模板时会显示进度。

连接到工作区

模板完成后,使用以下步骤连接到 DSVM:

  1. Azure 门户中,选择与模板一起使用的 Azure 资源组。 然后,选择模板创建的 Data Science Virtual Machine。 如果在查找时遇到问题,请使用筛选器部分来筛选虚拟机的类型。

Azure 机器学习 - 如何使用模板创建安全工作区-LMLPHP

  1. 从虚拟机的“概述”部分中,选择“连接”,然后从下拉列表中选择“Bastion”。

Azure 机器学习 - 如何使用模板创建安全工作区-LMLPHP

  1. 出现提示时,提供配置模板时指定的用户名和密码,然后选择“连接”。

    重要

    首次连接到 DSVM 桌面时,将打开 PowerShell 窗口并开始运行脚本。 在继续执行下一步之前,请允许此操作完成。

  2. 从 DSVM 桌面启动 Microsoft Edge,并输入 https://ml.azure.com 作为地址。 登录到 Azure 订阅,然后选择模板创建的工作区。 将显示工作区工作室。

疑难解答

错误:Windows 计算机名的长度不能超过 15 个字符,并且不能全为数字或包含以下字符

当 DSVM 跳转框的名称大于 15 个字符或包含以下字符之一时,可能会发生此错误:~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

使用 Bicep 模板时,将使用提供给模板的前缀值以编程方式生成跳转盒名称。 为了确保名称不超过 15 个字符或包含任何无效字符,请使用不超过 5 个字符的前缀,并且不要在前缀中使用以下任何字符:~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

使用 Terraform 模板时,将使用 dsvm_name 参数传递跳转盒名称。 为了避免此错误,请使用不超过 15 个字符的名称,并且名称中不要包含以下任何字符:~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

11-11 12:13