このページの本文へ

FIXER Tech Blog - Azure

FIXER cloud.config Tech Blog

PowerShellの操作を自動化! Azure Automationの「Power Shell Runbook」とは

2023年02月21日 15時00分更新

文● 佐藤 晴輝/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「PowerShellの操作を自動化! Azure Automation の Power Shell Runbook を使いこなそう!!」を再編集したものです。

 こんにちは、さとはるです。

 今回はAzure上でPower Shellスクリプトを実行させることができる、Azure AutomationのPower Shell Runbookをご紹介します!

Azure AutomationのPower Shell Runbookとは?

 単純にAzure上でPower Shellスクリプトを実行するだけなら Azure Cloud Shellがありますが、そちらは本当にShellをウェブ上で実行するための環境なので、手動で操作するのが前提に思えます。

 一方Runbookは豊富な呼び出し方法を使って予め用意しておいたスクリプトを繰り返し実行することに特化しています。

 WebhookやAPIが用意されているのでどこからでも呼び出せると言っても過言ではないですが、Azureアラートに反応してキックできるのは嬉しいですね。

 早速使ってみましょう!

流れ

1. Automation アカウントを作成
2. Runbookを作成
3. 実行!

1. Automation アカウントを作成

 Azure Portalで「Automation」と検索してリソースを作成します。

 名前やリージョンなどは任意の値を入力し、その他の項目は初期値で作成します。

 初期値の場合は[ID]に[システム割り当て済]が設定されることを覚えておきましょう。

2. Runbookを作成

 左のブレードから[プロセスオートメーション]=>[Runbook]と開きます。

 Automationアカウントを作った段階でチュートリアルRunbookがあるので参考にしてもいいかもしれません。

 新規に追加したい場合は上部の[Runbookの作成]をクリックします。

 Runbookの[名前]と[説明]は任意のものを入力してください。

 [Runbookの種類]は[PowerShell],[ランタイムバージョン]は[5.1]を選択します。

 作成に成功するとPower Shellのスクリプトを入力できる画面が開きます。

 この画面は後からも開けるので安心してください。

 あとは自由にPower Shellスクリプトを作成するだけです。

 画面左のコマンドレットにはPowerShellコマンドのテンプレートが入っているので、活用してもよいと思います。

 今回は例として実行時の引数を名前とするリソースグループを作成するスクリプトを作成してみましょう。

 以下に全文を載せておきます。

Param
(
 [Parameter (Mandatory= $true)]
 [String] $RgName = 'rg-default-001'
)
try
{
 "Logging in to Azure..."
 Connect-AzAccount -Identity
}
catch {
 Write-Error -Message $_.Exception
 throw $_.Exception
}
New-AzResourceGroup `
-Name $RgName `
-Location 'Japaneast'

 Connect-AzAccount -Identityで接続されるAzure のアカウントはデフォルトでは[システム割り当て済]のマネージドIDになります。

 こいつに必要な権限を振っておきましょう。

 Automationアカウントに戻り、左のブレードから[ID]=>[システム割り当て済]=>[Azure ロールの割り当て]をクリックします。

 あとはよくあるAADの権限設定なので割愛します。

3. 実行!

 Runbookの編集画面に戻り、上部の[テストウィンドウ]をクリックします。

 するとRunbookのテスト画面になるので、パラメーターを入力し[開始]をクリックします。

 しばらく待つと、無事リソースグループが作成されていることが確認できます。

 ここまで確認ができたら[公開]をクリックして作成済のRunbookを公開しておきましょう。

 公開が無事に完了すると色々な所から実行できるようになります。

 今回は例としてAzure Portalから実行してみます。

 該当のRunbookのトップページで[実行]をクリックし、必要なパラメーターを入力して[OK]をクリックするだけです。

 先ほどのテストと合わせて2つのRGが作成されていることが確認できます。

まとめ

 Azure AutomationのPowerShell Runbookを使うことで、Power Shellを使った操作をシステムに組み込むことができます。

 Azureの操作に関してもマネージドIDを使ってロール管理できるので諸々都合が良いですね。

 完全に余談ですが、MicrosoftのSaaSであるPower PlatformにPower Automateというものがありますが、本記事で扱ったAzure Automationとは全く関係がありません。

 本記事が少しでも誰かの手助けになれば幸いです。

佐藤 晴輝/FIXER
フロントからバック、ネットワークまである程度触れるガジェットオタクです。
好きな言語は C# で IoT と画像処理が得意です。

[転載元]
 PowerShellの操作を自動化! Azure Automation の Power Shell Runbook を使いこなそう!!

カテゴリートップへ

この連載の記事