Azure Automation是Azure上的一个自动化工作流引擎,基于Powershell,来帮助用户简化,集成和自动化Azure上的运维工作,例如:

  • 实现定时开关虚拟机,节约成本

  • 实现定时创建删除HDInsight cluster执行大数据计算任务

  • 定时备份虚拟机上的数据库

  • 定时归档或者删除无用的日志文件

  • 自动化部署或者更新应用

  • 等等

微软实际上有3个基于runbook的工作流引擎,用来完成不同的自动化工作:

  • Azure automation用来自动化云端Azure环境中的各项任务,也是基于Powershell    

  • Windows Azure Pack里面的Service Management Automation主要是面向私有云的自动化引擎, 他和Azure Automation一样都是基于Powershell的自动化引擎, 并且使用同样格式的runbook,但SMA不支持graphical runbook

  • System Center 2012 R2 Orchestrator 工作流管理引擎用于管理用户数据中心的各种资源,但是他使用和Azure Automation和SMA不同格式的runbook

在Azure的Automation里面有一些基本的概念在开始之前需要了解一下:

Runbook:实际上在Azure Automation里面是一组执行自动化任务的集合,例如你要对某个虚拟机每天进行定时的日志备份和关机,那么这些日志备份和关机的操作就构成了一个runbook。你可以从头开始写一个自己的runbook,但是,实际上微软提供了非常多的现成的runbook,你可以直接使用:

https://gallery.technet.microsoft.com/scriptcenter/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=WindowsAzure&f%5B1%5D.Type=SubCategory&f%5B1%5D.Value=WindowsAzure_automation&f%5B1%5D.Text=Automation

自动化账户:在Azure中创建的用来管理Runbook的账户,一个自动化账户下可以有多个runbook。

Azure Automation DSC:Powershell的Desired State Configuration是一个管理平台,循序你使用声明式的Powershell部署管理你的虚拟机,而Azure Automation的DSC是一个基于Azure云端的Powerhsll DSC解决方案,可以让你把你的服务器配置,通过DSC的pull server,应用到云端

 

在本文中,针对Azure的automation主要介绍如下三个内容:

  • Runbook的创建及配置

  • Azure automation的认证方式:OrgID和密码

  • Azure automation的认证方式:证书

  • 实际案例:定时开/关虚拟机

Runbook的创建及配置

  1. 进入Azure的管理界面,单击新建,可以在应用程序服务->自动化->runbook中创建新的runbook,刚开始的时候选择新建自动化管理账户,输入自动化管理账户的名字,选择你要部署的地区,单击创建:

     

  2. 在新建runbook的时候,也可以选择自库中,目前库中一种内置了非常多的样本脚本,稍作修改即可使用:

     

  3. 创建完成后,选择自动化下你新建的自动化账户,进入服务界面可以看到:

     

    仪表板:显示你的自动化资源使用和调度,以及运行的工作情况

     

    Runbook:是在你当前的自动化账户下的runbook,可以创建,编辑和修改

    资产:你可以定义一些公用的数据,比如订阅名称,凭证等等,多个不同的runbook可以共享

     

    缩放:你可以定义你的自动化服务计划,免费几乎每个月有500分钟的免费,基本加护没有时间限制,是付费的