如何为Azure应用服务设置匹配计费估算器的运行调度?
Azure应用服务定时启停实现按调度运行的方案
Azure应用服务本身没有直接内置的“运行调度”开关来匹配计费估算器里的自定义时长选项,但可以通过以下两种常用方案实现定时启停,达到每月控制在500小时内运行的目标:
方案一:使用Azure自动化账户(Runbook)
- 创建Azure自动化账户,确保账户已启用
Az模块(用于PowerShell脚本调用Azure资源) - 创建两个PowerShell Runbook,分别用于启动和停止应用服务:
启动脚本示例:
停止脚本示例:$resourceGroupName = "你的资源组名称" $webAppName = "你的应用服务名称" Connect-AzAccount -Identity # 使用自动化账户的托管身份认证 Start-AzWebApp -ResourceGroupName $resourceGroupName -Name $webAppName$resourceGroupName = "你的资源组名称" $webAppName = "你的应用服务名称" Connect-AzAccount -Identity Stop-AzWebApp -ResourceGroupName $resourceGroupName -Name $webAppName - 为每个Runbook添加计划触发器:
- 启动触发器:设置为工作日(周一至周五)的上班时段(比如早8点)触发
- 停止触发器:设置为工作日的下班时段(比如晚6点)触发,周末不设置任何触发器
- 给自动化账户分配应用服务所在资源组的
Contributor角色,确保有启停权限
方案二:使用Azure Logic Apps(可视化编排)
- 创建一个新的逻辑应用,选择“空白逻辑应用”模板
- 添加**Recurrence(重复周期)**触发器,配置执行时间:
- 启动逻辑应用:设置频率为“天”,重复周期为1天,仅在周一至周五的指定时间(如早8点)运行
- 停止逻辑应用:同理,设置为周一至周五的指定下班时间(如晚6点)运行
- 添加Azure应用服务的动作:
- 启动逻辑应用中添加“启动Web应用”,选择你的应用服务资源
- 停止逻辑应用中添加“停止Web应用”,选择对应的应用服务资源
- 确保逻辑应用的系统托管身份拥有应用服务的启停权限
关键注意事项
- 应用服务停止运行时,不会产生实例运行费用(专用计划、基本计划等均适用;消耗计划需确认其计费规则,通常停止后也不会产生持续费用)
- 首次设置后建议手动触发测试,确认启停功能正常
- 如果是多实例部署,上述方案会自动启停所有实例,无需额外配置
内容的提问来源于stack exchange,提问作者Jess
相关产品推荐
相关产品推荐

