<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1678611822423757&amp;ev=PageView&amp;noscript=1">

Azure Automation パート2:Runbook の作成

June Castillote| December 30 2019

| IT insights, PowerShell, 自動化

creating-your-first-azure-automation-runbook

前回は Azure Automation パート1として、イントロダクションを行いましたが、パート2の今回は、Runbook について、種類、作成方法などを説明します。

パート1のイントロダクションをまだ読んでいない場合は、是非前回のブログをお読みください。

Runbook の種類

Runbook の作成を始める前に、まず、Azure Automation にどのような Runbook があるのか、確認しておきたいと思います。

Azure Automation には次の5種類の Runbook があります。azure-automation-runbook-1

azure-automation-runbook-1

詳細については、各 Runbook タイプのリンクをクリックしてください。

グラフィカル

グラフィカル PowerShell ワークフロー

PowerShell

PowerShell ワークフロー

Python

PowerShell タイプの Runbook の作成

このブログでは、PowerShell Runbook のみに絞って説明します。Runbook を作成するには、前回のブログに既述の、Azure Automation アカウントが既に作成されている必要があります。

以下では、Azure Portal を使用して PowerShell Runbook を作成する方法と、PowerShell を使用して PowerShell Runbook を作成する方法を説明します。

Azure Portal を使用して PowerShell Runbook を作成

まず、Azure Portal にログインし、作成済みの Automation アカウントに移動します。(ここでは、Automation アカウントは ‘Azure-AA’ です。)azure-automation-runbook-2azure-automation-runbook-2

azure-automation-runbook-2[Automation アカウント、‘Azure-AA’ のある場所]

左側のナビゲーションペインで [Runbooks] をクリックし、次に [Create a runbook] をクリックします。azure-automation-runbook-3

[‘Runbooksを、それからCreate a runbook をクリック]

Runbook 作成フォームがポータルの右側に表示されます。

  1. Runbook に名前をつけます。ここでは、my-first-runbook としました。
  2. Runbook タイプとして、PowerShell を選択します。
  3. Runbook について簡単に記述します。
  4. [Create] をクリックします。azure-automation-runbook-4

[Runbook 作成フォームに必要事項を記入して ‘Create’ をクリック]

Runbook の作成が完了するのを待ちます。作成が完了したら、Runbooks ページで新しい Runbook が作成されたことを確認できます。azure-automation-runbook-5

[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 を作成するものです。

コマンドが問題なく実行されると、次のように出力されます。azure-automation-runbook-6azure-automation-runbook-6

azure-automation-runbook-6[PowerShell を使った Runbook 作成]

Runbook のリストが欲しいときは、下のコマンドを、ResourceGroupName AutomationAccountName の部分を置き換えて使ってください。

Get-AzAutomationRunbook
    -ResourceGroupName <ResourcGroupName>
    -AutomationAccountName <AutomationAccountName>

azure-automation-runbook-7pngazure-automation-runbook-7png[サブスクリプション内の Runbook のリスト]

Runbook にコードを入力

この時点では、Runbook 自体は作成されているものの、まだコードは含まれていません。コードが入っていない Runbook は、実質的には無意味です。

ポータルを使っても、PowerShell を使っても、Runbook にコードを入力することができます。2つのアプローチの主な違いは、スクリプトの編集方法です。

ポータルを使用する場合は、ポータルのエディタを使用してスクリプトを編集する必要がありますが、PowerShell を使用する場合は、スクリプトをオフラインで作成するか、外部エディタを使って編集し、Import-AzAutomationRunbook コマンドを使用して Runbook にインポートします。

Azure Portal を使用して Runbook にコードを入力

Azure Portal から Runbook に移動します。Runbook の Overview で、[Edit] をクリックします。azure-automation-runbook-8

[Runbook のプロパティ]

コードを入力できる Runbook エディタが開きます。テストのために、Write-Output 'Hello PowerShell' と入力して、[Save] をクリックします。これでコードが保存できます。azure-automation-runbook-9

[テスト・コードを入力し、保存]

PowerShell を使用して Runbook にコードを入力

コードを準備する

注意事項:インポートする Runbook コードを含むファイルには、拡張子 .ps1 が必要です。他のファイル拡張子は受け入れられず、エラーが発生します。

選択したエディタを使用して、my-first-runbook.ps1 という名前のファイルを作成します。ここの例では、PowerShell ISE を使用してコードを編集し、完了したら C: にファイルを保存しています。azure-automation-runbook-10

azure-automation-runbook-11[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 というコードをインポートするものです。

インポートが成功すると、以下のように表示されます。azure-automation-runbook-11

azure-automation-runbook-11azure-automation-runbook-11[PowerShell で -Force パラメータを使って既存の Runbook にインポートされたテスト・スクリプト]

既存の Runbook にインポートするために、-Force パラメータを使います。-Force パラメータを使わずにインポートしようとすると、Runbook はすでに存在しています、というエラーが返ってきて、インポートは失敗します。azure-automation-runbook-12

[-Force パラメータを使わずに既存の Runbook にスクリプトをインポートしようとした場合]

ヒント: Import-AzAutomationRunbook コマンドで、既存でない Runbook 名を指定すると、指定した名前を使用して新しい Runbook が自動的に作成されます。つまり、スクリプトの準備ができていれば、Runbook を事前に作成することなく、コードを新しい Runbook に直接インポートできます。

まとめ

このブログでは、5種類の Runbook があることを説明し、Azure Portal PowerShell を使用して、PowerShell Runbook を作成し、Runbook にコードを入力する方法を示しました。

次のブログでは、変数や資格情報などの Automation アセットを作成・保存する方法、そしてそれらを Runbook で使用する方法を説明する予定です。

「ワークフロー自動化で効率と活性を引き出す5つのポイント」をダウンロード

Topics: IT insights, PowerShell, 自動化

Default HTML block

コメントをどうぞ

メールアドレスは公開されません。アスタリスクマーク*のついたフィールドは必須項目です。

THIS POST WAS WRITTEN BY 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.

無料試用版

無料試用版をお気軽にお試しください。

無料試用版を試す

コンタクト

ご質問、ご意見をお寄せください。

連絡先

ブログの定期メール便

ブログを定期的にメール配信いたします。