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

如何为VMSS启用Start/Stop VMs v2 Azure函数

问题解答

一、让Start/Stop VMs Azure函数支持VMSS实例的方法

官方的Start/Stop VMs函数默认对VMSS支持有限,需按以下步骤配置:

  • 指定完整资源ID:在函数配置的VMLists属性中,不能仅填写VMSS名称,需传入完整的VMSS资源ID,格式为/subscriptions/<订阅ID>/resourceGroups/<资源组名>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS名称>
  • 确认权限配置:确保函数使用的服务主体拥有VMSS的管理权限(如Virtual Machine Contributor角色,或更精细的Microsoft.Compute/virtualMachineScaleSets/*操作权限)
  • 升级到v2版本:旧版v1函数不支持VMSS,需部署最新的v2版本的Start/Stop VMs函数

如果以上配置后仍未生效,可修改函数代码,添加VMSS实例的处理逻辑:调用Azure REST API或Azure PowerShell模块,针对VMSS实例执行start或deallocate操作,替代原有的单VM处理逻辑。

二、替代工具方案

若官方函数无法满足需求,可选择以下工具实现VMSS自动启停:

  • Azure Automation Runbook:编写PowerShell/Python脚本,通过Azure Resource Manager API遍历VMSS实例,结合计划触发器(如每日定时)或监控指标触发器(如CPU负载阈值)执行启停操作。例如使用Start-AzVmss和Stop-AzVmss cmdlet直接操作VMSS。
  • Azure Logic Apps:创建可视化工作流,配置定时触发或基于Azure Monitor指标(如CPU使用率)的触发条件,调用VMSS的管理API实现实例启停。
  • VMSS计划自动缩放:若核心需求是基于时间或负载调整实例数量以节省成本,可配置VMSS的自动缩放规则,设置计划缩放(如夜间将实例数调整为0,白天恢复)或基于CPU等指标的动态缩放,间接实现"启停"效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:06:25