You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按计划自动将Azure机器学习在线端点非工作时段成本降至0?

实现Azure ML在线端点非工作时段成本归零的方案

可以实现,核心思路是定时删除非工作时段的部署,次日重新创建部署——因为托管在线端点只要存在活跃部署就会产生费用,即使缩容到0实例,基础计算资源仍会保留计费,只有删除部署才能彻底停止计费。以下是具体操作步骤:

方案一:使用Azure Automation Runbook(推荐)

1. 准备自动化账户

在Azure门户创建Automation账户,启用系统分配的托管身份,给该身份分配Azure ML工作空间的参与者权限,确保能执行部署的删除与创建操作。

2. 编写Runbook脚本

(1)删除部署的PowerShell脚本示例

$resourceGroupName = "你的资源组名称"
$workspaceName = "你的ML工作空间名称"
$endpointName = "你的在线端点名称"
$deploymentName = "你的部署名称"

# 以托管身份连接Azure
Connect-AzAccount -Identity
# 删除指定部署
Remove-AzMLOnlineDeployment -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -EndpointName $endpointName -Name $deploymentName -Force

(2)重新创建部署的PowerShell脚本示例

提前将部署配置保存为YAML文件(如deployment-config.yaml),上传到Automation账户的存储中,再通过脚本调用:

$resourceGroupName = "你的资源组名称"
$workspaceName = "你的ML工作空间名称"
$endpointName = "你的在线端点名称"
$deploymentName = "你的部署名称"
$configPath = "/Modules/deployment-config.yaml" # 配置文件在Automation存储中的路径

Connect-AzAccount -Identity
# 按配置重新创建部署
New-AzMLOnlineDeployment -ResourceGroupName $resourceGroupName -WorkspaceName $workspaceName -EndpointName $endpointName -Name $deploymentName -DeploymentFile $configPath

3. 设置定时触发器

给两个Runbook分别添加时间触发器:

  • 删除部署触发器:设为非工作时段开始时间(比如每日18:00)
  • 创建部署触发器:设为工作时段开始时间(比如次日8:00)

方案二:使用Azure Logic Apps

1. 创建逻辑应用

在Azure门户创建消耗型逻辑应用,给逻辑应用的系统身份分配Azure ML工作空间的参与者权限。

2. 设计自动化工作流

(1)删除部署工作流

  • 触发器:选择「Recurrence(定期)」,设置每日非工作时段的执行时间
  • 操作:添加「Azure Machine Learning」模块中的「Delete Online Deployment」,填写资源组、工作空间、端点及部署名称

(2)创建部署工作流

  • 触发器:选择「Recurrence(定期)」,设置每日工作时段的执行时间
  • 操作:添加「Azure Machine Learning」模块中的「Create Online Deployment」,填写必要参数或引用提前保存的部署配置

注意事项

  • 提前备份部署的完整配置(模型路径、运行环境、实例规格等),确保重新创建的部署与原部署一致
  • 测试自动化流程,验证删除和创建操作是否正常执行,避免工作时段服务中断
  • 仅删除部署保留端点本身不会产生额外费用,端点本身无计费项

内容的提问来源于stack exchange,提问作者lte__

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 10:24:55