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 服务群集,并为其创建单独的资源组。
- Azure 机器学习工作区
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。
I
先决条件
在使用本文中的步骤之前,必须有一个 Azure 订阅。 如果还没有 Azure 订阅,可以创建一个免费帐户。
还必须具有 Bash 或 Azure PowerShell 命令行。
-
若要安装命令行工具,请参阅设置 Bicep 开发和部署环境。
-
本文中使用的 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 中的以下命令:
-
若要创建新的 Azure 资源组,请使用以下命令。 将
exampleRG替换为资源组名称,将eastus替换为要使用的 Azure 区域:- [Azure CLI]
- [Azure PowerShell]
az group create --name exampleRG --location eastusNew-AzResourceGroup -Name exampleRG -Location eastus -
若要运行模板,请使用以下命令。 将
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 目录中的以下命令:
-
若要初始化目录以使用 Terraform,请执行以下命令:
terraform init -
若要创建配置,请使用以下命令。 使用
-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命令。 -
若要运行模板并将保存的配置应用于 Azure 订阅,请使用以下命令:
terraform apply azureml.tfplan处理模板时会显示进度。
连接到工作区
模板完成后,使用以下步骤连接到 DSVM:
- 从 Azure 门户中,选择与模板一起使用的 Azure 资源组。 然后,选择模板创建的 Data Science Virtual Machine。 如果在查找时遇到问题,请使用筛选器部分来筛选虚拟机的类型。

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

-
出现提示时,提供配置模板时指定的用户名和密码,然后选择“连接”。
重要
首次连接到 DSVM 桌面时,将打开 PowerShell 窗口并开始运行脚本。 在继续执行下一步之前,请允许此操作完成。
-
从 DSVM 桌面启动 Microsoft Edge,并输入
https://ml.azure.com作为地址。 登录到 Azure 订阅,然后选择模板创建的工作区。 将显示工作区工作室。
疑难解答
错误:Windows 计算机名的长度不能超过 15 个字符,并且不能全为数字或包含以下字符
当 DSVM 跳转框的名称大于 15 个字符或包含以下字符之一时,可能会发生此错误:~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?。
使用 Bicep 模板时,将使用提供给模板的前缀值以编程方式生成跳转盒名称。 为了确保名称不超过 15 个字符或包含任何无效字符,请使用不超过 5 个字符的前缀,并且不要在前缀中使用以下任何字符:~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?。
使用 Terraform 模板时,将使用 dsvm_name 参数传递跳转盒名称。 为了避免此错误,请使用不超过 15 个字符的名称,并且名称中不要包含以下任何字符:~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?。
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。
相关文章:
Azure 机器学习 - 如何使用模板创建安全工作区
目录 先决条件了解模板配置模板连接到工作区疑难解答错误:Windows 计算机名的长度不能超过 15 个字符,并且不能全为数字或包含以下字符 本教程介绍如何使用 [Microsoft Bicep]和 [Hashicorp Terraform]模板创建以下 Azure 资源: Azure 虚拟网…...
可变类与不可变类
可变类(Mutable Class)和不可变类(Immutable Class)是面向对象编程中的两种类的设计模式,它们在对象的状态和行为上有不同的特性。 可变类(Mutable Class): 状态可修改:…...
什么是Node.js的调试器(debugger)工具?
聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...
log4j CVE-2021-44228 RCE漏洞复现
一、漏洞特征 Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的…...
leetcode 刷题 - 有效三角形个数 - 长度最小的子数组 - 无重复字符的最长子串
l611. 有效三角形的个数 - 力扣(LeetCode) 给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。 示例 1:输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3示…...
如何更好的使用Copilot
Copilot从诞生到现在过去了挺长时间了,大家对Copilot的评价算是褒贬不一吧。有些人觉得Copilot高效且神奇,可以对自己的工作大大提效;有些觉得也就那样,为什么要花那么多钱做这个事情,钱它不香吗? 从最开始…...
C++ Qt 学习(五):Qt Web 编程
1. Chrome 技术介绍 大多数 web 技术都是基于 chrome,例如 CEF、QCefView 以及 QWebEngineView,这些都是在 native 界面里用来显示 html 网页,并且可以与 web 交互 例如常见的登录窗口、优酷的视频区域、WPS 的稻壳商城等,这些都…...
基于arm-gcc 工具链开发mcu程序时,怎么便捷查看内存映像
目录 一、背景 arm-none-eabi-size 二、脚本实现 2.1. 源码2.2. 效果呈现 三、实现说明 3.1 基本思路3.2 涉及到的shell 相关知识 3.2.1 sed 实现只打印第二行3.2.2 cut 截取某一行数据的第n个字段3.2.3 使用bc 计算器,实现浮点运算 一、背景 arm-gcc 工具链…...
亚马逊云科技Zero ETL集成全面可用,可运行近乎实时的分析和机器学习
亚马逊云科技数据库、数据分析和机器学习全球副总裁Swami Sivasubramanian曾指出:“数据是应用、流程和商业决策的核心。”如今,客户常用的数据传输模式是建立从Amazon Aurora到Amazon Redshift的数据管道。这些解决方案能够帮助客户获得新的见解&#x…...
Java 设计模式——访问者模式
目录 1.概述2.结构3.案例实现3.1.抽象访问者类3.2.抽象元素类3.3.具体元素类3.4.具体访问者类3.5.对象结构类3.6.测试 4.优缺点5.使用场景6.扩展6.1.分派6.2.动态分配6.3.静态分配6.4.双分派 1.概述 访问者模式 (Visitor Pattern) 是一种行为型设计模式,它用于将数…...
Mysql联合查询
Mysql联合查询 T1表结构(用户名,密码) useridusernamepassword1jackpwd12owenpwd2 T2表结构(用户名,密码) useridjifendengji12033506 第一:内联(inner join) 如果想把用户信息、积分、等…...
响应式婴幼儿早教启蒙网站模板源码
模板信息: 模板编号:6830 模板编码:UTF8 模板颜色:红色 模板分类:学校、教育、培训、科研 适合行业:培训机构类企业 模板介绍: 本模板自带eyoucms内核,无需再下载eyou系统…...
ChatGPT付费创作系统V2.4.9独立版 +WEB端+ H5端 + 小程序端系统测试安装教程
播资源提供的GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序,是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。当前全民热议ChatGPT,流量超级大,引流不要太简单!一键下单即可拥有自己的GPT!…...
react 修改less文件后保存,内存溢出,项目崩溃问题解决
一、完整报错 一个很老的react项目,因为没有package-lock.json版本锁,导致拉下来的时候,安装的依赖版本冲突,好不容易启动起来,修改less文件后只要一保存,项目就会崩溃,需要重启,报…...
Lib文件和netlist的关系,DDC文件和netlist的区别
今天来说一说两个基础的概念: 1:综合用的Lib文件和netlist网表的关系 在数字IC设计中,Lib和网表都是非常重要的文件,但它们的作用和用途有很大的区别。 Lib文件,也称为库文件,主要包含单元级的信息&…...
万宾科技智能井盖,实现对井盖的监测
随着人工智能和物联网技术的不断变化,各种适用于市政府提高管理能力和公共服务水平的高科技产品不断更新。在道路基础设施建设过程中,智能井盖传感器的出现时刻保护着城市地下生命线,而且可以对地下水道井盖进行实时的监测并完成数据上传等工…...
使用Python从零实现多分类SVM
前言 本文将首先简要概述支持向量机及其训练和推理方程,然后将其转换为代码以开发支持向量机模型。之后然后将其扩展成多分类的场景,并通过使用Sci-kit Learn测试我们的模型来结束。 SVM概述 支持向量机的目标是拟合获得最大边缘的超平面(两个类中最近…...
WPF ToggleButton 主题切换动画按钮
WPF ToggleButton 主题切换动画按钮 仿造最近看到的html中的一个效果,大致思路是文章这样,感觉还可以再雕琢一下。 代码如下 XAML: <UserControl x:Class"WPFSwitch.AnimationSwitch"xmlns"http://schemas.microsoft.com/winfx/200…...
centerOS下docker 搭建IotDB集群
一、准备3台机器,IP地址依次为IP1,IP2,IP3,找一个目录下建立文件夹如下: ./data/confignode ./logs/confignode ./data/datanode ./logs/datanode二、在当前目录下建立docker-compose.yml文件,3台都要 1、…...
Vue3-Composition-API-学习笔记
01.Setup函数的体验 App.vue <template><div><h2>当前计数:{{ counter }}</h2><button click"increment">1</button><button click"decrement">-1</button></div> </template>&…...
你的IoT设备安全吗?从STM32的RNG寄存器配置到生成加密密钥的完整流程
你的IoT设备安全吗?从STM32的RNG寄存器配置到生成加密密钥的完整流程 在物联网设备爆炸式增长的今天,安全性已成为产品设计的核心考量。想象一下,当你的智能门锁、健康监测设备或工业传感器通过网络交换数据时,如果加密密钥可以被…...
Navicat数据库自动备份实战:如何设置夜间定时任务避免业务中断
Navicat数据库自动备份实战:如何设置夜间定时任务避免业务中断 深夜的办公室只剩下服务器指示灯在黑暗中闪烁,数据库管理员小李终于可以松一口气——公司的核心业务数据正在Navicat的自动备份任务中安全流转。对于现代企业而言,数据库就像数字…...
STM32F407串口+DMA收发配置详解:从数据流映射到中断服务函数编写
STM32F407串口DMA高效通信实战:从寄存器配置到中断协同设计 在嵌入式开发中,串口通信是最基础也最常用的外设接口之一。传统的中断驱动方式虽然简单,但在高速数据传输场景下会频繁打断CPU执行,导致系统效率低下。STM32F407的DMA控…...
一键下载30+文档平台:kill-doc让你轻松保存网页内容
一键下载30文档平台:kill-doc让你轻松保存网页内容 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决…...
如何免费为Mac打造专业级音频系统?eqMac系统均衡器完整指南
如何免费为Mac打造专业级音频系统?eqMac系统均衡器完整指南 【免费下载链接】eqMac macOS System-wide Audio Equalizer & Volume Mixer 🎧 项目地址: https://gitcode.com/gh_mirrors/eq/eqMac 还在为Mac平淡无奇的音质烦恼吗?无…...
三步解锁QQ音乐加密格式:qmc-decoder让你的音乐收藏真正自由
三步解锁QQ音乐加密格式:qmc-decoder让你的音乐收藏真正自由 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾为QQ音乐下载的歌曲无法在其他播放器播放而…...
抖音批量下载器终极指南:解锁无水印视频下载的3种高效方法
抖音批量下载器终极指南:解锁无水印视频下载的3种高效方法 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback s…...
APK-Installer:Windows平台最专业的Android应用安装终极解决方案
APK-Installer:Windows平台最专业的Android应用安装终极解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾因Windows和Android系统间的壁垒而…...
告别KITTI格式焦虑:手把手教你用MMDetection3D处理自定义点云数据集(含PLY/OBJ转换)
告别KITTI格式焦虑:手把手教你用MMDetection3D处理自定义点云数据集(含PLY/OBJ转换) 当研究者首次尝试将自采集的3D点云数据投入MMDetection3D框架时,往往会陷入数据格式适配的困境。不同于标准KITTI数据集提供的.bin文件…...
Fan Control完整教程:Windows风扇控制软件免费下载与专业配置指南
Fan Control完整教程:Windows风扇控制软件免费下载与专业配置指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_…...
