Azure CLI とは
Azure Command-Line インターフェイス (CLI) は、Azure に接続し、Azure リソースに対して管理コマンドを実行するように設計されたクロスプラットフォーム のコマンド ライン ツールです。 ターミナルで対話形式で作業する場合でも、スクリプトを使用してタスクを自動化する場合でも、クラウド インフラストラクチャを管理するための一貫性のあるスクリプト可能なインターフェイスが提供されます。
Azure CLI とは
Azure CLI を使用すると、次のことができます。
- 対話形式でコマンドを実行します。 ターミナル プロンプトでコマンドを入力し、すぐに結果を表示します。
- スクリプトを使用して自動化する: Bash、PowerShell、またはその他のシェル スクリプトでコマンドを組み合わせて、反復的なタスクを実行します。
- すべての Azure サービスを管理します。 一貫性のある構文を使用して、Azure リソースを作成、構成、削除、監視します。
- 任意の場所で作業する: Linux、macOS、Windows、Docker コンテナーにインストールするか、Azure Cloud Shell を使用します。
インストールと実行のオプション
プラットフォームのサポート:
| Platform | シェル オプション | インストール方法 |
|---|---|---|
| リナックス | Bash、PowerShell 7 | パッケージ マネージャー (apt、yum) またはスクリプト |
| macOS | Bash、Zsh、PowerShell 7 | Homebrew またはインストーラー |
| ウィンドウズ | cmd.exe、PowerShell、PowerShell 7 | MSI インストーラ |
| Docker | Bash | 事前構築済みのコンテナー イメージ |
| Azure クラウド シェル | Bash、PowerShell | 組み込み (インストール不要) |
推奨される環境:
- Azure Cloud Shell: 常に up-to-date Azure CLI と認証が自動的に構成された状態でプレインストールされます。
- Bash on Linux/macOS: 優れたスクリプト機能を備えた Azure CLI 用のナチュラル シェル。
- PowerShell 7: オペレーティング システム間で一貫したエクスペリエンスを提供するクロスプラットフォーム PowerShell。
- Windows コマンド プロンプト (cmd.exe): 単純なコマンド実行のための基本的な Windows シェル。
インストールの詳細とコマンド実行パターンについては、このモジュールの後半で詳しく説明します。 先に進む前に、Azure CLI のアーキテクチャとコマンドの構造を理解しましょう。
Azure CLI の参照の種類
Azure CLI コマンド は、 コア 参照と 拡張機能という 2 つのカテゴリに分類されます。 この違いを理解することは、Azure CLI のインストールを管理し、最新の機能にアクセスするのに役立ちます。
主要な参照
コア参照 は、Azure CLI を使用して自動的にインストールされる永続的な組み込みコマンドです。
- 常に使用可能: Azure CLI を使用してインストールする。追加のセットアップは必要ありません。
- 運用環境対応: 日常的な Azure 管理のための安定したテスト済みコマンド。
- 自動更新: Azure Cloud Shell を使用する場合、コア参照は常に最新です。
- 全般的な対応: Azure サービスのほとんどや一般的なタスクのコマンドを含んでいます。
コア参照グループの例:
-
az account- Azure サブスクリプションを管理します。 -
az group- リソース グループを管理します。 -
az storage- Azure Storage アカウントを管理します。 -
az vm- 仮想マシンを管理します。 -
az network- ネットワーク リソースを管理します。
Extensions
拡張機能 には、Azure CLI コマンドとして実行されるオプションの特殊な機能が用意されています。
- オプトイン インストール: 既定では含まれません。必要に応じインストールします。
- 新機能にアクセスする: プレビュー機能と試験段階の Azure 機能を GA になる前に取得します (一般公開)。
- 柔軟な更新プログラム: コア Azure CLI とは別に拡張機能を更新します。
- 自動プロンプト: Azure CLI では、初回使用時に拡張機能をインストールするように求められます。
拡張機能の一般的なユース ケース:
- Azure サービスのプレビュー機能。
- 特定のシナリオ (Azure IoT、Azure Machine Learning など) に特化したツール。
- サード パーティ統合用のベンダー提供のコマンド。
例: 拡張機能コマンドを初めて実行すると、Azure CLI によって次のメッセージが表示されます。
$ az aks create --resource-group myResourceGroup --name myAKSCluster
The command requires the extension aks-preview. Do you want to install it now? (Y/n): Y
Azure CLI リファレンスの状態
Azure CLI コマンドには、 安定性とサポート レベルを示すライフサイクル ステージがあります。 コマンドが実稼働可能かどうかは、(型ではなく) 状態によって決まります。
3 つの状態カテゴリ
| ステータス | 安定性 | 運用環境での使用 | サポート レベル |
|---|---|---|---|
| GA (一般公開) | パーマネント | イエス | 完全な Microsoft サポート |
| パブリック プレビュー | フィードバックに基づいて変更できる | 慎重に使用する | Azure プレビューの使用条件に従う |
| 非推奨 | 削除されます | いいえ | 代替品に移行する |
状態の詳細:
GA (一般提供):
- 運用対応の安定したコマンド。
- 重大な変更はメジャーバージョンのアップデートでのみ行われます。
- 完全な Microsoft サポートと SLA カバレッジ。
- 運用環境のワークロードに推奨されます。
パブリック プレビュー:
- テストとフィードバックに使用できる新機能。
- 予告なしに破壊的変更が加わる可能性があります。
- 制限付きサポート。GitHub またはフィードバック チャネルを通じて問題を報告します。
- 運用環境で使用する前に、開発環境でテストします。
廃止:
- 今後のリリースで削除が予定されているコマンド。
- 通常、より新しい、より良いコマンドに置き換えられます。
- ドキュメントに記載されている移行パス。
- 新しいスクリプトや自動化では使用しないでください。
大事な: コア コマンドと拡張機能コマンドの両方に任意の状態を設定できます。 コア コマンドはプレビュー段階にあり、拡張コマンドは GA である可能性があります。
Azure CLI の参照パターン
Azure CLI では、コマンドの予測と記憶を容易にする、一貫性のある階層的 なコマンド構造が使用されます。 パターンを理解したら、任意の Azure サービスを操作できます。
コマンド構造
構文パターン:
az <reference-group> <subgroup> <command> --<parameter> <value>
コンポーネントの内訳:
| コンポーネント | Description | Example |
|---|---|---|
| アリゾナ 州 | 基本コマンド (常に必須) | az |
| 参照グループ | Azure サービスまたはカテゴリ |
account、 group、 storage、 vm |
| 亜群 | 特定のリソースの種類 (省略可能) |
blob、 container、 disk |
| 命令 | 実行するアクション |
create、 list、 delete、 show |
| Parameter | 動作を変更するオプション |
--name、 --resource-group、 --location |
| 価値 | パラメーターに指定されたデータ |
myStorageAccount、eastus |
実際の例: Azure サブスクリプションを変更する
シナリオ: 既定の Azure サブスクリプションを切り替えます。
コマンドの内訳:
az account set --subscription "my subscription name"
-
参照グループ:
az account(Azure サブスクリプションを管理します)。 -
Command:
set(アクティブなサブスクリプションを変更します)。 -
Parameter:
--subscription(どのサブスクリプションを指定します)。 -
パラメーター値:
"my subscription name"(サブスクリプション名または ID)。
その他のコマンドの例
リソース グループを作成します。
az group create --name myResourceGroup --location eastus
-
参照グループ:
az group -
コマンド:
create -
Parameters:
--name(リソース グループ名)、--location(Azure リージョン)
ストレージ アカウントの一覧表示:
az storage account list --resource-group myResourceGroup --output table
-
参照グループ:
az storage -
亜群:
account -
コマンド:
list -
Parameters:
--resource-group(グループでフィルター処理)、--output(結果の書式設定)
仮想マシンを再起動します。
az vm restart --name myVM --resource-group myResourceGroup
-
参照グループ:
az vm -
コマンド:
restart -
Parameters:
--name(VM 名)、--resource-group(グループを含む)
パターン認識のヒント: コマンドは自然言語パターンに従います。 "リソース グループにストレージ アカウントを作成する" 場合は、 az storage account create --resource-groupを使用します。
Azure CLI コマンドの実行
Azure CLI では、 対話型のコマンド ライン使用と自動スクリプト実行という 2 つの実行モードがサポートされています。 ワークフローに最適なアプローチを選択します。
対話型の実行
対話型モード では、ターミナル プロンプトでコマンドを入力し、すぐに結果を確認できます。 このアプローチは、次の場合に最適です。
- Azure CLI のコマンドと構文について説明します。
- Azure リソースとそのプロパティの探索。
- クイック 1 回限りのタスク (テスト リソースの作成、状態の確認)。
- トラブルシューティングとデバッグ。
しくみ:
- 任意のシェル (Bash、PowerShell、cmd.exe、Azure Cloud Shell) を開きます。
- プロンプトで Azure CLI コマンドを入力します。
- Enter キーを押して実行します。
- 結果をすぐに表示します。
例: 仮想マシンを対話形式で再起動します。
az vm restart --resource-group MyResourceGroup --name MyVm
対話型ワークフロー:
# Check current subscription
$ az account show --output table
# List all resource groups
$ az group list --output table
# Create a storage account
$ az storage account create --name mystorageacct --resource-group myRG --location eastus
スクリプト実行
スクリプト モードでは 、自動化のために複数の Azure CLI コマンドが 1 つのスクリプト ファイルに結合されます。 このアプローチは、次の場合に不可欠です。
- 反復的なタスク (開発環境の毎日の作成)。
- 複雑なマルチステップ操作 (アプリケーション全体のデプロイ)。
- CI/CD パイプライン (自動デプロイ)。
- コードとしてのインフラストラクチャ (IaC) の実装。
しくみ:
- スクリプト ファイルに Azure CLI コマンドを記述します (Bash 用
.sh、PowerShell 用.ps1)。 - 必要に応じて、変数、ループ、条件付きロジックを追加します。
- スクリプトを実行可能にする (Bash:
chmod +x script.sh)。 - パラメーターを使用してスクリプトを実行します。
例: 複数のストレージ アカウントを作成する Bash スクリプト:
#!/bin/bash
# File: myScriptFile.sh
resourceGroup=$1
location="eastus"
accountCount=3
for i in $(seq 1 $accountCount); do
accountName="storage${i}${RANDOM}"
echo "Creating storage account: $accountName"
az storage account create \
--name $accountName \
--resource-group $resourceGroup \
--location $location \
--sku Standard_LRS
done
スクリプトを実行します。
# Make script executable
chmod +x myScriptFile.sh
# Run script with resource group parameter
./myScriptFile.sh myResourceGroupName
PowerShell スクリプトの例:
# File: myScript.ps1
param (
[Parameter(Mandatory=$true)]
[string]$ResourceGroupName
)
$location = "eastus"
$storageCount = 3
for ($i = 1; $i -le $storageCount; $i++) {
$storageAccount = "storage$i$(Get-Random)"
Write-Host "Creating storage account: $storageAccount"
az storage account create `
--name $storageAccount `
--resource-group $ResourceGroupName `
--location $location `
--sku Standard_LRS
}
PowerShell スクリプトを実行します。
.\myScript.ps1 -ResourceGroupName "myResourceGroupName"
適切な実行モードの選択
| 使用事例 | インタラクティブ | スクリプト化 |
|---|---|---|
| 学習 | 最高 | 推奨されません |
| 1 回限りのタスク | 最高 | 推奨されません |
| Troubleshooting | 最高 | ときどき |
| 反復的なタスク | 推奨されません | 最高 |
| 複数ステップの操作 | ときどき | 最高 |
| CI/CD パイプライン | 推奨されません | 最高 |
| コードとしてのインフラストラクチャ | 推奨されません | 最高 |
Azure CLI のアーキテクチャとコマンド構造を理解したので、適切な環境を選択して Azure CLI をインストールしましょう。