当前位置: 首页 > news >正文

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

目录

    • 先决条件
    • 了解模板
    • 配置模板
    • 连接到工作区
    • 疑难解答
      • 错误:Windows 计算机名的长度不能超过 15 个字符,并且不能全为数字或包含以下字符

本教程介绍如何使用 [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产品研发负责人。

Ifile

先决条件

在使用本文中的步骤之前,必须有一个 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。 如果在查找时遇到问题,请使用筛选器部分来筛选虚拟机的类型。

file

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

file

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

相关文章:

  • 数据库安全:InfluxDB 未授权访问-Jwt验证不当 漏洞.
  • 合成数据如何改变制造业
  • 【数据集标注制作】视频剪切标注1——类DarkLabel软件
  • 说一下vue2的响应式原理?
  • okhttp关于header修改
  • 十个使用Spring Cloud和Java创建微服务的实践案例
  • 【Github】git clone命令下载文件中途停止
  • 【Bug】Python利用matplotlib绘图无法显示中文解决办法
  • 第12章 PyTorch图像分割代码框架-3:推理与部署
  • play() failed because the user didn‘t interact with the document first.
  • Pytorch R-CNN目标检测-汽车car
  • Python学习笔记--自定义类型的枚举
  • 遍历List集合和Map进行修改和删除报java.util.ConcurrentModificationException错误详解
  • 《JavaScript设计模式》笔记 - - - 超全设计模式概览
  • Ubuntu 22.04 (WSL) 安装 libssl1.1
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • angular2开源库收集
  • CSS盒模型深入
  • Python打包系统简单入门
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 工作中总结前端开发流程--vue项目
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 使用Gradle第一次构建Java程序
  • 微服务入门【系列视频课程】
  • 问题之ssh中Host key verification failed的解决
  • 消息队列系列二(IOT中消息队列的应用)
  • 小程序01:wepy框架整合iview webapp UI
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • No resource identifier found for attribute,RxJava之zip操作符
  • NLPIR智能语义技术让大数据挖掘更简单
  • PostgreSQL之连接数修改
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • (07)Hive——窗口函数详解
  • (2)STM32单片机上位机
  • (a /b)*c的值
  • (js)循环条件满足时终止循环
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (三)uboot源码分析
  • (图)IntelliTrace Tools 跟踪云端程序
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • ***检测工具之RKHunter AIDE
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .cn根服务器被攻击之后
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .Net MVC + EF搭建学生管理系统
  • .NET 药厂业务系统 CPU爆高分析
  • .NET上SQLite的连接
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • @Autowired标签与 @Resource标签 的区别
  • [ linux ] linux 命令英文全称及解释