Windows/Linux別 Azure PowerShell インストール手順徹底解説
Azure PowerShell は、Azure リソースをコマンドラインから管理するための強力なツールです。この記事では、Windows と Linux 環境における Azure PowerShell のインストール手順を徹底的に解説します。それぞれの環境に適した方法を詳しく説明し、トラブルシューティングのヒントも提供します。
目次
- Azure PowerShell とは?
- Azure PowerShell の概要
- Azure PowerShell の利点
- Azure PowerShell のモジュール
- Windows 環境への Azure PowerShell インストール
- 前提条件の確認
- PowerShellGet を使用したインストール
- MSI インストーラーを使用したインストール
- モジュールのインポートとバージョン確認
- Azure へのサインイン
- Windows 環境でのトラブルシューティング
- Linux 環境への Azure PowerShell インストール
- 前提条件の確認
- パッケージマネージャーを使用したインストール (例: Debian/Ubuntu, CentOS/RHEL)
- PowerShellGet を使用したインストール
- モジュールのインポートとバージョン確認
- Azure へのサインイン
- Linux 環境でのトラブルシューティング
- Azure PowerShell のアップデート
- PowerShellGet を使用したアップデート
- モジュールのアップデート
- Azure PowerShell のアンインストール
- PowerShellGet を使用したアンインストール
- MSI インストーラーを使用したアンインストール (Windows)
- Azure PowerShell の基本コマンド
- リソースグループの作成
- 仮想マシンの作成
- ストレージアカウントの作成
- ベストプラクティスとセキュリティ
- 多要素認証 (MFA) の有効化
- サービスプリンシパルの利用
- セキュアなクレデンシャルの管理
- まとめ
1. Azure PowerShell とは?
1.1 Azure PowerShell の概要
Azure PowerShell は、Microsoft Azure クラウドプラットフォームを管理するためのコマンドレットのセットです。 PowerShell スクリプトを使用して Azure リソースを自動化、管理、および制御することができます。GUI ベースの Azure Portal と同様の機能を提供しますが、コマンドラインインターフェース (CLI) を通じて実行できるため、自動化やスクリプト化に最適です。
1.2 Azure PowerShell の利点
- 自動化: 繰り返し行うタスクをスクリプト化することで、時間と労力を節約できます。
- 一貫性: スクリプトを使用することで、複数の環境にわたって同じ構成を確実に適用できます。
- 柔軟性: 複雑なタスクを、GUI では難しい方法で実行できます。
- 統合: 他のツールやスクリプトと連携して、より複雑なワークフローを構築できます。
- バージョン管理: スクリプトをバージョン管理システム (Git など) で管理することで、変更履歴を追跡し、ロールバックできます。
1.3 Azure PowerShell のモジュール
Azure PowerShell は、特定の Azure サービスを管理するための複数のモジュールで構成されています。主なモジュールには以下が含まれます。
- Az: Azure リソース全体を管理するための主要なモジュール。以前の
AzureRM
モジュールを置き換えるもの。最新の推奨モジュール。 - Az.Accounts: Azure アカウント、コンテキスト、およびプロファイルを管理するためのモジュール。
- Az.Compute: 仮想マシン、仮想マシン スケール セット、ディスク、イメージなどのコンピューティング リソースを管理するためのモジュール。
- Az.Network: 仮想ネットワーク、サブネット、ロードバランサー、ネットワークセキュリティグループなどのネットワークリソースを管理するためのモジュール。
- Az.Storage: ストレージアカウント、BLOB コンテナー、キュー、テーブルなどのストレージリソースを管理するためのモジュール。
- Az.Resources: リソースグループ、デプロイ、テンプレートなどのリソースマネージャー機能を管理するためのモジュール。
- Az.KeyVault: キーコンテナー、シークレット、キーなどの Key Vault リソースを管理するためのモジュール。
2. Windows 環境への Azure PowerShell インストール
2.1 前提条件の確認
- PowerShell のバージョン: Azure PowerShell は PowerShell 5.1 以降を必要とします。 PowerShell のバージョンを確認するには、PowerShell コンソールで
$PSVersionTable.PSVersion
コマンドを実行します。バージョンが要件を満たしていない場合は、Windows Management Framework (WMF) を更新する必要があります。 - PowerShellGet のバージョン: PowerShellGet は、PowerShell モジュールをインストールおよび管理するためのパッケージマネージャーです。最新の Azure PowerShell モジュールをインストールするには、PowerShellGet の最新バージョンを使用することをお勧めします。PowerShellGet のバージョンを確認するには、
Get-Module -Name PowerShellGet -ListAvailable
コマンドを実行します。古いバージョンの場合は、Install-Module -Name PowerShellGet -Force
コマンドで更新します。 - 管理者権限: モジュールをシステムレベルでインストールするには、管理者権限が必要です。PowerShell を管理者として実行してください。
2.2 PowerShellGet を使用したインストール
PowerShellGet は、Windows 環境で Azure PowerShell をインストールする最も一般的な方法です。
- PowerShell を管理者として実行: スタートメニューから PowerShell を検索し、右クリックして「管理者として実行」を選択します。
-
モジュールのインストール: 以下のコマンドを実行して、
Az
モジュールをインストールします。powershell
Install-Module -Name Az -AllowClobber -Force-Name Az
: インストールするモジュールを指定します。-AllowClobber
: 既存のモジュールを上書きすることを許可します (必要な場合)。-Force
: 確認プロンプトを表示せずにインストールを実行します。
インストール中に、信頼されていないリポジトリからのモジュールのインストールに関する警告が表示される場合があります。その場合は、「A」 (すべて承諾) を選択してインストールを続行します。
2.3 MSI インストーラーを使用したインストール
Microsoft は、MSI インストーラーも提供しています。これは、PowerShellGet を使用できない環境や、よりシンプルなインストール方法を好む場合に役立ちます。
- MSI インストーラーのダウンロード: Microsoft の公式ドキュメントまたはダウンロードセンターから最新の Azure PowerShell MSI インストーラーをダウンロードします。
- インストーラーの実行: ダウンロードした MSI ファイルを実行し、画面の指示に従ってインストールを完了します。
- PowerShell の再起動: インストール後、PowerShell を再起動して、新しいモジュールを認識させます。
2.4 モジュールのインポートとバージョン確認
インストール後、Azure PowerShell モジュールを PowerShell セッションにインポートする必要があります。
-
モジュールのインポート: 以下のコマンドを実行して、
Az
モジュールをインポートします。powershell
Import-Module Az -
モジュールのバージョン確認: 以下のコマンドを実行して、インストールされている Azure PowerShell モジュールのバージョンを確認します。
powershell
Get-Module -Name Azこれにより、インストールされている
Az
モジュールのバージョン、パス、およびエクスポートされたコマンドレットなどの情報が表示されます。
2.5 Azure へのサインイン
Azure PowerShell を使用して Azure リソースを管理するには、Azure アカウントにサインインする必要があります。
-
Azure へのサインイン: 以下のコマンドを実行して、Azure にサインインします。
powershell
Connect-AzAccountこれにより、Web ブラウザが開かれ、Azure アカウントの資格情報を入力するように求められます。認証が完了すると、PowerShell セッションに Azure アカウントが接続されます。
複数の Azure サブスクリプションを所有している場合は、特定のサブスクリプションを選択する必要があります。
-
サブスクリプションの選択: 以下のコマンドを実行して、使用するサブスクリプションを選択します。
powershell
Get-AzSubscriptionこれにより、利用可能なすべてのサブスクリプションが表示されます。
powershell
Select-AzSubscription -SubscriptionId <サブスクリプションID><サブスクリプションID>
は、使用するサブスクリプションの ID に置き換えてください。
2.6 Windows 環境でのトラブルシューティング
- モジュールが見つからないエラー:
Import-Module Az
コマンドを実行したときに「モジュールが見つかりません」というエラーが発生した場合は、モジュールが正しくインストールされていることを確認してください。Get-Module -Name Az -ListAvailable
コマンドを実行して、モジュールがインストールされている場所を確認します。モジュールがインストールされている場合は、PowerShell セッションの$env:PSModulePath
環境変数にそのパスが含まれていることを確認します。 - アクセス許可エラー: Azure リソースへのアクセス時にアクセス許可エラーが発生した場合は、Azure アカウントに適切なロールが割り当てられていることを確認してください。Azure Portal で、アカウントのロールの割り当てを確認できます。
- 接続エラー: Azure への接続時にエラーが発生した場合は、インターネット接続が正常であることを確認してください。プロキシサーバーを使用している場合は、PowerShell でプロキシ設定を構成する必要がある場合があります。
- PowerShellGet の問題: PowerShellGet のインストールまたはアップデート中に問題が発生した場合は、PowerShell Gallery が信頼されたリポジトリとして登録されていることを確認してください。
Get-PSRepository
コマンドを実行して、リポジトリのステータスを確認します。信頼されていない場合は、Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
コマンドで信頼されたリポジトリとして設定します。
3. Linux 環境への Azure PowerShell インストール
3.1 前提条件の確認
- PowerShell のインストール: Linux 環境で Azure PowerShell を使用するには、まず PowerShell をインストールする必要があります。 Microsoft は、さまざまな Linux ディストリビューション向けの PowerShell パッケージを提供しています。
- .NET Core のインストール: PowerShell は .NET Core に依存するため、.NET Core ランタイムをインストールする必要があります。
- 管理者権限 (sudo): パッケージをインストールするには、管理者権限が必要です。
3.2 パッケージマネージャーを使用したインストール (例: Debian/Ubuntu, CentOS/RHEL)
パッケージマネージャーを使用すると、Linux ディストリビューションに PowerShell を簡単にインストールできます。
Debian/Ubuntu:
-
Microsoft リポジトリの構成:
bash
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-$(lsb_release -cs)-prod $(lsb_release -cs) main" -
PowerShell のインストール:
bash
sudo apt-get update
sudo apt-get install -y powershell
CentOS/RHEL:
-
Microsoft リポジトリの構成:
bash
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft]\nname=packages-microsoft\nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/packages-microsoft.repo' -
PowerShell のインストール:
bash
sudo yum install -y powershell
3.3 PowerShellGet を使用したインストール
Linux 環境でも、PowerShellGet を使用して Azure PowerShell モジュールをインストールできます。
-
PowerShell の起動:
bash
pwsh -
PowerShellGet のインストール (必要な場合):
PowerShellGet がまだインストールされていない場合は、以下のコマンドを使用してインストールします。
powershell
Install-Module -Name PowerShellGet -Force -AllowClobber -
Azure PowerShell モジュールのインストール:
powershell
Install-Module -Name Az -AllowClobber -Force
3.4 モジュールのインポートとバージョン確認
Windows と同様の手順で、Linux でもモジュールのインポートとバージョン確認を行います。
-
モジュールのインポート:
powershell
Import-Module Az -
モジュールのバージョン確認:
powershell
Get-Module -Name Az
3.5 Azure へのサインイン
Windows と同様の手順で、Linux でも Azure へのサインインを行います。
-
Azure へのサインイン:
powershell
Connect-AzAccount -
サブスクリプションの選択:
powershell
Get-AzSubscription
Select-AzSubscription -SubscriptionId <サブスクリプションID>
3.6 Linux 環境でのトラブルシューティング
- パッケージの依存関係エラー: パッケージマネージャーを使用して PowerShell をインストールする際に依存関係エラーが発生した場合は、パッケージマネージャーを更新し、不足している依存関係を手動でインストールしてください。
- PowerShell が起動しない: PowerShell が起動しない場合は、PowerShell のインストールディレクトリが正しく構成されていることを確認してください。環境変数
PATH
に PowerShell の実行可能ファイルのパスが含まれていることを確認します。 - その他のトラブルシューティング: Windows のトラブルシューティングセクションで説明されている問題の多くは、Linux 環境でも発生する可能性があります。解決策は同様です。
4. Azure PowerShell のアップデート
Azure PowerShell モジュールは頻繁にアップデートされるため、最新の機能とセキュリティ修正を利用するために定期的にアップデートすることをお勧めします。
4.1 PowerShellGet を使用したアップデート
powershell
Update-Module -Name Az
このコマンドは、インストールされている Az
モジュールを最新バージョンにアップデートします。
4.2 モジュールのアップデート
個別のモジュールをアップデートすることもできます。
powershell
Update-Module -Name Az.Compute
このコマンドは、Az.Compute
モジュールのみをアップデートします。
5. Azure PowerShell のアンインストール
5.1 PowerShellGet を使用したアンインストール
powershell
Uninstall-Module -Name Az -AllVersions
このコマンドは、インストールされているすべてのバージョンの Az
モジュールをアンインストールします。
5.2 MSI インストーラーを使用したアンインストール (Windows)
Windows 環境では、コントロールパネルの「プログラムと機能」から Azure PowerShell MSI インストーラーをアンインストールできます。
6. Azure PowerShell の基本コマンド
以下は、Azure PowerShell で使用できる基本的なコマンドの例です。
6.1 リソースグループの作成
powershell
New-AzResourceGroup -Name "MyResourceGroup" -Location "EastUS"
このコマンドは、EastUS
リージョンに MyResourceGroup
という名前のリソースグループを作成します。
6.2 仮想マシンの作成
powershell
New-AzVM -ResourceGroupName "MyResourceGroup" -Name "MyVM" -Location "EastUS" -Image "UbuntuLTS" -Size "Standard_DS1_v2"
このコマンドは、MyResourceGroup
リソースグループに MyVM
という名前の UbuntuLTS 仮想マシンを作成します。
6.3 ストレージアカウントの作成
powershell
New-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -Location "EastUS" -SkuName Standard_LRS
このコマンドは、MyResourceGroup
リソースグループに mystorageaccount
という名前の Standard_LRS ストレージアカウントを作成します。
7. ベストプラクティスとセキュリティ
7.1 多要素認証 (MFA) の有効化
Azure アカウントのセキュリティを強化するために、多要素認証 (MFA) を有効にすることをお勧めします。MFA を有効にすると、パスワードに加えて、スマートフォンに送信されるコードなどの別の認証方法が必要になります。
7.2 サービスプリンシパルの利用
スクリプトや自動化で Azure リソースにアクセスする場合、個人用のアカウント資格情報を使用するのではなく、サービスプリンシパルを使用することをお勧めします。サービスプリンシパルは、特定の Azure リソースへのアクセス許可を持つ、Azure Active Directory のアプリケーションです。
7.3 セキュアなクレデンシャルの管理
Azure PowerShell スクリプトでクレデンシャルを使用する場合は、セキュアな方法で保存および管理する必要があります。パスワードをスクリプトに直接埋め込むことは避けてください。代わりに、Azure Key Vault などのセキュアなストレージメカニズムを使用します。
8. まとめ
この記事では、Windows と Linux 環境における Azure PowerShell のインストール手順を詳しく説明しました。前提条件の確認からモジュールのインストール、Azure へのサインイン、トラブルシューティングまで、必要な手順を網羅しました。また、Azure PowerShell のアップデート、アンインストール、および基本的なコマンドについても説明しました。
Azure PowerShell は、Azure リソースを効率的に管理するための強力なツールです。この記事を参考に、Azure PowerShell を正しくインストールし、活用して、Azure 環境の管理を効率化してください。ベストプラクティスとセキュリティに関する推奨事項も考慮して、Azure 環境を安全に管理してください。