2014年4月に開催された BUILD 2014 では様々な機能が追加されたが、ちょっとだけ触ってみた Azure Automation について記載してみる。現時点ではまだプレビュー機能なので、管理ポータルから Activate を実施する必要がある。Azure Automation の公式サイトは以下になるが、まだ情報は少ないようだ。。。
Azure Automaiton の概要
Azure Automaiton を利用することで、Microsoft Azure 上で PowerShell のスクリプトを利用/組み合わせで様々な処理を実施することができる。こちらの Get started with Azure Automation にも記載されているが、Windows PowerShell Workflows としての利用ができるようだ。
後述するが、PowerShell のスクリプトを Runbook として登録して利用することから、どうやら System Center 2012 R2 Orchestrator の Microsoft Azure 版というのがイメージしやすそうだ*1。
Get Started を試す
さっそく Get started with Azure Automation を参照しつつ試してみようと思う。
まずは Script Centor から、以下の Write-HelloWorld.ps1 をダウンロードする。
- Write-HelloWorld.ps1
workflow Write-HelloWorld { param ( [parameter(Mandatory=$false)] [String]$Name = "World" ) Write-Output "Hello $Name" }
次に、管理ポータルから Automation のアカウントを作成する。現在はプレビュー版であり「米国東部」しか選択できない点に注意してほしい。
更に RUNBOOKS タブを選択し、IMPORT ボタンを押下して RUNBOOK 向けの *.ps1 ファイルを選択してアップロードする。
IMPORT の完了後に登録した RUNBOOK を選択し、AUTHOR → DRAFT のタブを選択してスクリプトを PUBLISH する。
PUBLISH の実施後、START を押下することで RUNBOOK が実行される。実行の結果は以下の様に確認できる。
複数の RUNBOOK を実行する
上記で実施した Hello World のスクリプトに続き、Script Centor のサンプルに登録された How to Invoke a Child Runbook を参照し、以下のスクリプトを作成した。こちらのスクリプトは Write-HelloWorld.ps1 を子供として呼び出すスクリプトになる。
workflow Invoke-ChildRunbookSample { [OutputType( [object] )] param ( # Variable [parameter(Mandatory=$true)] [String]$MyVariable ) Write-HelloWorld -Name "Hello World を書いてみる" Write-HelloWorld -Name $MyVariable }
上記のスクリプトを RUNBOOK として登録して PUBLISH の実施*2後、START を押下することで以下の様にログ出力されていることが確認できる。
参考情報
- Azure Automation のデモを実行している BUILD 2014 のセッション
- MSDN - Automation