适用范围:
Azure CLI ml 扩展 v2(最新版)
Python SDK azure-ai-ml v2(最新版)
了解如何管理 Azure 机器学习工作区中的计算实例。
可将计算实例用作云中的完全配置、完全托管的开发环境。 对于开发和测试,还可将该实例用作训练计算目标。 计算实例可以并行运行多个作业,它有一个作业队列。 作为开发环境,计算实例不会与工作区中的其他用户共享。
本文介绍如何启动、停止、重启和删除计算实例。 若要了解如何创建计算实例,请参阅创建 Azure 机器学习计算实例。
注意
本文在各个部分中展示了CLI v2。 如果仍在使用 CLI v1,请参阅“创建 Azure 机器学习计算群集(CLI v1)”。
先决条件
- Azure 机器学习工作区。 有关详细信息,请参阅管理 Azure 机器学习工作区。
根据首选的计算实例管理方法,为其余先决条件选择相应的选项卡。
如果未在计算实例上运行代码,请安装 Azure 机器学习 Python SDK。 此 SDK 已安装在计算实例上。
附加到 Python 脚本中的工作区:
运行此代码来连接到 Azure 机器学习工作区。
替换以下代码中的订阅 ID、资源组名称和工作区名称。 若要查找这些值:
- 登录到 Azure 机器学习工作室。
- 打开要使用的工作区。
- 在右上方的 Azure 机器学习工作室工具栏中,选择你的工作区名称。
- 将工作区、资源组和订阅 ID 的值复制到代码中。
适用范围:
Python SDK azure-ai-ml v2(最新版)# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"# get a handle to the workspace from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential ml_client = MLClient( DefaultAzureCredential(), subscription_id, resource_group, workspace )ml_client是用于管理其他资源和作业的工作区处理程序。
注意
配置位于 Azure 机器学习工作区不同资源组中的虚拟网络(VNet)时,在 VNet 所在的同一资源组中创建网络安全组(NSG)、公共 IP 和负载均衡器等资源。 此行为可确保正确的网络管理和隔离。
管理
可以启动、停止、重启和删除计算实例。 计算实例并不总是会自动缩减,因此请务必停止该资源以避免产生额外费用。 停止计算实例会将其解除分配。 然后在需要时重启。 虽然停止计算实例会停止计算小时数的计费,但您仍需为磁盘、公共 IP 和标准负载均衡器付费。
可以启用自动关闭以在指定时间后自动停止计算实例。
也可以为计算实例创建计划,以基于时间和星期几自动启动和停止。
提示
计算实例具有 120 GB OS 磁盘。 如果磁盘空间不足,则在停止或重启计算实例之前,使用终端可至少清空 5 GB 空间。 不要通过从终端发出 sudo 关闭来停止计算实例。 计算实例上的临时磁盘大小取决于所选 VM 大小,它装载在 /mnt 上。
适用范围:
Python SDK azure-ai-ml v2(最新版)
在这些示例中,变量 ci_basic_name 存储计算实例的名称。
获取状态
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Get compute ci_basic_state = ml_client.compute.get(ci_basic_name)停下
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Stop compute ml_client.compute.begin_stop(ci_basic_name).wait()启动
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Start compute ml_client.compute.begin_start(ci_basic_name).wait()重启
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Restart compute ml_client.compute.begin_restart(ci_basic_name).wait()删除
from azure.ai.ml.entities import ComputeInstance, AmlCompute ml_client.compute.begin_delete(ci_basic_name).wait()
谨慎
将资源锁(例如“删除”或“只读”)应用于包含机器学习工作区的资源组或已配置虚拟网络的单独资源组可以阻止对这些实例执行创建、重设大小或删除之类的操作。 确保资源锁配置得当,以避免意外中断。
使用 Azure RBAC 可以对工作区中的哪些用户能够创建、删除、启动、停止、重启计算实例进行控制。 充当工作区参与者和所有者角色的所有用户可以在整个工作区中创建、删除、启动、停止和重启计算实例。 但是,仅允许特定计算实例的创建者或代表其创建实例的用户访问 Jupyter、JupyterLab 和 RStudio(如果已配置)。 一个计算实例专用于具有根访问权限的一个用户。 该用户有权访问 Jupyter/JupyterLab 以及实例上运行的任何已配置的自定义应用程序。 计算实例具有单用户登录名,所有操作使用该用户的身份进行 Azure RBAC 和试验作业的归属。 SSH 访问是通过公钥/私钥机制控制的。
可以通过 Azure RBAC 来控制这些操作:
- Microsoft.MachineLearningServices/workspaces/computes/read
- Microsoft.MachineLearningServices/workspaces/computes/write
- Microsoft.MachineLearningServices/workspaces/computes/delete
- Microsoft.MachineLearningServices/workspaces/computes/start/action
- Microsoft.MachineLearningServices/workspaces/computes/stop/action
- Microsoft.MachineLearningServices/workspaces/computes/restart/action
- Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action
若要创建计算实例,需要以下操作的权限:
- Microsoft.MachineLearningServices/workspaces/computes/write
- Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action
审核和观察计算实例版本
部署计算实例后,不会自动更新该实例。 Microsoft 每月发布新的 VM 映像。 若要了解使用最新版本来保持最新状态的选项,请参阅漏洞管理。
要对实例的操作系统版本是否为最新版本进行跟踪,可以使用 CLI、SDK 或 Studio UI 查询其版本。
适用范围:
Python SDK azure-ai-ml v2(最新版)
from azure.ai.ml.entities import ComputeInstance, AmlCompute
# Display operating system version
instance = ml_client.compute.get("myci")
print(instance.os_image_metadata)
有关此示例中使用的类、方法和参数的详细信息,请参阅以下参考文档:
IT 管理员可以使用 Azure Policy 在 Azure Policy 合规性门户中跨工作区监视实例清单。 在 Azure 订阅或 Azure 管理组范围内分配内置策略审核具有过时操作系统的 Azure 机器学习计算实例。