Azure Automation でグラフィック形式とテキスト形式の作成機能を導入
このポストは、5 月 7 日に投稿された Azure Automation: New Graphical and Textual Authoring Features の翻訳です。
Azure Automation の最新のプレビュー リリースで、新たにグラフィック形式の作成機能が導入されました。この機能では、コードを記述することなく、グラフィック形式のツールとプログラミング モデルを使用して Runbook を作成することができます。ライブラリからキャンバスにアクティビティを挿入し、アクティビティどうしをリンクさせてワークフローを作成し、プロパティを構成するという簡単な手順で、IT プロセスを自動化する実用的な Runbook を作成することができます。System Center Orchestrator をご利用のお客様は、このような直観的な方法で Runbook を作成する作業に慣れているかと思います。さらに、PowerShell ワークフロー スクリプトの作成を希望するお客様向けに、テキスト形式の作成ワークスペースも更新しました。編集用スペースが拡大されたほか、グラフィック形式の作成ツールと共有の新しいライブラリとテスト ウィンドウが提供されます。グラフィック形式とテキスト形式の作成ツールは無料で使用可能で、必要に応じてどちらか一方、または両方を使用できます。
この記事では、これらの新しい作成エクスペリエンスの主な機能を説明します。ご興味を持たれた方はぜひ新しい Azure ポータルからお試しください。
グラフィック形式の作成機能
System Center Orchestrator で Runbook を作成することや、ワークフローを視覚化できるエディターを求めているお客様のために、Azure Automation に初めてクラウドベースのグラフィック形式の Runbook エディターとプログラミング モデルを導入しました。
この新しいグラフィック形式の作成ワークスペースはブラウザー内で全画面表示されるもので、次の 4 つの主要な要素で構成されます。
- ライブラリ: コマンドレット、Runbook、アセットが簡単に見つかります。
- キャンバス: ワークフローを作成します。
- 構成ウィンドウ: 各アクティビティやリンクのプロパティおよびパラメーターを構成します。
- テスト ウィンドウ: 作成中に Runbook のテストとデバッグを行います。
ライブラリ
作成ワークスペースの左側にあるライブラリには、Runbook の作成に使用するアクティビティが表示されます。新しくなったライブラリでは、お客様の Automation アカウントで使用可能なすべてのコマンドレット、Runbook、グローバル アセットにアクセスできます。また、このツールキットがさらに使いやすくなるように、Runbook の制御に使用するアクティビティがいくつか提供されます。
ライブラリに表示される項目は以下のとおりです。
- CMDLETS
- ライブラリの主要なオブジェクトで、REST API や PowerShell モジュールを使用しているあらゆるサービスやシステムの管理に使用します。
- モジュール名、コマンドレット名の順に整理されます。
- RUNBOOKS
- モジュール形式にカプセル化されたタスクを使用して、上位の Runbook を作成できます。
- タグ (今後実装予定) 別に整理されるほか、“All” カテゴリが表示されます。
- ASSETS
- Runbook のインベントリ全体で使用する変数、資格情報、接続情報、証明書が格納されます。
- すべてのアセットに対して、値を “Get” コマンドで取得できます。また、変数アセットでは値を “Set” コマンドで設定することもできます。
- アセットの種類、アセット名の順に整理されます。
- RUNBOOK CONTROL
- Azure Automation で重要なシナリオを可能にするための特殊なアクティビティです。
- Junction
- Junction アクティビティは、ワークフローの次のアクティビティに移行する前に、すべての入力方向の分岐が完了するまで待機します。
- Workflow Script
- 汎用のアクティビティで、任意の PowerShell ワークフロー スクリプトを Runbook に挿入します。
- このアクティビティに InlineScript ブロックを含めるように構成するなど、カスタム スクリプトが必要な場合に便利です。
キャンバス
グラフィック形式の作成ワークスペースの中央には新しいキャンバスが配置され、Runbook の構築作業を行うことができます。このキャンバスでは、アクティビティの追加と削除、アクティビティの移動、アクティビティどうしのリンク、構成するアクティビティやリンクの選択、選択した複数のアクティビティやリンクの移動または削除、縦方向または横方向のスクロール、拡大/縮小 (近日実装予定) が可能です。
構成
ワークスペースの右側にある構成ウィンドウでは、Runbook 内の各アクティビティやリンクを構成できます。Runbook をグラフィック形式で作成する場合、このウィンドウでの作業が大部分を占めます。そのため、可能な限り直観的かつ簡単に操作できるようにしました。
基本的な構成にはラベルとコメントが含まれます。ラベルは、Runbook 内の各アクティビティが持つ一意の識別子で、キャンバス内でアクティビティの上に表示されます。コメントは、後で見たときにアクティビティの用途がわかりやすいように残すことのできるメモです。
ほかに、アクティビティの名前付き入力パラメーターや、PowerShell の共通パラメーターなど、その他のパラメーターの値を設定することもできます。
アクティビティの入力パラメーターの値は簡単に設定できます。アクティビティにパラメーター セットが存在する場合には、まず作業対象のパラメーター セットを選択します。次に、用途に合わせてパラメーターを構成します。ユーザー インターフェイスには、各パラメーターの種類、必須かオプションか、また、既定値が設定されているかどうかが表示されます。
パラメーターの種類に応じて、選択可能なデータ ソースのリストが表示されます。そのうち特に重要なものは以下のとおりです。
- CONSTANT VALUE
- カスタム値を設定して使用できます。
- ACTIVITY OUTPUT
- Runbook の前のアクティビティの出力や、前のアクティビティの出力のプロパティを選択して使用できます。
- POWERSHELL EXPRESSION
- 任意の PowerShell スクリプトの出力をパラメーターへの入力値として使用できる強力なオプションです。
リンクの構成
Runbook の各リンクでは、2 つの重要な構成を行う必要があります。1 つはリンクの種類を Pipeline または Sequence から選択することで、もう 1 つはリンクのデータ フローに条件を定義するかどうかを判断することです。このほか、後から確認できるようにメモを残すこともできます。
リンクの種類の選択は非常に重要で、これによってアクティビティの出力データを使用する方法や、前のアクティビティが次のアクティビティの動作に及ぼす影響が変化します。
- Pipeline リンク
- 次のアクティビティは、各出力オブジェクトについて 1 回ずつ実行されます。
- 前のアクティビティで出力が生成されなかった場合、次のアクティビティは実行されません。
- 前のアクティビティの出力は、個々のオブジェクトとして使用されます。
- Sequence リンク
- 次のアクティビティは 1 回だけ実行されます。
- 前のアクティビティの出力は、オブジェクトの配列として使用されます。
このリンクには条件を設定することができます。[Condition expression] フィールドでは、true または false の結果を返す PowerShell スクリプト ブロックを設定できます。
- 条件の評価が true の場合
- 次のアクティビティが実行されます。
- 次のアクティビティから、前のアクティビティのデータにアクセスできます。
- 条件の評価が false の場合
- 次のアクティビティは実行されません。
Runbook の入力パラメーター
Runbook の入力パラメーターを定義する準備が完了したら、上のコマンド バーの [Input and Output] をクリックします。ビジュアル エディターを使用して、パラメーターを作成することができます。入力パラメーターは必要な数だけ作成することが可能で、各パラメーターに対して名前と型 (String、Int、Boolean、DateTime、Object) を定義できます。さらに、パラメーターが必須であるかオプションであるかを定義したり、必要に応じて既定値を設定したりすることができます。各パラメーターには、説明を追加できます。
テキスト形式の作成機能
PowerShell ワークフロー スクリプトでの Runbook の作成を希望するお客様向けに、テキスト形式の作成ワークスペースが更新されました。これにより、オンラインでの作業がさらに簡単になります。今回のリリースでは、編集用スペースの拡大とライブラリの統合が実施されたほか、テスト ウィンドウがさらに使いやすくなり、ワークフロー スクリプトの作成時の生産性の向上に役立ちます。
編集ウィンドウの拡大
編集ウィンドウでは、従来と同様に行番号の表示、コンテキストの強調表示、検索機能が提供されます。変更点としては、編集ウィンドウの大幅な拡大が挙げられます。これにより、スクロールせずに表示可能なスクリプトの範囲が拡大されたため、操作性が大きく向上しています。
ライブラリ
テキスト形式の作成ワークスペースで使用されるライブラリ コンポーネントは、グラフィック形式の作成ワークスペースと共有されます。このライブラリには、システム内で使用可能なコマンドレット、Runbook、アセットが表示され、必要な項目をテキスト形式のエディターに挿入することができます。
テスト ウィンドウ
テスト ウィンドウが新しくなり、グラフィック形式とテキスト形式の両方の作成ツールで使用できます。主な機能は以下のとおりです。
- パラメーター値の入力ウィンドウでは、テスト ウィンドウが開いている間は値が保持されるため、テストを実行するたびにパラメーター値を再入力する必要がありません。
- テストの出力ウィンドウが拡大され、通常の PowerShell 形式で出力が表示されます。
- ワークフローのデータ ストリームが出力、詳細、警告、エラーのそれぞれに色分けされます。
- テスト ブレードが閉じられてもテストは継続して実行され、ブレードを再び開くと出力結果を表示できます。
- Start (開始)、Stop (停止)、Suspend (一時停止)、Resume (再開) の各コマンドを使用できます。
グラフィック形式とテキスト形式の作成モデル
グラフィック形式とテキスト形式の作成モデルはまったく異なるものです。以下にそれぞれの重要な特徴をまとめました。必要に応じて、いずれか一方を使用することも、両方を使用することもできます。
グラフィック形式
- リンクをドラッグ アンド ドロップして構成する視覚的な作成モデル
- プロセス内のデータ フローを重視
- 影響を受ける IT プロセスとシステムを視覚化
- 高水準言語による生産性の向上
- 必要に応じて PowerShell スクリプトを使用可能
- System Center Orchestrator ユーザーに馴染みのある作成モデル
- クラウド ベースのデザイナー
テキスト形式
- PowerShell ワークフロー スクリプトの作成モデル
- 低水準言語による高い汎用性
- 既存の PowerShell スクリプトを使用可能
- PowerShell ユーザーに馴染みのある作成モデル
- クラウド ベースまたはクライアント (ISE) のデザイナー
注意事項
ここからは、役立つヒントや既知の問題について説明します。今回のリリースはプレビュー版であるため、既知の問題が存在しています。マイクロソフトでは引き続き Automation の更新をリリースし、問題を解決することに取り組んでいます。
ヒント
グラフィック形式の PowerShell の式エディターで、以下のように前のアクティビティの出力を参照できます。
$ActivityOutput[‘activity label’] $ActivityOutput[‘activity label’].Property1
同様に、Runbook の入力パラメーターも参照できます。
$InputParameterName
リンクの種類について、Pipeline と Sequence では次のような違いがあります。
- Pipeline
- 前のアクティビティの出力は、個々のオブジェクトとして使用されます。
- 次のアクティビティは、前のアクティビティの各出力オブジェクトについて 1 回ずつ実行されます。前のアクティビティで出力が生成されなかった場合、次のアクティビティは実行されません。
- Sequence
- 前のアクティビティの出力は、オブジェクトの配列として使用されます。
- 次のアクティビティは 1 回だけ実行されます。
- Pipeline
Runbook の入力パラメーターの定義を変更し、その変更のテストを実施する場合、変更後のパラメーターが確実にテスト ウィンドウに表示されるようにするには、下書きを保存してテスト ウィンドウを閉じてから再び開く必要があります。
グラフィック形式の Runbook の出力は、Runbook の最後のアクティビティの出力です。この動作はテキスト形式の Runbook とは異なります。テキスト形式の場合は Runbook の任意のアクティビティの出力を表示できます。
既知の問題
- テスト ジョブ (特に子 Runbook を含む Runbook) は、実行状態になるまで数分程度かかる場合があります。この開始時のパフォーマンスに関する問題については、現在改善に取り組んでいます。なお、このジョブの開始に要する時間は Automation の使用時間には含まれず、料金は発生しません。ジョブが実行状態にある時間のみが加算されます。
- Junction アクティビティには、複数の入力方向の Sequence リンクを設定できますが、入力方向の Pipeline リンクは最大 1 つしか設定できないように設計されています。ここで問題なのは、現時点では複数の Pipeline リンクを Junction に接続しても警告が表示されないことです。Runbook を保存して公開することはできますが、Runbook を開始しようとするとエラーが返されます。
- 子 Runbook を並列分岐で実行することはできません。グラフィック形式とテキスト形式の両方の Runbook について、並列分岐で子 Runbook を実行すると予期しない出力が確認されました。このため、現時点では、グラフィック形式の Runbook にチェックを追加し、子 Runbook を並列分岐で実行した場合に、Runbook の実行開始時にエラーを返してエラー メッセージを表示します。
- アクティビティのループおよび再試行が実装されていません。この機能については、今後の優先課題として開発を進めています。
まとめ
この記事では、Azure Automation の新しいグラフィック形式とテキスト形式の Runbook 作成エクスペリエンスについて概要を簡単に説明しました。これらのツールは、効率的に Runbook を作成して IT プロセスを自動化することを目的としています。今回のプレビュー リリースではリッチなツール セットが提供されますが、今後のリリースでもさらに価値が高く操作を容易にする機能が追加される予定です。
Azure Automation はすべてのクラウド (Azure およびその他) とオンプレミスの IT 管理を行う単一の自動化ポータルです。
Azure Automation を使い始めて間もないお客様は、サービスの詳細について、こちらのページをご覧ください。また、Twitter アカウント (@AzureAutomation) も併せてご確認ください。