この記事では、PowerShell バージョン 7.4 で導入された強化されたパッケージ管理ソリューションである Microsoft.PowerShell.PSResourceGet (PSResourceGet ) PowerShell モジュールを使用して、必要なモジュールのみを選択的にインストールすることで、Azure PowerShell のインストール プロセスを最適化する方法について説明します。
[前提条件]
Windows システムでは、PowerShell 実行ポリシーをリモート署名済みまたは制限の緩い状態に設定する必要があります
PowerShell 実行ポリシーを確認します。
Get-ExecutionPolicy -List
PowerShell 実行ポリシーをリモート署名済みに設定します。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
実行ポリシーの詳細については、「 about_Execution_Policies」を参照してください。
PSResourceGet PowerShell モジュールがインストールされているかどうかを確認し、必要に応じてインストールします。 PSResourceGet モジュールは、Azure PowerShell モジュールを含む PowerShell リソースをインストールするための強化された機能を提供します。 PSResourceGet は PowerShell バージョン 7.4 以降にプレインストールされており、Windows PowerShell 5.1 でもサポートされています。
PSResourceGet PowerShell モジュールがインストールされているかどうかを確認します。
Get-Module -Name Microsoft.PowerShell.PSResourceGet -ListAvailable
PSResourceGet PowerShell モジュールをインストールします。
Install-Module -Name Microsoft.PowerShell.PSResourceGet -Repository PSGallery
Az PowerShell モジュール
Azure PowerShell は、Azure リソースを管理するための公式の Microsoft PowerShell モジュールのコレクションの製品名です。 Az PowerShell モジュールは、Azure PowerShell の現在のイテレーションです。
Az PowerShell モジュールは、Azure サービス関連の PowerShell モジュールのラッパー モジュールです。通常、Az.Compute、Az.Network、Az.Storage など、Azure サービスごとに 1 つのモジュールです。 Az PowerShell モジュールをインストールすると、一般公開 (GA) の Azure PowerShell サービス固有のモジュールがすべてインストールされます。
Az PowerShell モジュールの各サブモジュールは、Azure PowerShell のコア認証とアカウント管理機能を提供する Az.Accounts モジュールに依存します。
Install-Module
(PowerShellGet の一部) を使用して Az PowerShell モジュールをインストールすると、Az.Accounts モジュールがダウンロードされ、サブモジュールごとにインストールされます。 この冗長ダウンロード プロセスにより、インストール時間が長くなります。
PSResourceGet は 、インストールするサブモジュールの数に関係なく、 Az.Accounts を 1 回だけインストールします。 これにより、より高速で効率的なインストール プロセスが実現します。
Install-PSResource -Name Az
個々のサービス固有モジュールをインストールする
すべてのサービス固有のモジュールがバンドルされた Az PowerShell モジュール全体をインストールするのは便利ですが、コマンドのサブセットのみを使用する場合は時間がかかり、非効率的です。 Az PowerShell モジュール全体をインストールすると、次のようになります。
- インストール時間が長くなります。
- ストレージ要件の増加。
- 使用しないモジュールの不要な更新。
必要なサービス固有のモジュールのみをインストールすることで、プロセスを効率化できます。 PSResourceGet を使用し、必要なモジュールのみをインストールすると、インストールのオーバーヘッドが大幅に削減されます。
次の例では、 Install-PSResource
コマンドレットを使用して、 Az.Compute、 Az.Network、 Az.Resources、 Az.Storage PowerShell モジュールをインストールします。
Install-PSResource -Name Az.Compute, Az.Network, Az.Resources, Az.Storage
Az.Accounts モジュールも自動的にインストールされますが、1 回だけインストールされます。
すべての GA モジュールとプレビュー モジュールをインストールする
Az PowerShell モジュールのすべての一般提供 (GA) とプレビュー バージョンが必要な場合は、AzPreview モジュールをインストールします。 AzPreview PowerShell モジュールは、Az モジュールの構造を反映しますが、すべての GA モジュールとプレビュー モジュールが含まれます。 一貫性を保つため、バージョン番号は Az モジュールと同じです。
次の例では、PSResourceGet を使用して AzPreview モジュールをインストールします。
Install-PSResource -Name AzPreview
Microsoft Artifact Registry からインストールする
Microsoft Artifact Registry (MAR) から Az PowerShell モジュールをインストールすると、より高速で信頼性の高いインストールが提供されます。 MARは、迅速なダウンロード速度とスムーズなセットアッププロセスを保証し、インストール中の潜在的な問題を最小限に抑えます。
Important
MAR からインストールするときに既知の問題があります。 詳細については、トラブルシューティング ガイドの MAR からのインストールに関する既知の問題 に関するセクションを参照してください。
7.5.0 より前のバージョンの PowerShell を使用している場合は、 Microsoft.PowerShell.PSResourceGet バージョン 1.1.0 以降をインストールする必要があります
Install-Module -Name Microsoft.PowerShell.PSResourceGet -Repository PSGallery
システムの PSResourceGet に MAR をリポジトリとして登録する
Register-PSResourceRepository -Name MAR -Uri https://mcr.microsoft.com -ApiVersion ContainerRegistry
PSResourceGet を使用して MAR から Az PowerShell モジュールをインストールする
Install-PSResource -Name Az -Repository MAR
インストール プロセスを最適化する利点
より選択的で効率的なインストール プロセスを採用することで、次の作業を行うことができます。
- リソースの消費を減らす: 必要なもののみをインストールし、ディスク領域を節約します。
- パフォーマンスの向上: 冗長なダウンロードを回避し、セットアップ プロセスを合理化します。
- アジャイルを維持する: アクティブに使用するモジュールのみを更新して維持します。
こちらも参照ください
次のステップ
Az PowerShell モジュールを使用した Azure リソースの管理の詳細については、「Azure PowerShell の概要」を参照してください。
Azure PowerShell