Azure の管理に関しては、多くのオプションがあります。 この記事では、Azure CLI と Azure PowerShell 言語を比較し、実行するシェル環境を比較します。
Azure CLI、 Azure PowerShell、 Azure Cloud Shell には、重複する機能があります。 それぞれの動作が異なり、言語が環境と混同される場合があります。 このガイドを使用して、最適なツールを決定します。
Azure コマンドライン ツールを使用する利点は何ですか?
Azure は自動化で実行されます。 ポータル内で実行するすべてのアクションは、リソースの読み取り、作成、変更、または削除を実行するコードに変換されます。
ワークロードを Azure に移行すると、管理上の負担の一部が軽減されますが、すべてではありません。 Azure での導入率が高くなるにつれて、オーバーヘッドも増加します。 データ センターについて心配する必要はありませんが、Azure VM、フェールオーバー データベース、仮想ネットワークの構成に修正プログラムを適用してトラブルシューティングする必要があります。
Azure を実行する既存の自動化を使用することで、コマンド ライン ツールによってそのオーバーヘッドが削減されます。
Azure コマンド ライン ツールとは
Azure コマンド ライン ツールは、日常的な操作を自動化し、データベース のフェールオーバーを標準化し、強力な分析情報を提供するデータをプルします。 コマンド ライン ツールを使用すると、Azure でタスクをスケーリングできるだけでなく、共有も簡単になります。 スクリプトの共有は、時間のかかるスクリーンショットを含む長い Wiki ページよりもはるかに簡単です。
Azure コマンド ライン ツールを使用する必要は必ずしもありませんが、役に立つスキルです。
Azure CLI と Azure PowerShell
Azure CLI と Azure PowerShell は、Azure リソースの作成と管理を可能にするコマンドライン ツールです。 どちらもクロスプラットフォームであり、Windows、macOS、Linux にインストールできます。
Azure CLI
- クロスプラットフォーム コマンドライン インターフェイス、Windows、macOS、Linux にインストール可能
- Windows PowerShell、Cmd、Bash、およびその他の Unix シェルで実行されます。
Azure PowerShell
- クロスプラットフォーム PowerShell モジュール、Windows、macOS、Linux で実行
- Windows PowerShell または PowerShell が必要
異なるシェル環境
シェル環境 | Azure CLI(Azure コマンドライン インターフェイス) | Azure PowerShell |
---|---|---|
コマンド | イエス | |
Bash (バッシュ) | イエス | |
Windows PowerShell | イエス | イエス |
PowerShell | イエス | イエス |
Windows PowerShell、PowerShell、Cmd、Bash はシェル環境です。 シェル環境によって、使用できるツールが決まりまるだけでなく、コマンドライン エクスペリエンスも変わります。
たとえば、行連結文字の場合、Bash はバックスラッシュ \
を使用し、Windows PowerShell ではバックティック `
を使用します。 シェル環境の違いによって、Azure CLI と Azure PowerShell の動作は変わりません。 ただし、コマンドライン エクスペリエンスは変わります。
Azure CLI には、4 つのシェル環境すべてでコマンドを実行可能にするインストーラーがあります。
Azure PowerShell は、実行可能ファイルではなく、 Az
という名前の PowerShell モジュールとしてパッケージ化されたコマンドレットのセットです。
Az
モジュールをインストールするには、Windows PowerShell または PowerShell を使用する必要があります。
Windows PowerShell は、ほとんどの Windows オペレーティング システムにプレインストールされている標準のスクリプト シェルです。 PowerShell は、実行時に .NET Core を使用するスタンドアロン インストールであり、macOS、Linux、Windows にインストールできます。
重要なポイント:
- AzureRM は、PowerShell を使用した Azure 管理用に引き続き参照される PowerShell モジュールです。 ただし、Azure PowerShell に置き換えられ、正式な提供終了日は 2024 年 2 月 29 日です。
AzureRM を使用している場合は、 Azure PowerShell を AzureRM から Az に移行できます。
Azure Cloud Shell について
Azure Cloud Shell は、Ubuntu コンテナーで実行されるホステッド シェル環境です。
Cloud Shell には、Bash (Azure CLI がプレインストール済み) と PowerShell (Azure PowerShell がプレインストール済み) の 2 つのシェル環境が用意されています。 Cloud Shell ウィンドウの上部にあるドロップダウン リストを使用すると、2 つの環境を簡単に切り替えることができます。
Cloud Shell には Web ブラウザーでアクセスでき、 Windows ターミナル と Visual Studio Code が統合されています。
注
Azure Cloud Shell では、3 つのツールの発行スケジュールが異なるので、最新の Azure PowerShell と Azure CLI のリリースが 常にすぐに反映 されるとは限りません。 ただし、Azure Cloud Shell は通常、常に両方のツールの最新バージョンを含むと考えられている。
最適な Azure コマンドライン ツール
適切なツールを選択するときは、過去の経験と現在の作業環境を考慮してください。
Azure CLI の構文は、Bash スクリプトの構文に似ています。 主に Linux システムを使用する場合、Azure CLI はより自然に感じられます。
Azure PowerShell は PowerShell モジュールです。 主に Windows システムを使用する場合、Azure PowerShell は自然に適しています。 コマンドは動詞名詞の名前付けスキームに従い、データはオブジェクトとして返されます。
自分の経験を活用できる、学習曲線を短縮するツールを選択してください。 Microsoft の学習を活用して、コマンド ラインで Azure の管理に習熟します。
とは言え、オープンマインドであることはあなたの能力を向上させるだけです。 妥当であれば、別のツールを使用してください。
重要なポイント:
- Azure サービスの機能パリティは、Azure CLI と Azure PowerShell の間に常に存在するとは限りません。
Azure CLI と Azure PowerShell: Side-by-side コマンドの比較
サインイン、サブスクリプション、および場所のコマンド:
コマンド | Azure CLI(Azure コマンドライン インターフェイス) | Azure PowerShell |
---|---|---|
Web ブラウザーを使用したサインイン | az login(ログインするためのコマンド) | Connect-AzAccount |
利用可能なサブスクリプションの取得 | az account list (アカウントリストを表示) | Get-AzSubscription |
サブスクリプションの設定 | az account set –-subscription <SubscriptionId> | Set-AzContext -Subscription < SubscriptionID> |
Azure の場所を一覧表示する | az account list-locations(Azureのリージョンを一覧表示するコマンド) | Get-AzLocation |
バージョンの検索、ヘルプの取得、コマンド ヘルプの表示:
コマンド | Azure CLI(Azure コマンドライン インターフェイス) | Azure PowerShell |
---|---|---|
バージョンの検索 | az --version | Get-InstalledModule -Name Az |
助けを求める | az --help | Get-Help |
コマンド ヘルプの表示 | az vm --help | Get-Help -Name New-AzVM |
リソース グループ、VM、ストレージ アカウントを作成します。
コマンド | Azure CLI(Azure コマンドライン インターフェイス) | Azure PowerShell |
---|---|---|
リソース グループの作成 | az group create --name <ResourceGroupName> --___location eastus (例: Azure でリソース グループ "ResourceGroupName" を eastus に作成するコマンド) | New-AzResourceGroup -名前 <ResourceGroupName> -場所 eastus |
Azure 仮想マシンを作成する | az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<Password>' | New-AzVM -ResourceGroupName < ResourceGroupName> -Name myVM -Image UbuntuLTS -Credential (Get-Credential) |
Azure ストレージ アカウントを作成する | az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --___location eastus --sku Standard_LRS --kind StorageV2 | New-AzStorageAccount -Name < StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2 |
Azure Virtual Machines の管理:
コマンド | Azure CLI(Azure コマンドライン インターフェイス) | Azure PowerShell |
---|---|---|
VM の一覧表示 | az vm list | Get-AzVM |
VM を再起動する | az vm restart --name myVM --resource-group <ResourceGroupName> | myVM -ResourceGroupName < ResourceGroupName を Restart-AzVM -Name する> |
VM の停止 | az vm stop --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName < ResourceGroupName> |
VM の停止と割り当ての解除 | az vm deallocate --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName < ResourceGroupName> |
VM の起動 | 以下のコマンドを実行して仮想マシンを開始します: az vm start --name myVM --resource-group <ResourceGroupName> | Start-AzVM -Name myVM -ResourceGroupName < ResourceGroupName> |
VM を削除する | az vm delete --name myVM --resource-group <ResourceGroupName> | myVM -ResourceGroupName < ResourceGroupName を Remove-AzVM -Name する> |
[プロパティ] を選択し、出力形式を変更します。
コマンド | Azure CLI(Azure コマンドライン インターフェイス) | Azure PowerShell |
---|---|---|
すべてのサブスクリプション情報を表示する | az account list --all | Get-AzSubscription |Select-Object -Property * |
テーブル形式で出力 | az account list -o table | Get-AzSubscription |Format-Table |
JSON としての出力 | az account show(アカウント情報を表示) | Get-AzSubscription |ConvertTo-Json |
重要なポイント:
- Azure CLI では、既定で JSON 文字列が出力されます。 その他の形式オプションは、 Azure CLI コマンドの出力形式で確認できます。
- Azure PowerShell の既定では、オブジェクトの出力が行われます。 PowerShell での書式設定の詳細については、「書式設定 コマンドを使用して出力ビューを変更する」を参照してください。
次のステップ
Azure CLI:
Azure PowerShell:
Azure CLI