normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

Azure Automaiton を試してみる

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 のアカウントを作成する。現在はプレビュー版であり「米国東部」しか選択できない点に注意してほしい。
f:id:waritohutsu:20140407041053j:plain

更に RUNBOOKS タブを選択し、IMPORT ボタンを押下して RUNBOOK 向けの *.ps1 ファイルを選択してアップロードする。
f:id:waritohutsu:20140407041106j:plain

IMPORT の完了後に登録した RUNBOOK を選択し、AUTHOR → DRAFT のタブを選択してスクリプトを PUBLISH する。
f:id:waritohutsu:20140407041241j:plain

PUBLISH の実施後、START を押下することで RUNBOOK が実行される。実行の結果は以下の様に確認できる。
f:id:waritohutsu:20140407041629j:plain

複数の 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 を押下することで以下の様にログ出力されていることが確認できる。
f:id:waritohutsu:20140407041755j:plain

参考情報

*1:System Centor の OrchestratorRunbook デザイナー相当のものがまだ存在しないため、利用はハードルが高そうだ…

*2:または Asset に必ず登録する必要がある