Azure Automation での VS Code を使用した Runbook の作成
この記事では、Runbook の作成と管理に使用できる Visual Studio の拡張機能について説明します。
Azure Automation には、Runbook を作成および管理するための VS Code の新しい拡張機能が用意されています。 この拡張機能を使用すると、Runbook の作成と編集、ジョブのトリガー、最近のジョブ出力の追跡、スケジュールのリンク、アセット管理、ローカル デバッグなど、すべての Runbook 管理操作を実行できます。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Visual Studio Code。
- Runbook をローカルで実行するには、Runbook で使用される PowerShell モジュールと Python パッケージをコンピューターにローカルにインストールする必要があります。
サポートされるオペレーティング システム
テスト マトリックスには、次のオペレーティング システムが含まれています。
- Windows PowerShell 5.1 および PowerShell Core 7.2.7 がインストールされた Windows Server 2022
- Windows PowerShell 5.1 および PowerShell Core 7.2.7 がインストールされた Windows Server 2019
- PowerShell Core 7.2.7 がインストールされた macOS 11
- PowerShell Core 7.2.7 がインストールされた Ubuntu 20.04
Note
- この拡張機能は VS Code 内のどこでも動作し、PowerShell 7.2 以降をサポートしています。 Windows PowerShell については、バージョン 5.1 のみがサポートされます。
- PowerShell Core 6 は有効期間が終了しており、サポートされていません。
主な機能
- 簡単なオンボード – Azure アカウントを使用して簡単かつ安全にサインインできます。
- 複数の言語 - PowerShell 5、PowerShell 7、Python 2、Python 3 の Runbook など、すべての Automation ランタイム スタックをサポートします。
- サポート性- ジョブのテスト実行、Automation ジョブの発行、Azure およびハイブリッド worker でのジョブのトリガーをサポートします。 Runbook はローカルで実行できます。
- ジョブをトリガーするための Python 位置指定パラメーターと PowerShell パラメーターをサポートします。
- Webhook の簡略化 – Webhook を作成し、Webhook を使用して簡単にジョブを開始できます。 また、Runbook へのスケジュールのリンクもサポートします。
- Automation アセットの管理 – 証明書、変数、資格情報、接続などのアセットに対して作成、更新、削除操作を実行できます。
- プロパティの表示 – プロパティを表示し、ハイブリッド worker グループを選択してハイブリッド ジョブを実行し、直近に実行された 10 個のジョブを表示できます。
- ローカルでデバッグ - PowerShell スクリプトをローカルでデバッグできます。
- Runbook の比較 - ローカル Runbook を発行済みまたはドラフトの Runbook コピーと比較できます。
v1.0.8 の主な機能
ローカル ディレクトリ構成設定 - Runbook をローカルに保存する作業ディレクトリを定義できます。
- ディレクトリ:基本パスの変更 - Visual Studio Code IDE をもう一度開くときに、変更されたディレクトリ パスを使用します。 コマンド パレットを使用してディレクトリを変更するには、Ctrl + Shift + P の使用 -> [Change Directory] (ディレクトリの変更) の選択の順に行います。 拡張機能の構成設定から基本パスを変更するには、左側のアクティビティ バーで [管理] アイコンを選択し、[設定] > [拡張機能] >[Azure Automation] > [Directory:Base Path] (ディレクトリ:基本パス) の順に移動します。
- ディレクトリ:フォルダー構造の変更 - ローカル ディレクトリ フォルダー構造を vscodeAutomation/accHash から subscription/resourceGroup/automationAccount に変更できます。 左側のアクティビティ バーで [管理] アイコンを選択し、[設定] > [拡張機能] >[Azure Automation] > [Directory:Folder Structure] (ディレクトリ:フォルダー構造) の順に移動します。 既定の構成設定を vscodeAutomation/accHash から subscription/resourceGroupe/automationAccount 形式に変更できます。
Note
Automation アカウントがソース管理と統合されている場合は、GitHub リポジトリの Runbook フォルダー パスをディレクトリ パスとして指定できます。 たとえば、ディレクトリを C:\abc に変更すると、Runbook が C:\abc\vscodeAutomation.. または C:\abc//subscriptionName//resourceGroupName//automationAccountName//runbookname.ps1 に保存されます。
Runbook 管理操作 - Runbook の作成、ドラフト Runbook の取り込み、発行済み Runbook の取り込み、エディターでのローカル Runbook のオープン、発行済みまたはドラフトの Runbook コピーとのローカル Runbook の比較、ドラフトとしてのアップロード、Runbook の発行、Automation アカウントからの Runbook の削除を行うことができます。
Runbook の実行操作 - たとえば、Automation ジョブを開始する、Automation テスト ジョブを開始する、ジョブ出力を表示する、スクリプトにブレークポイントを追加できるようにしてデバッグ モードで PowerShell Runbook のローカル バージョンを実行するなどの、Automation ジョブのローカル バージョンを実行できます。
Note
現時点では、
Get-AutomationVariable
などの内部コマンドレットの使用は、暗号化されていないアセットでのみサポートされています。スケジュール、アセット、Webhook の操作 - スケジュールのプロパティの表示、スケジュールの削除、スケジュールを Runbook にリンクするためのスケジュールのリンクを行うことができます。
Webhook の追加 - Webhook を Runbook に追加できます。
アセットのプロパティの更新 - アセット (証明書、接続、資格情報、変数など) のプロパティの作成、更新、表示、および拡張機能からのアセットの削除を行うことができます。
制限事項
現時点では、次の機能はサポートされていません。
- 新しいスケジュールの作成。
- アセットへの新しい証明書の追加。
- 拡張機能からのモジュール (PowerShell および Python) パッケージのアップロード。
- Azure Automation アカウントへのローカル Runbook の自動同期。 Runbook の取り込みまたは発行のための操作を実行する必要があります。
- ハイブリッド worker グループの管理。
- グラフィカル Runbook とワークフロー。
- Python の場合、デバッグ オプションは提供されません。 Python スクリプトにデバッガー拡張機能をインストールすることをお勧めします。
- 現時点では、暗号化されていないアセットのみがローカルの実行でサポートされます。
次のステップ
- Runbook 管理操作および Runbook とジョブのテストについては、「Visual Studio Code 用の Azure Automation 拡張機能を使用する」を参照してください