この記事では、ランタイム環境、範囲、その機能の概要について説明します。
ランタイム環境について
ランタイム環境では、ジョブの実行環境を構成でき、要件に応じてランタイム言語とランタイム バージョンを柔軟に選択できます。 これは、ジョブが実行される環境を定義および管理するための信頼できる唯一の情報源です。 Runbook には、次の 2 つのコンポーネントがあります。
- スクリプト コード:
- ランタイム環境 - ジョブの実行中に必要なランタイム言語、ランタイム バージョン、およびパッケージを定義します。
他のコンポーネントに影響を与えることなく、これらのコンポーネントを別々に変更できます。
注
各ランブックは 1 つのランタイム環境に関連付けることができます。 ただし、1 つのランタイム環境を複数のランブックにリンクすることができます。
ランタイム環境のコンポーネント
ランタイム環境は、ジョブの実行環境に関する次の詳細をキャプチャします。
言語 - Runbook の実行を対象とするスクリプト言語。 たとえば、PowerShell や Python などがあります。
ランタイム バージョン - Runbook の実行に選択された言語のバージョン。 たとえば、PowerShell 7.4 と Python 3.10 などです。
パッケージ - パッケージは、Runbook でインポートして実行するために必要なアセンブリと .dll ファイルです。 ランタイム環境でサポートされているパッケージは 2 種類あります。
パッケージの種類 説明 既定のパッケージ パッケージを使用すると、Azure リソースを管理できます。 たとえば、Az PowerShell 12.3.0、Azure CLI 2.64.0 など カスタマー指定のパッケージ これらは、Runbook の実行中に必要なカスタム パッケージです。 パッケージの入手先:
- パブリックギャラリー: PSGallery、pypi
- 自作
ランタイム環境における Azure CLI パッケージ
Azure CLI コマンドは、PowerShell 7.4 ランタイム環境に関連付けられている Runbook でサポートされています。 Azure CLI バージョン 2.64.0 は、PowerShell 7.4 ランタイム環境で既定のパッケージとして使用できます。 Azure Automation は、Azure CLI の新バージョンのリリース周期に密接に従い、Runbook でサポートします。
PowerShell 7.4 ランタイム環境にリンクされている Runbook は、Azure Automation でサポートされている最新の Azure CLI バージョンで常に実行されます。 同様に、親製品である Azure CLI がサポート終了を宣言したバージョンは、バグやセキュリティ脆弱性の可能性があるため、Azure Automation ではサポートされなくなります。 Runbook が新しいバージョンの Azure CLI でシームレスに実行できるように設計されていることを確認してください。
システム生成ランタイム環境
Azure Automation は、Azure Automation アカウントの古いインターフェイスに存在するランタイム言語、バージョン、およびパッケージ/モジュールに基づいて、システム生成ランタイム環境を作成します。 システム生成ランタイム環境には、次の 6 つがあります。
- PowerShell-5.1
- PowerShell-7.1
- PowerShell-7.2
- Python-2.7
- Python-3.8
- Python-3.10
これらのランタイム環境は編集できません。 ただし、Automation アカウントのモジュール/パッケージで行われた変更は、これらのシステム生成ランタイム環境に自動的に反映されます。
注
- システム生成ランタイム環境に存在するパッケージは、Azure Automation アカウントに固有であり、異なるアカウント間では違いがある場合があります。
- システム生成ランタイム環境は、PowerShell 7.4 以降では使用できません。
主な利点
- 詳細な制御 - ランタイム言語、バージョン、および依存モジュールを選択して、スクリプト実行環境を構成できます。
- Runbook の更新 - 最新の PowerShell および Python リリースに合わせて Runbook のランタイム環境を更新することで、異なるランタイム バージョン間で Runbook を簡単に移植できます。 運用環境に公開する前に、更新をテストできます。
- モジュール管理 - モジュールの更新中に互換性をテストし、運用シナリオの実行に影響する可能性のある予期しない変更を回避できます。
- ロールバック機能 - Runbook を以前のランタイム環境に簡単に戻すことができます。 Runbook の更新によって問題や予期せぬ動作が発生した場合。
- 合理化されたコード - 複数の Automation アカウントを作成しなくても、Runbook を異なるランタイム環境にリンクすることで、コードを簡単に整理できます。
制限事項
- 現在、ランタイム環境は、ブラジル南東部および Gov クラウドを除くすべてのパブリック リージョンでサポートされています。
- PowerShell ワークフロー、グラフィカル PowerShell、グラフィカル PowerShell ワークフロー Runbook は、システム生成された PowerShell-5.1 ランタイム環境でのみ動作します。
- ランタイムバージョンの PowerShell 7.2 以降でランタイム環境エクスペリエンスで作成された Runbook は、以前のエクスペリエンスでは PowerShell 5.1 Runbook として表示されます。
- ランタイム環境に RBAC アクセス許可を割り当てることはできません。
- ランタイム環境は、Visual Studio Code の Azure Automation 拡張機能を通じて構成することはできません。
- 削除されたランタイム環境は復旧できません。
- この機能は現在、Azure portal と REST API を通じてサポートされています。
- パッケージ: REST API を使用してカスタム パッケージをアップロードします。
- Azure Automation State Configuration のモジュールの管理は、ランタイム環境エクスペリエンスではサポートされていません。 Azure Automation State Configuration のモジュールとパッケージの管理には、以前のエクスペリエンスを引き続き使用できます。
新旧のエクスペリエンスを切り替える
新しいランタイム環境エクスペリエンスをお勧めしますが、いつでも既定のエクスペリエンスに切り替えることもできます。 2 つのエクスペリエンスを切り替える方法については、こちらを参照してください。
注
Runbook の更新は、新旧のランタイム環境エクスペリエンス間で保持されます。 Runbook にリンクされたランタイム環境で行われた変更は、以前のエクスペリエンスで Runbook の実行中に保持されます。
次のステップ
- Runbook とランタイム環境を連携させるには、「ランタイム環境を管理する」を参照してください。
- PowerShell の詳細については、PowerShell のドキュメントを参照してください。
