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,你可以直接使用:
自动化账户:在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的创建及配置
- 进入Azure的管理界面,单击新建,可以在应用程序服务->自动化->runbook中创建新的runbook,刚开始的时候选择新建自动化管理账户,输入自动化管理账户的名字,选择你要部署的地区,单击创建:
- 在新建runbook的时候,也可以选择自库中,目前库中一种内置了非常多的样本脚本,稍作修改即可使用:
- 创建完成后,选择自动化下你新建的自动化账户,进入服务界面可以看到:
仪表板:显示你的自动化资源使用和调度,以及运行的工作情况
Runbook:是在你当前的自动化账户下的runbook,可以创建,编辑和修改
资产:你可以定义一些公用的数据,比如订阅名称,凭证等等,多个不同的runbook可以共享
缩放:你可以定义你的自动化服务计划,免费几乎每个月有500分钟的免费,基本加护没有时间限制,是付费的