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

目录

本教程介绍如何使用 [Microsoft Bicep]和 [Hashicorp Terraform]模板创建以下 Azure 资源:

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

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

I

先决条件

在使用本文中的步骤之前,必须有一个 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' = {

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

文件 说明
variables.tf 模板使用的变量和默认值。
main.tf 指定 Azure 资源管理器提供程序并定义资源组。
network.tf 定义 Azure 虚拟网络、子网和网络安全组。
bastion.tf 定义 Azure Bastion 主机和关联的 NSG。 Azure Bastion 允许你使用 Web 浏览器轻松访问 VNet 中的 VM。
dsvm.tf 定义 Data Science Virtual Machine (DSVM)。 Azure Bastion 用于通过 Web 浏览器访问此 VM。
workspace.tf 定义 Azure 机器学习工作区。 包括 Azure 存储、Key Vault、Application Insights 和容器注册表的依赖项资源。
compute.tf 定义 Azure 机器学习计算实例和群集。

配置模板

  • 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。 如果在查找时遇到问题,请使用筛选器部分来筛选虚拟机的类型。
  1. 从虚拟机的"概述"部分中,选择"连接",然后从下拉列表中选择"Bastion"。
  1. 出现提示时,提供配置模板时指定的用户名和密码,然后选择"连接"。

    重要

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

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

疑难解答

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

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

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

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

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

相关推荐
加油吧zkf7 分钟前
水下目标检测:突破与创新
人工智能·计算机视觉·目标跟踪
加油吧zkf7 分钟前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
峙峙峙20 分钟前
线性代数--AI数学基础复习
人工智能·线性代数
weiwuxian25 分钟前
揭开智能体的神秘面纱:原来你不是"超级AI"!
人工智能
Codebee25 分钟前
“自举开发“范式:OneCode如何用低代码重构自身工具链
java·人工智能·架构
说私域37 分钟前
基于开源AI智能名片链动2+1模式的S2B2C商城小程序:门店私域流量与视频号直播融合的生态创新研究
人工智能·小程序·开源
Ronin-Lotus40 分钟前
深度学习篇---Yolov系列
人工智能·深度学习
爱学习的茄子40 分钟前
AI驱动的单词学习应用:从图片识别到语音合成的完整实现
前端·深度学习·react.js
静心问道1 小时前
GoT:超越思维链:语言模型中的有效思维图推理
人工智能·计算机视觉·语言模型
aneasystone本尊1 小时前
学习 Claude Code 的工具使用(三)
人工智能