在订阅之间移动 Azure 机器学习工作区(预览版)
随着机器学习应用程序的要求发生变化,可能需要将工作区移到其他 Azure 订阅。 例如,在下列情况下,可能需要移动工作区:
- 将工作区从测试订阅提升到生产订阅。
- 更改应用程序的设计和体系结构。
- 将工作区移到具有更多可用配额的订阅。
- 将工作区移到具有不同成本中心的订阅。
通过移动工作区,你可以在单个自动化步骤中迁移工作区及其内容。 下表描述了移动的工作区内容:
工作区内容 | 随工作区一起移动 |
---|---|
数据存储 | 是 |
数据集 | 否 |
试验作业 | 是 |
环境 | 是 |
工作区中存储的模型和其他资产 | 是 |
计算资源 | 否 |
终结点 | 否 |
重要
工作区移动目前以公共预览版提供。 此预览版在提供时没有附带服务级别协议,不建议将其用于生产工作负荷。 某些功能可能不受支持或者受限。
有关详细信息,请参阅适用于 Azure 预览版的补充使用条款。
先决条件
来源订阅中的 Azure 机器学习工作区。 有关详细信息,请参阅创建工作区资源。
必须有管理来源订阅和目标订阅中资源的权限。 例如,“订阅”级别的参与者或所有者角色。 有关角色的详细信息,请参阅 Azure 角色。
- 需要从源位置删除资源的权限。
- 需要在目标位置创建资源的权限。
- 移动不得违反目标位置中的 Azure 策略。
- 源工作区范围的任何角色分配都不会移动;必须在目标中重新创建它们。
必须针对所需的资源提供程序注册目标订阅。 下表包含 Azure 机器学习所需的资源提供程序的列表:
资源提供程序 为什么需要它 Microsoft.MachineLearningServices 创建 Azure 机器学习工作区。 Microsoft.Storage Azure 存储帐户用作该工作区的默认存储。 Microsoft.ContainerRegistry Azure 容器注册表被工作区用来生成 Docker 映像。 Microsoft.KeyVault 该工作区使用 Azure Key Vault 来存储机密。 Microsoft.Notebooks/NotebookProxies Azure 机器学习计算实例上集成的笔记本。 Microsoft.ContainerService 如果计划将训练后的模型部署到 Azure Kubernetes 服务。 如果计划将客户管理的密钥与 Azure 机器学习一起使用,则必须注册以下服务提供程序:
资源提供程序 为什么需要它 Microsoft.DocumentDB/databaseAccounts 用于记录工作区元数据的 Azure Cosmos DB 实例。 Microsoft.Search/searchServices Azure 搜索为工作区提供索引编制功能。 有关注册资源提供程序的信息,请参阅解决资源提供程序注册错误。
-
提示
移动操作不使用用于机器学习的 Azure CLI 扩展。
支持的方案
自动化工作区跨同一区域中的资源组或订阅移动。 有关详细信息,请参阅将资源移到新资源组或订阅。
注意
工作区在移动前必须处于静止状态;计算将被删除,没有实时终结点或正在运行的试验。
支持移动配置了专用终结点的工作区。 专用终结点将断开连接,移动后会重新创建可传递专用终结点。 但是,移动之后新专用终结点(包括工作区专用终结点)的批准工作由你负责。
限制
工作区移动不适用于复制工作区,也不适用于将单项资产(如模型或数据集)从一个工作区移到另一个工作区。
工作区移动不支持跨 Azure 区域进行迁移。
工作区移动不支持跨 Microsoft Entra 租户进行迁移。
提示
有关手动移动租户的信息,请参阅将 Azure 订阅转移到其他 Microsoft Entra ID 一文。
在移动操作期间,工作区不能使用。 验证所有试验作业、数据分析作业和标记项目是否已完成。 还要验证推理终结点是否未调用。
移动期间工作区不可用。
在移动之前,必须从工作区中删除或拆离计算和推理终结点。
数据存储在移动后仍可能会显示旧订阅信息。 有关手动更新数据存储的步骤,请参阅场景:移动具有非默认数据存储的工作区。
不支持以下场景:
- 包含计算(现有计算或正在创建的计算)的工作区。
- 具有已部署服务的工作区。
- 具有联机终结点/部署的工作区。
- 为客户托管密钥配置的工作区。
- 标签项目当前正在运行中的工作区。
- 与 Azure Databricks 链接的工作区。
- 跨区域移动工作区。
准备并验证移动
在 Azure CLI 中,将订阅设置为源工作区的订阅
az account set -s origin-sub-id
验证源工作区是否未使用。 检查任何试验作业、数据分析作业或标记项目是否均已完成。 还要验证推理终结点是否未调用。
从工作区中删除或拆离任何计算,并删除任何推理终结点。 不支持移动计算和终结点。 另请注意,移动期间工作区不可用。
在新的订阅中创建目标资源组。 移动后,此资源组将包含工作区。 目标必须与源必须位于同一区域。
az group create -g destination-rg -l my-region --subscription destination-sub-id
以下命令演示如何验证工作区的移动操作。 可以通过将关联的资源(例如存储帐户、容器注册表、密钥保管库和应用程序见解)添加到
resources
列表来将其包含在移动中。 验证可能需要几分钟。 在此命令中,origin-rg
是源资源组,而destination-rg
是目标。 订阅 ID 为origin-sub-id
和destination-sub-id
,而工作区为origin-workspace-name
:az resource invoke-action --action validateMoveResources --ids "/subscriptions/origin-sub-id/resourceGroups/origin-rg" --request-body "{ \"resources\": [\"/subscriptions/origin-sub-id/resourceGroups/origin-rg/providers/Microsoft.MachineLearningServices/workspaces/origin-workspace-name\"],\"targetResourceGroup\":\"/subscriptions/destination-sub-id/resourceGroups/destination-rg\" }"
命名工作区
验证成功后,移动工作区。 还可以通过将任何关联的资源添加到 ids
参数来将其包含在移动操作中。 此操作可能需要几分钟。
az resource move --destination-group destination-rg --destination-subscription-id destination-sub-id --ids "/subscriptions/origin-sub-id/resourceGroups/origin-rg/providers/Microsoft.MachineLearningServices/workspaces/origin-workspace-name"
移动完成后,在新位置重新创建任何计算并重新部署任何 Web 服务终结点。
场景:移动具有非默认数据存储的工作区
自动化工作区移动操作不会移动非默认数据存储。 使用以下步骤在移动后手动更新数据存储凭据。
在 Azure 机器学习工作室中,选择“数据”,然后选择非默认数据存储。 对于每个非默认数据存储,检查“订阅 ID”和“资源组名称”字段是否为空。 如果是,请选择“更新身份验证”。
在“更新数据存储凭据”对话框中,选择存储帐户移动到的订阅 ID 和资源组名称,然后选择“保存”。
如果已为非默认数据资产填充“订阅 ID”和“资源组名称”字段,并在移动前引用订阅 ID 和资源组,则使用以下步骤:
后续步骤
- 了解资源移动