Azure PowerShellモジュールをAutomationで更新する

この記事では、Azure PowerShell (Az)モジュールをAzure Automationで更新する方法を説明しています。 Az PowerShell モジュールは、PowerShell から直接 Azure リソースを管理するための一連のコマンドレットです。 Azure Automationは各自動化アカウントで共通のPowerShellモジュールをデフォルトで提供しています。 詳細については 「デフォルトモジュール」を参照してください。 Azure チームが Azure モジュールを定期的に更新すると、含まれているコマンドレットで変更が発生する可能性があります。 例えば、パラメータの名前を変更したり、コマンドレットを完全に非推奨にしたりします。 これらの変更は、モジュールが適切に更新されなければ、既存のランブックや自動化プロセスに影響を及ぼす可能性があります。 これらの更新を管理するために、Azure AutomationはAzモジュールを更新するための2つの方法を提供しています:

メモ

グローバル モジュールを削除することはできません。これらは、Automation で提供されるそのまま利用できるモジュールです。

重要

新しいランタイム環境エクスペリエンスでジョブ実行環境を構成できるようにすると、モジュールとパッケージを管理できます。 新しい体験では、モジュールやパッケージのブレードは利用できません。 モジュールとパッケージを管理するには、「ランタイム環境と関連する Runbook を管理する」を参照してください。

Automation アカウントをセットアップする

Runbook やそれにより自動化されるプロセスに影響を与えないようにするため、更新前にテストと検証を必ず行ってください。 その目的のための専用の Automation アカウントがない場合は、アカウントの作成を検討してください。アカウントを作成すると、Runbook の開発中の多数のさまざまなシナリオについてテストを行うことができます。 このテストで、PowerShell モジュールの更新など、反復的な変更を行ってください。

Automation アカウントのシステム割り当てマネージド ID またはユーザー割り当てマネージド ID が追加されていることを確認してください。

スクリプトをローカルで開発する場合、テスト時に確実に同じ結果が得られるようにするために、Automation アカウントに置いているものと同じバージョンのモジュールをローカルに用意することをお勧めします。 結果が検証され、必要な変更を適用した後、その変更を本番環境に移すことができます。

メモ

新しい Automation アカウントには、最新のモジュールが含まれていない可能性があります。

Az モジュールを更新する

以下のセクションでは、 Az モジュールをポータル(推奨)またはランブックを通じてどのように更新できるかを説明します。

Azure portal から Az モジュールを更新する

現在、Azモジュールの更新はポータルを通じてのみ利用可能です。 PowerShell と ARM テンプレートからの更新は、今後できるようになる予定です。 次の手順では、既定の Az モジュールのみが更新されます。

  1. Azure portal にサインインし、お使いの Automation アカウントに移動します。

  2. [共有リソース] の下にある [モジュール] を選択します。

  3. [Update Az modules](Az モジュールを更新する) を選択します。

  4. [Module to Update]\(更新するモジュール\) を選択します。 デフォルトではAzモジュールが表示されます。

  5. ドロップダウンリストからモジュール バージョン と ランタイムバージョンを選択します。

  6. Azモジュールを選択したバージョンに更新するには 「アップデート 」を選択してください。 [モジュール] ページでは、次のように一覧を表示できます。

    選択項目でAzモジュールページを更新してください。

Automation アカウントにインポートされた既存の Az モジュールのバージョンよりも下位のバージョンを選択した場合、更新操作で、選択した下位バージョンへのロールバックが実行されます。

更新操作は、[PowerShell モジュール] の下のモジュール一覧に表示されている更新されたモジュールから、モジュールのバージョンと状態のプロパティを確認できます。

Azureチームはモジュールのバージョンを定期的に更新し、ドロップダウンリストからモジュールバージョンを選択することでデフォルトのAzモジュールを更新するオプションを提供しています。

Runbook を使用して Az モジュールを更新する

Automation アカウントのAzure モジュールを更新するには:

  1. オープンソースとして使用できる Update-AutomationAzureModulesForAccount Runbook を使用します。
  2. GitHub リポジトリからダウンロードして、この Runbook を使用してAzure モジュールを更新します。
  3. それを Automation アカウントにインポートするか、スクリプトとして実行します。 Automation アカウントに Runbook をインポートする方法については、Runbook のインポートに関する記事をご覧ください。

メモ

Azure ポータルを使用して Az モジュールを更新することをお勧めします。 Update-AutomationAzureModulesForAccount スクリプトを使用してこれを実行することもできます。これは、オープンソースとして使用でき、参照として提供されます。 ただし、Runbook でエラーが発生した場合は、必要に応じて Runbook のパラメーターを変更するか、シナリオに従ってスクリプトをデバッグする必要があります。

Update-AutomationAzureModulesForAccount Runbook では、Azure、AzureRM、Az モジュールの更新が既定でサポートされています。 Az の更新の詳細については、Update Azure モジュール Runbook README を確認してください。 このランブックを使用したオートメーションモジュール。 自動化アカウントでAzモジュールを使用する際には、他にも考慮すべき重要な要素があります。 詳細については、Azure Automation の Manage モジュールを参照してください。

更新の Runbook コードを通常の PowerShell スクリプトとして使用する

Runbook のコードは、Runbook としてではなく、通常の PowerShell スクリプトとして使用することができます。 これを行うには、まずConnect-AzAccount コマンドレットを使ってAzureサインインし、スクリプトに-Login $false渡します。

更新の Runbook をソブリン クラウドで使用する

ソブリン クラウドでこの Runbook を使用するには、AzEnvironment パラメーターを使用して、適切な環境を Runbook に渡します。 使用できる値は、AzureCloud (パブリック クラウドAzure)、AzureChinaCloud、AzureGermanCloud、AzureUSGovernment です。 これらの値は Get-AzEnvironment | select Nameを使って取得できます。 このコマンドレットに値を渡さないと、Runbook は既定で AzureCloud を使用します。

更新用 Runbook を使用して特定のモジュールのバージョンを更新する

PowerShell ギャラリーで使用できる最新のモジュールではなく、特定のAzure PowerShell モジュール バージョンを使用する場合は、これらのバージョンを ModuleVersionOverrides Runbook の省略可能な パラメーターに渡します。 例については、Update-AutomationAzureModulesForAccount.ps1 Runbook を参照してください。 ModuleVersionOverrides パラメーターに記載されていないAzure PowerShellモジュールは、PowerShell ギャラリーの最新のモジュール バージョンで更新されます。 ModuleVersionOverrides パラメーターに何も渡さなかった場合、すべてのモジュールがPowerShell ギャラリーの最新のモジュール バージョンで更新されます。 この動作は、Azure ポータルの Update Azure Modules ボタンでも同じです。

次のステップ