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产品研发负责人。

相关推荐
Francek Chen3 分钟前
【自然语言处理】预训练01:词嵌入(word2vec)
人工智能·自然语言处理·word2vec
Dongsheng_201910 分钟前
【手机篇】AI深度学习在手机摄像头模组支架外观检测应用方案
人工智能·智能手机
郝学胜-神的一滴20 分钟前
主成分分析(PCA)在计算机图形学中的深入解析与应用
开发语言·人工智能·算法·机器学习·1024程序员节
飞哥数智坊33 分钟前
想用好 AI 编程?你可能得先学点管理
人工智能·ai编程
武子康34 分钟前
DeepSeek-OCR 原理剖析|上下文光学压缩、Gundam 动态分辨率与并发预期 附代码
深度学习·aigc·deepseek
golang学习记34 分钟前
太卷了,蚂蚁又发布了新一代Code Agent!
人工智能
StarPrayers.1 小时前
神经网络中的 HWC→CHW 格式转换
人工智能·深度学习·神经网络
ModelWhale1 小时前
和鲸科技入选《大模型一体机产业图谱》,以一体机智驱科研、重塑教学
人工智能·科研·高等教育
区块block2 小时前
DeFi中的自主代理:用AI重塑金融
人工智能·金融
数据科学作家2 小时前
如何入门python机器学习?金融从业人员如何快速学习Python、机器学习?机器学习、数据科学如何进阶成为大神?
大数据·开发语言·人工智能·python·机器学习·数据分析·统计分析