Azure Automation (3) 定期将某个Azure订阅下的所有虚拟机开关机

简介:

Windows Azure Platform 系列文章目录

 

  本文介绍的是国内由世纪互联运维的Azure China。

 

  在笔者之前的文章中,我们介绍了使用Azure Automation可以定期开关机Azure虚拟机。因为Azure虚拟机是按照分钟计费的,为了节省成本,我们可以

  (1)在白天9点之前将所有的虚拟机开启

  (2)晚上7点以后将所有的虚拟机关闭

  (3)周末的时候不使用Azure虚拟机

  这样可以显著的降低我们使用Azure虚拟机的成本,对于开发测试环境来说,特别使用Azure虚拟机。

 

  开启订阅下所有虚拟机的脚本如下:

  https://github.com/leizhang1984/AzureChinaAutomation/blob/master/ASM/StartAllVM.ps1

 

  关闭订阅下所有虚拟机的脚本如下:

  https://github.com/leizhang1984/AzureChinaAutomation/blob/master/ASM/StopAllVM.ps1

 

 

  请注意,在导入Runbook之前,修改相应的参数,如下:

复制代码
                #设置Org ID
                [parameter(Mandatory=$true)]
                [String]$AzureOrgId="[YourOrgID]",
          
                #设置Org ID的密码
                [Parameter(Mandatory = $true)] 
                [String]$Password="[YourPassword]",
                
                #设置订阅名称
                [Parameter(Mandatory = $true)] 
                [String]$AzureSubscriptionName="[YourSubscriptionName]"
复制代码

 

 

 

  这里的部分内容我之前已经介绍过了,请参考笔者之前的文档: Azure Automation (2) 定期删除存储账号中的文件

  

  主要步骤有以下三个部分:

  1.创建协同管理员co-admin

  2.导入Runbook

  3.设置计划任务

 

  1.创建协同管理员,略

  2.我们创建一个Automation命令为LeiAutomation。点击该Automation,如下图:

  

 

  3.页面跳转,我们点击RUNBOOKS,然后点击 IMPORT,如下图。

  

  导入完毕后,我们就可以查看到该RunBook,如下图:

  

 

  4.记得导入Azure Automation RunBook之后,需要Publish这个RunBook

  

 

  5.Publish之后,我们就可以在PUBLISHED里面看到发布的RUNBOOK项目

 

  6.执行成功后,我们可以在Schedule里面设置计划任务。我们创建一个新的计划任务,选择LINK TO A NEW Schedule,如下图:

  

 

  7.我们首先命名这个Schedule(计划任务),图略

  

  8.然后设置计划任务频率。如下图:

  

  注意,开启虚拟机的时候会花费一点时间,所以我们提前开启Azure虚拟机,设置在8:45执行这个Runbook脚本。

  那我们关闭Azure虚拟机的时候,可以稍微延后一点,比如在晚上7:10开始关闭Azure虚拟机。

 

 

 

  本博-三石Blog(下文简称本博),在本博客文章结尾处右下脚未注明转载、来源、出处的作品(内容)均为本博原创,本站对于原创作品内容对其保留版权,请勿随意转载,如若真有需要的朋友可以发Mail联系我;转载本博原创作品(内容)也必须遵循“署名-非商业用途-保持一致”的创作共用协议,请务必以文字链接的形式标明或保留文章原始出处和博客作者(Lei Zhang)的信息,关于本博摄影作品请务必注意保留(www.cnblog.com/threestone)等相关水印版权信息,否则视为侵犯原创版权行为;本博谢绝商业网站转载。版权所有,禁止一切有违中华人民共和国著作权保护法及相关法律和本博(法律)声明的非法及恶意抄袭。


本文转自Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/4776132.html,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
安全 Linux 开发工具
【Azure 环境】Azure 虚拟机上部署 DeepSeek R1 模型教程(1.5B参数)【失败】
遇见错误一:operator torchvision::nms does not exist 遇见错误二:RuntimeError: Failed to infer device type
539 22
|
安全
【Azure 云服务】Azure Cloud Service 关于虚拟机资源,杀毒软件配置,补丁机制的问答
【Azure 云服务】Azure Cloud Service 关于虚拟机资源,杀毒软件配置,补丁机制的问答
|
API 网络架构 开发者
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
【Azure 环境】调用Azure RunCommand 的REST API 设置虚拟机的环境变量(SetEnvironmentVariable)
104 0
|
安全 Windows
【Azure 环境】Azure 的PaaS服务如果涉及到安全漏洞问题后,我们如何确认所用服务的实例(VM:虚拟机)的操作系统已修复该补丁呢?
【Azure 环境】Azure 的PaaS服务如果涉及到安全漏洞问题后,我们如何确认所用服务的实例(VM:虚拟机)的操作系统已修复该补丁呢?
139 0
|
安全 网络安全
【Azure 环境】当本地网络通过ER专线与Azure云上多个虚拟网络打通,如何通过特定的网络策略来限制本地部分网段访问云上虚拟机22端口?
【Azure 环境】当本地网络通过ER专线与Azure云上多个虚拟网络打通,如何通过特定的网络策略来限制本地部分网段访问云上虚拟机22端口?
152 0
|
API 网络架构
【Azure Developer】如何通过Azure REST API 获取到虚拟机(VM)所使用的公共IP地址信息
【Azure Developer】如何通过Azure REST API 获取到虚拟机(VM)所使用的公共IP地址信息
119 0
|
JSON API 网络架构
【Azure Developer】Azure REST API: 如何通过 API查看 Recovery Services Vaults(恢复保管库)的备份策略信息? 如备份中是否含有虚拟机的Disk
【Azure Developer】Azure REST API: 如何通过 API查看 Recovery Services Vaults(恢复保管库)的备份策略信息? 如备份中是否含有虚拟机的Disk
|
存储 API 开发工具
【Azure 环境】在Azure虚拟机(经典) 的资源中,使用SDK导出VM列表的办法
【Azure 环境】在Azure虚拟机(经典) 的资源中,使用SDK导出VM列表的办法
103 0
|
Java 数据安全/隐私保护 Windows
【Azure Developer】使用Java代码启动Azure VM(虚拟机)
【Azure Developer】使用Java代码启动Azure VM(虚拟机)
|
存储 Java API
【Azure Developer】通过Azure提供的Azue Java JDK 查询虚拟机的CPU使用率和内存使用率
【Azure Developer】通过Azure提供的Azue Java JDK 查询虚拟机的CPU使用率和内存使用率
132 0