Azure 基础 : 使用 Automation 定时开机

前端之家收集整理的这篇文章主要介绍了Azure 基础 : 使用 Automation 定时开机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

自动关机的功能。这是一个很棒的功能,可以帮助我们定时关闭虚机并释放掉资源以节省开支。如果某台虚机在夜间不需要提供服务,我们就可以把它配置为晚上的某个时间点自动关机:

自动关机的时候我们没有发现定时开机的相关配置!不仅如此,笔者在新建虚机的时候发现默认的设置中居然打开了定时关机的功能

50297a7507.png" alt="">

方法就是写一个 PowerShell 脚本,在脚本中登录 Azure,然后执行开机的命令。如果要每天定时开机,可以创建一个计划任务定时执行 PowerShell 脚本就可以了。自动登录》一文(只要把 demo 中重启虚机的命令改为启动命令就可以了)。但是这种方式有一个缺点:我们保存在文件中的登录信息会过期。也就是说每隔一段时间都需要重新登录一遍并导出新的登录信息到文件中。

方法有缺点,就让我们看看 MS 推荐的解决方案(要收费的)。自动化运维的服务:Automation。所以我们可以通过 Automation 中提供的服务来实现定时开机的功能

自动化的工作,需要先新建一个 Automation 类型的服务,其实就是创建一个 Automation Account:

自动化任务的 runbook:

用户可以选择自己喜欢的方式。这里我们新建一个 PowerShell 类型的 runbook:

代码:

= = =Get-AutomationConnection -Name ---TenantId -ApplicationId -CertificateThumbprint -AzureRmVM -Name 'vm name' - = Failed to start. (! = -Error -Message = = ConvertTo-SecureString -AsPlainText - = New-Object System.Management.Automation.PSCredential , = = = = = -MailMessage -smtpServer ` -Credential ` -Usessl ` -Port 587 ` -from ` -to ` -subject ` -Body ` --Output

显示到执行的日志中。

自定义的 AutomationConnection。

登录从而获得操作资源的权限。

发送邮件

管理员发送通知邮件邮件通过 sendgrid 的服务器进行发送,报告启动虚机的过程是否成功:

= = ConvertTo-SecureString -AsPlainText - = New-Object System.Management.Automation.PSCredential , = = = = = -MailMessage -smtpServer ` -Credential ` -Usessl ` -Port 587 ` -from ` -to ` -subject ` -Body ` --Output

输出执行的日志信息。通过这种方式我们可以检查脚本的执行情况并对脚本进行调整。

添加一个计划任务:

解决我们在其它方案中碰到的登录认证问题。自动化功能的,那它自然应该具有很多拿的出手的能力,笔者后续会对 Azure Automation 做专门的介绍。

猜你在找的Azure相关文章