实现Azure虚拟机的自动开机
我们知道,Azure虚拟机是按照时间收费的,只要在运行的话每时每刻都在收费,
为了节约成本我们大多会设置自动关机,这个官方有提供设置很简单,
可是自动开机就没那么简单了,为了实现自动开机这个功能我尝试了一些方法也走了不少弯路,
最后总算实现了,这个帖子是给有同样需求的小伙伴一个建议,如有更好的方法烦请告知。
- 首先创建 Automation Accounts, 没什么特别的一路next默认就行
-
在上一步创建好的Automation Account里选择Run as accunts
点击 “+Azure Run As Account” -
创建一个Runbook
-
创建Runbook时 名字随便起,重点选择 PowerShell Workflow
-
输入如下PowerShell代码,记得标黄处要修改成你自己的group和虚拟机
# Association to the Azure subscribtion
$Conn = Get-AutomationConnection -Name AzureRunAsConnectionAdd-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
# Start the virtual machine
Start-AzureRMVM -ResourceGroupName "Developer" -Name "Dev01" -
点击“Save”和“Publish”,会自动迁移到下面这个页面,
选择“link to schedule”
-
根据你自己的需要填写适当的执行时间和频率
- 创建完成,如果想立刻测试的话,可以点击“Start”按钮进行测试