前回は Azure Automation パート1として、イントロダクションを行いましたが、パート2の今回は、Runbook について、種類、作成方法などを説明します。
パート1のイントロダクションをまだ読んでいない場合は、是非前回のブログをお読みください。
Runbook の種類
Runbook の作成を始める前に、まず、Azure Automation にどのような Runbook があるのか、確認しておきたいと思います。
Azure Automation には次の5種類の Runbook があります。
詳細については、各 Runbook タイプのリンクをクリックしてください。
PowerShell タイプの Runbook の作成
このブログでは、PowerShell Runbook のみに絞って説明します。Runbook を作成するには、前回のブログに既述の、Azure Automation アカウントが既に作成されている必要があります。
以下では、Azure Portal を使用して PowerShell Runbook を作成する方法と、PowerShell を使用して PowerShell Runbook を作成する方法を説明します。
Azure Portal を使用して PowerShell Runbook を作成
まず、Azure Portal にログインし、作成済みの Automation アカウントに移動します。(ここでは、Automation アカウントは ‘Azure-AA’ です
左側のナビゲーションペインで [Runbooks] をクリックし、次に [Create a runbook] をクリックします。
[‘Runbooks’ を、それから ‘Create a runbook’ をクリック]
Runbook 作成フォームがポータルの右側に表示されます。
- Runbook に名前をつけます。ここでは、my-first-runbook としました。
- Runbook タイプとして、PowerShell を選択します。
- Runbook について簡単に記述します。
- [Create] をクリックします。
[Runbook 作成フォームに必要事項を記入して ‘Create’ をクリック]
Runbook の作成が完了するのを待ちます。作成が完了したら、Runbooks ページで新しい Runbook が作成されたことを確認できます。
[Runbook が作成されました]
PowerShell を使用して PowerShell Runbook を作成
まず、PowerShell を使用して Azure にログインします。次に、下のコマンドを使用して、新しい Runbook を作成します。コードをコピーして PowerShell セッションに貼り付けるだけです。
New-AzAutomationRunbook
-Name 'my-first-runbook'
-Type PowerShell
-ResourceGroupName Azure-AA-RG
-Description 'my-first-runbook'
-AutomationAccountName Azure-AA
このコマンドは、Azure-AA という Automation アカウントを使用して、Azure-AA-RG リソースグループ内に Runbook タイプが PowerShell である my-first-runbook という名前の新しい Runbook を作成するものです。
コマンドが問題なく実行されると、次のように出力されます。
Runbook のリストが欲しいときは、下のコマンドを、ResourceGroupName と AutomationAccountName の部分を置き換えて使ってください。
Get-AzAutomationRunbook
-ResourceGroupName
-AutomationAccountName
[サブスクリプション内の Runbook のリスト]
Runbook にコードを入力
この時点では、Runbook 自体は作成されているものの、まだコードは含まれていません。コードが入っていない Runbook は、実質的には無意味です。
ポータルを使っても、PowerShell を使っても、Runbook にコードを入力することができます。2つのアプローチの主な違いは、スクリプトの編集方法です。
ポータルを使用する場合は、ポータルのエディタを使用してスクリプトを編集する必要がありますが、PowerShell を使用する場合は、スクリプトをオフラインで作成するか、外部エディタを使って編集し、Import-AzAutomationRunbook コマンドを使用して Runbook にインポートします。
Azure Portal を使用して Runbook にコードを入力
Azure Portal から Runbook に移動します。Runbook の Overview で、[Edit] をクリックします。
[Runbook のプロパティ]
コードを入力できる Runbook エディタが開きます。テストのために、Write-Output 'Hello PowerShell' と入力して、[Save] をクリックします。これでコードが保存できます。
[テスト・コードを入力し、保存]
PowerShell を使用して Runbook にコードを入力
コードを準備する
注意事項:インポートする Runbook コードを含むファイルには、拡張子 .ps1 が必要です。他のファイル拡張子は受け入れられず、エラーが発生します。
選択したエディタを使用して、my-first-runbook.ps1 という名前のファイルを作成します。ここの例では、PowerShell ISE を使用してコードを編集し、完了したら C: にファイルを保存しています。
[PowerShell ISE で編集されたテスト・スクリプト]
コードをインポートする
スクリプトファイルを保存した後、次のコマンドを使用してコードを Runbook にインポートします。
Import-AzAutomationRunbook
-ResourceGroupName Azure-AA-RG
-AutomationAccountName Azure-AA
-Path C:\Temp\my-first-runbook.ps1
-Type PowerShell
-Name my-first-runbook
-Force
このコマンドは、Azure-AA という Automation アカウントを使用して、Azure-AA-RG リソースグループ内の Runbook タイプが PowerShell である my-first-runbook という名前の Runbook に、C:\Temp\my-first-runbook.ps1 というコードをインポートするものです。インポートが成功すると、以下のように表示されます。
[PowerShell で -Force パラメータを使って既存の Runbook にインポートされたテスト・スクリプト]
既存の Runbook にインポートするために、-Force パラメータを使います。-Force パラメータを使わずにインポートしようとすると、Runbook はすでに存在しています、というエラーが返ってきて、インポートは失敗します。
[-Force パラメータを使わずに既存の Runbook にスクリプトをインポートしようとした場合]
ヒント: Import-AzAutomationRunbook コマンドで、既存でない Runbook 名を指定すると、指定した名前を使用して新しい Runbook が自動的に作成されます。つまり、スクリプトの準備ができていれば、Runbook を事前に作成することなく、コードを新しい Runbook に直接インポートできます。
まとめ
このブログでは、5種類の Runbook があることを説明し、Azure Portal と PowerShell を使用して、PowerShell Runbook を作成し、Runbook にコードを入力する方法を示しました。
次のブログでは、変数や資格情報などの Automation アセットを作成・保存する方法、そしてそれらを Runbook で使用する方法を説明する予定です。
June Castillote
June has been in IT since 2004 and is currently an IT Engineer and Consultant by day. He's also a freelance writer, blogger, and coder. When not dabbling with tech stuff, he's mostly busy with his family, their dogs, and trying hard to be a mechanic.