Azure Automation 可以提供一些自动化的功能,比如我们可以指定在每天早上6点开启虚拟机,每天晚上8点关闭虚拟机。

同时还提供一些基于监控参数的自动化配置。今天的主要内容是介绍通过Automation 实现定时对虚拟机进行开机和关机操作。


Azure对不同状态下的虚拟机计费情况:

Azure Automation 自动化-自动关闭Azure 虚拟机_第1张图片

        workflow startVM{   
                 $Cred = Get-AutomationPSCredential -Name "test-cred";
                  Add-AzureRmAccount -Credential 
                  $Cred -EnvironmentName AzureChinaCloud;
                  Select-AzureRmSubscription -SubscriptionId "xxxx-xxxx-xxxx";
                  Start-AzureRmVM -ResourceGroupName "seanyutest" -Name "testvm"
             }
              
         workflow stopVM{    
                  $Cred = Get-AutomationPSCredential -Name "test-cred";     
                  Add-AzureRmAccount -Credential $Cred -EnvironmentName AzureChinaCloud;    
                  Select-AzureRmSubscription -SubscriptionId "xxxx-xxxx-xxxx";    
                  Stop-AzureRmVM -ResourceGroupName "seanyutest" -Name "testvm" -Force
              }
注意关机时应该增加参数 -Force,因为在powershell中执行关机时,会有交互内容,需从键盘输入YES才会执行关机操作,当我们通过Automation执行关机时,则应该强制关机。


目前支持的Runbook有如下几种类型:

Azure Automation 自动化-自动关闭Azure 虚拟机_第2张图片


Azure 自动化可以在基础结构和应用程序的整个生命周期中进行管理。 可以将有关组织如何交付和维护工作负荷的知识传输到系统中;主要可以实现以下内容:

生成/部署资源 - 使用 Runbook 和 Azure 资源管理器模板在混合环境中部署 VM。 集成到 Jenkins 等开发工具中。

配置 VM - 使用基础结构和应用程序所需的配置评估和配置 Windows 和 Linux 计算机。

监视 - 确定计算机上那些导致问题的更改,进行相应的补救,或者将其升级到管理系统。

保护 - 在已引发安全警报的情况下隔离 VM。 设置来宾内要求。

管控 - 为团队设置基于角色的访问控制。 恢复未使用的资源。