Azure自动化混合runbook管理本地资

之前其实写到过很多篇关于Azure Automationd的应用,如果想在云上跑一些定时的任务,自动化是个不错的选择,但是之前写的博客里实现的场景也都是做一些和云上相关的操作,那么如果我们想把云和本地打通,使用自动化去管理本地的机器呢?其实也是可以实现的,我们可以使用自动化中的混合工人来做这个事,因为自动化本身是没有我们在前提机器的凭证的,所以我们需要借助于代理来实现这个功能


可以先来看一下微软关于这方面的介绍

Azure自动化中的Runbook可能无权访问其他云或本地环境中的资源,因为它们在Azure云平台中运行。利用Azure自动化的混合Runbook辅助角色功能,既可以直接在计算机上运行Runbook,也可以对环境中的资源运行Runbook,从而管理这些本地资源。Runbook在Azure自动化中进行存储和管理,然后发送到一台或多台指定的计算机。


混合Runbook的整体架构可以参考下图,混合Runbook其实还要借助日志Analystics来实现,安装完成后,会看到日志Analystics的控制面板


癆zure自动化混合Runbook管理本地资"


总的来说其实架构并不复杂,下边来说说混合Runbook能帮我们解决什么问题,在服务器数量很少的时候其实体现的不明显,但是如果服务器很多的时候,比如我们有很多台数据库服务器,我们在每台服务器上都跑了定时任务进行数据库备份,但是这种分散的备份脚本不利于统一的管理,不管是开启/暂停,还是做一些修改,又或者是说要查看脚本执行的情况,都需要把管理任务分散到每一台服务器上去看,但是如果通过统一的混合Runbook去做,我们就相当于有了一个统一的脚本执行的平台,所有这些任务都可以在这个平台上去完成


这只是一个简单的说明,类似地场景还有很多,下面我们来看下如何部署混合工人

总体来讲我们可以分为三个步骤:

1。自动化部署账户

2。部署日志分析

3。部署hybrid worker


首先先把automation account创建出来

Azure Automation混合runbook管理本地资


创建完成后可以看到相关的信息Azure Automation混合runbook管理本地资




接下来部署Log Analytics,Log Analytics部署也很简单

Azure Automation混合runbook管理本地资


可以看到这些信息就代表部署成功了Azure Automation混合runbook管理本地资





接下来就可以部署Hybrid worker了

部署Hybrid worker需要用到一个叫New-OnPremiseHybridWorker的脚本,这个脚本我们可以直接通过PowerShellGet下载到

直接通过Install-Script -Name New-OnPremiseHybridWorker进行安装即可

Azure Automation混合runbook管理本地资



如果安装过程中遇到以上报错,可以尝试更新PowerShellGet module的版本

install-module PowerShellGet -Force

Azure Automation混合runbook管理本地资


之后关闭PowerShell再打开尝试,报错消失,正常安装了

Azure Automation混合runbook管理本地资


下边就可以开始正式部署了,这个脚本有一些参数是必须要配置的

AutomationAccountName(必需):自动化帐户的名称。

AAResourceGroupName(必需):与自动化帐户关联的资源组的名称。

OMSResourceGroupName(可选):Log Analytics 工作区的资源组的名称。 如果未指定此资源组,则使用 AAResourceGroupName 。

HybridGroupName(必需):混合 Runbook 辅助角色组的名称,可将其指定为支持此方案的 runbook 的目标。

SubscriptionID(必需):包含自动化帐户的 Azure 订阅 ID。

WorkspaceName(可选):Log Analytics 工作区名称。 如果没有 Log Analytics 工作区,该脚本会创建并配置一个。

Azure自动化混合runbook管理本地资