Azure Automation (1) 入门

  《Windows Azure Platform 系列文章目录

  通过Azure Automation(自动化),开发人员可以自动完成通常要在云环境中执行的手动、长时间进行、易出错且重复性高的任务。你可以使用 Runbook 来创建、监视、管理和部署 Azure 环境中的资源。所谓的 Runbook,基本上就是指 Windows PowerShell 工作流。

  Azure Automation概念上类似Windows Service,SQL Server Job。

  举个例子,假设我们每天早上9点上班之前把一个订阅下所有的虚拟机开启,然后在下午6点下班以后把所有的虚拟机关闭,这样是非常节省成本的。

  以前我们需要通过单独某一台Azure虚拟机,定期执行PowerShell命令,因为虚拟机按照小时收费,成本会非常高,非常不划算。

  另外单独的Azure虚拟机会产生单点故障,从可靠性角度来说,也是无法保障的。

  通过使用Azure Automation,可以设置自动化的工作流,定期执行负载的业务逻辑。

  Azure Automation功能非常强大。微软Azure Automation团队提供了Runbook实例代码,读者可以浏览http://go.microsoft.com/fwlink/p/?linkid=393029&clcid=0x409,进行参考。

  最后,笔者演示一个简单的Azure Automation Hello World,使用国内由世纪互联运维的Azure China

  1.首先我们登陆管理界面,地址https://manage.windowsazure.cn

  2.选择Automation,点击Create an automation account。如下图:

  

  

  2.输入Automation的名字,如下图:

  

  

  3.在Automation栏目,选择我们之前创建的LeiAutomation。如下图:

  

  4.页面跳转,我们点击RUNBOOKS,然后点击IMPORT,如下图:

  

  5.打开浏览器浏览https://gallery.technet.microsoft.com/scriptcenter/The-Hello-World-of-Windows-81b69574

  下载相应的PS1脚本并通过上图导入到Azure Runbook。如下图:

  

  6.导入成功后,我们就可以查看到该RunBook。如下图:

  

  

  7.我们点击上图中的Write-HelloWorld,页面跳转,然后我们点击Author。如下图:

  

  8.可以看到这个RunBook的业务很简单,就是输出Hello World。具体代码如下:

workflow Write-HelloWorld {
    param (

        # Optional parameter of type string.
        # If you do not enter anything, the default value of Name
        # will be World
        [parameter(Mandatory=$false)]
        [String]$Name = "World"
    )

        Write-Output "Hello $Name"

}

  9.我们可以通过点击TEST来进行调试。如下图:

  

  

  10.调试成功后,我们就可以点击PUBLISH进行发布。如下图:

  

  11.发布成功后,我们可以在PUBLISHED里面看到发布的RUNBOOK项目,如下图:

  

  

  12.我们点击PUBLISH里面的Start按钮,可以执行该RUNBOOK。如下图:

  

  

  13.执行成功后,我们可以在Jobs里,查看到之前执行的Job。如下图:

  

  14.我们点击上图的JOB CREATED,就可以查看到执行的具体情况。图略。

  15.如果我们点击SCHEDULE,就可以定期,比如每小时,每天执行这个RUNBOOK。如下图:

  

  

  

时间: 2024-08-24 21:18:01

Azure Automation (1) 入门的相关文章

Azure Automation (2) 定期删除存储账号中的文件

<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 本文是对笔者之前的文档Azure Backup (1) 将SQL Server 2012虚拟机中数据库备份到Azure Storage进行的补充. 希望笔者先阅读Azure Automation (1) 入门,对Azure Automation有基本的概念认识. 需求: 在之前的文档中Azure Backup (1) 将SQL Server 2012虚拟机中数据库备份到Az

免费电子书:微软Azure基础之Azure Automation

(此文章同时发表在本人微信公众号"dotNET每日精华文章") Azure Automation是Azure内置的一项自动化运维基础功能,微软为了让大家更快上手使用这项功能,特意推出了一本免费电子书供大家下载阅读. 随着Azure在各国的不断落地和推广,微软也加大了Azure技术的布道工作.最近微软就开始发布一套名为"微软Azure基础(Microsoft Azure Essentials)"的系列电子书,第一本涉及Azure的基础知识,而第二本就详细讲述了Azur

使用Azure Automation(自动化)定时关闭和启动虚拟机

1. 概述 作为Windows Azure的用户,使用Azure的过程中,最担心的事情就是还没到月底,预设的费用就快消耗完了(下面两张账单图是我最讨厌看到的).但是仔细分析自己的费用列表,发现绝大部分费用消耗在虚拟机上,而Azure的虚拟机是按照开机时间来计费的,因此迫切需要找到一个方案来节省虚拟机的开销.最简单的方案就是在不需要的时候将虚拟机自动关闭,需要的时间让其自动开机.在Google了一通以后,发现可以通过Azure的自动化(Automation)功能达到上述目的.下面介绍我在Azure

Azure Automation (4) 按照Azure虚拟机的机器名,设置开关机

<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China服务. 在有的时候,我们不需要将所有的虚拟机进行开关机. 本文介绍的脚本将介绍如何使用Azure Automation,按照虚拟机的机器名,来进行开关机. 按照虚拟机的机器名开机的脚本,下载地址:http://files.cnblogs.com/files/threestone/StartVMByName.rar 按照虚拟机的机器名关机的脚本,下载地址:http://files

利用Azure Automation实现云端自动化运维(1)

Azure Automation是Azure上的一个自动化工作流引擎,基于Powershell,来帮助用户简化,集成和自动化Azure上的运维工作,例如: 实现定时开关虚拟机,节约成本 实现定时创建删除HDInsight cluster执行大数据计算任务 定时备份虚拟机上的数据库 定时归档或者删除无用的日志文件 自动化部署或者更新应用 等等 微软实际上有3个基于runbook的工作流引擎,用来完成不同的自动化工作: Azure automation用来自动化云端Azure环境中的各项任务,也是基

利用Azure Automation实现云端自动化运维(2)

Azure automation的认证: 用户名和密码 在Azure的automation中使用Powershell可以管理当前订阅的资源,也可以管理不同订阅的资源,那么问题就来了,安全性如何保障呢?Azure的自动化和其他使用或者管理Azure的客户端一样,对任何需要管理的Azure,都需要认证,最基本的有两种认证方式,一种是基于订阅的用户名密码的,一种是基于证书的,本节介绍基于用户名密码. 不建议直接在automation中使用当前管理生产订阅的账号的OrgID和密码,建议单独为automa

利用Azure Automation实现云端自动化运维(3)

Azure automation的认证方式:证书 该种方式是推荐的进行Automation认证的方式,好处在于安全性高,过期时间由自己控制,不好的地方在于大家在Windows上要生成证书比较麻烦,而且必须上传到Azure management和Automation, Automation需要两个文件:.pfx证书用于用户自动化端连接Azure,.cer文件,Azure管理端证书文件,这两个文件必须互相匹配. 对于创建证书,个人比较推荐的办法,或者我喜欢用的方法,就是利用开源的openssl工具,

利用Azure Automation实现云端自动化运维(4)

在上述基本准备工作做完后,wo们看看如何实现利用Azure Automation实现定时自动开关机的操作,这种场景非常适合Dev/Test环境,因为Azure的虚拟机是按照分钟收费的,所以我们可以在开发测试人员上班的时候打开虚拟机,而在下班,周末的时候关闭虚拟机,从而节约成本,从另外一个层面来讲,也是体现云的灵活性. 首先讲一下设计的基本原则,如何做能让你的自动化脚本更灵活,更具有可移植性: 参数化:尽量不要在脚本中写死任何变量,负责除了修改代码,别无他法,而且可维护性会变的很差 合理使用资产:

新版Azure Automation Account 浅析(二) --- 更新Powershell模块和创建Runbook

前篇我们讲了怎样创建一个自动化账户以及创建时候"Run As Account"选项背后的奥秘.这一篇针对在Azure自动化账户中使用Powershell Runbook的用户讲一下怎样更新powershell 模块. 更新Powershell模块 首先,我们需要先了解一下Azure Automation的系统架构.我们已经知道用户可以通过运行Runbook来实现自动化运维,Runbook运行则是在Azure Automation的沙盒里执行的,沙盒是一组由Azure管理的虚机资源, 我