azure cli

Azure CLI 2.60+

Azure CLI (az)のクイック リファレンス:認証、サブスクリプション / リソース管理、VM / AKS / Storage / App Service / Key Vault、クエリ書式、CI 対応ワークフロー — よく使うオプションと実用例をまとめました。

43 コマンド

ヘルプ

az --version

Azure CLI バージョン + 使用する Python インタープリターを表示します。

az --version
az find <query>

キーワードで `az` コマンドを検索します — CLI に同梱されている静的検索インデックスを使用します。

az find 'aks'
az <group> --help

グループ配下のすべてのコマンドを表示します。

<group> --help; <group> <command> --help

az storage --help
az <group> <command> --help

単一コマンドのフラグ + 例を表示します。

az vm create --help
az interactive

オート コンプリート、構文強調表示、インライン ドキュメントを備えた対話型シェルに入ります。

--style; --update; --no-param-expansion

az interactive

認証

az login

ブラウザ ベースのログインを起動します(ディスプレイが利用できない場合はデバイス コード フローを使用)。

--use-device-code; --tenant <tenant>; --service-principal -u <id> -p <secret> --tenant <tenant>; --federated-token <token>; --identity

az login
az login --use-device-code

デバイス コード フローを使用します — 任意のデバイスのブラウザに貼り付ける URL + コードを出力します。

az login --use-device-code --tenant contoso.onmicrosoft.com
az login --service-principal -u <appId> -p <password> --tenant <tenant>

クライアント シークレットでサービス プリンシパルとしてログインします(CI / 自動化)。

-u <id>; -p <secret>; --tenant <tenant>; --federated-token <jwt>

az login --service-principal -u $APP_ID -p $APP_SECRET --tenant $TENANT
az logout

すべての資格情報をクリアし、現在のセッションを終了します。

--username <upn>

az logout
az account show

現在アクティブなサブスクリプション、テナント、ユーザーを表示します。

--output table; --query

az account show --output table
az account list

アカウントがアクセスできるすべてのサブスクリプションを一覧表示します。

--output table; --query '[].{name:name,id:id}'; --all

az account list --output table
az account set --subscription <id>

後続のコマンドのアクティブなサブスクリプションを切り替えます。

--subscription <id>; --name <name>

az account set --subscription 'My Dev Subscription'
az account clear

ローカル キャッシュからすべてのサブスクリプションをクリアします(再ログインを強制)。

az account clear && az login

出力

az <cmd> --output <format>

出力形式を選択します: `json`(既定)、`table`、`tsv`、`yaml`、`yamlc`、`none`。

json; table; tsv; yaml; yamlc; none

az vm list --output table
az <cmd> --query '<JMES>'

JMESPath 式でレスポンスをプロジェクションします。

--query '[].name'; --query 'length(@)'; --query 'sort_by(@, &name)'

az vm list --query '[].{name:name,rg:resourceGroup,size:hardwareProfile.vmSize}' --output table
az <cmd> --no-wait

長時間実行操作の完了を待たずにすぐに返します(後で `az <verb> wait` でポーリング)。

az vm create --no-wait --resource-group rg --name myvm --image image

リソース グループ

az group list

アクティブなサブスクリプションのすべてのリソース グループを一覧表示します。

--output table; --query '[].name'

az group list --output table
az group create --name <rg> --location <loc>

新しいリソース グループを作成します。

--name; --location eastus; --tags env=prod

az group create --name rg-prod --location eastus --tags env=prod
az group delete --name <rg>

リソース グループ + それに含まれるすべてのリソースを削除します(元に戻せません)。

--name; --yes; --no-wait

az group delete --name rg-old --yes --no-wait

リソース

az resource list

現在のサブスクリプションのすべての Azure リソースを一覧表示します。

--resource-group <rg>; --resource-type <type>; --name <name>; --tag env=prod

az resource list --output table
az tag

リソース タグを大規模に管理します(リソース グループ レベル)。

create; update; list; delete

az tag create --resource-group rg-prod --tags env=prod owner=alice

VM

az vm list

すべての VM をサイズ + 状態とともに一覧表示します。

--resource-group; --show-details; --query

az vm list --output table
az vm start --name <name> --resource-group <rg>

VM を起動します(以前に停止されていた場合はコンピューティングを割り当て解除)。

--no-wait

az vm start -n vm-dev -g rg-dev --no-wait
az vm stop --name <name> --resource-group <rg>

コンピューティング課金を停止するために VM を停止(割り当て解除)します。

--no-wait

az vm deallocate -n vm-dev -g rg-dev --no-wait
az ssh vm --name <name> --resource-group <rg>

新しいネイティブ SSH サポート(Azure CLI 2.30+)を使用して、明示的なパブリック IP なしでセッションを開きます。

-n; -g; --ssh-key-file <path>; --port <p>

az ssh vm --name vm-dev --resource-group rg-dev

AKS

az aks list

すべての AKS クラスターを一覧表示します。

--resource-group; --output table

az aks list --output table
az aks get-credentials --name <name> --resource-group <rg> --overwrite-existing

クラスターの kubeconfig を `~/.kube/config` にマージし、コンテキストを切り替えます。

--name; --resource-group; --admin; --overwrite-existing; --file <kubeconfig>

az aks get-credentials --name my-cluster --resource-group rg-prod --overwrite-existing
az aks create --name <name> --resource-group <rg>

AKS クラスターを作成します。最も一般的なフラグ: `--node-count`、`--node-vm-size`、`--kubernetes-version`、`--generate-ssh-keys`。

--name; -g; --node-count; --node-vm-size; --kubernetes-version; --generate-ssh-keys; --service-principal; --no-ssh-key

az aks create -g rg-prod -n my-cluster --node-count 3 --generate-ssh-keys

ストレージ

az storage account list

すべてのストレージ アカウントを一覧表示します。

--output table; --query '[].name'

az storage account list --output table
az storage blob upload --account-name <acc> --container-name <c> --name <blob> --file <path>

ファイルを blob としてアップロードします。`--account-key`、SAS トークン、または auth-mode login を使用します。

--account-name; --container-name; --name; --file <local>; --auth-mode login; --sas-token; --overwrite

az storage blob upload --account-name mysa --container-name uploads --name backup.zip --file backup.zip --auth-mode login
az storage blob download --account-name <acc> --container-name <c> --name <blob> --file <path>

blob をローカル パスにダウンロードします。

--account-name; --container-name; --name; --file <local>; --auth-mode login

az storage blob download --account-name mysa --container-name uploads --name backup.zip --file ./backup.zip

App Service

az webapp list

すべての App Service webapp を一覧表示します。

--resource-group; --output table

az webapp list --output table
az webapp deploy --name <name> --resource-group <rg> --src-path <local-zip>

ビルドされたアーティファクトを webapp にデプロイします(zip デプロイ)。

--src-path <zip>; --type zip; --target-path; --async

az webapp deploy -g rg-prod -n web-prod --src-path ./app.zip
az webapp log tail --name <name> --resource-group <rg>

コンテナー ログ出力をターミナルにストリーミングします。

--name; -g; --provider

az webapp log tail -n web-prod -g rg-prod

Key Vault

az keyvault list

サブスクリプションのすべての Key Vault を一覧表示します。

--output table; --resource-type vault

az keyvault list --output table
az keyvault secret set --vault-name <kv> --name <name> --value <value>

シークレットを追加または更新します。ファイルからロードするには `--file <path>` を使用します。

--vault-name; --name; --value; --file; --encoding utf-8

az keyvault secret set --vault-name my-kv --name DB-PASSWORD --value $DB_PASSWORD
az keyvault secret show --vault-name <kv> --name <name>

シークレットのメタデータ + 値を読み取ります。

az keyvault secret show --vault-name my-kv --name DB-PASSWORD --query 'value' -o tsv

Container Registry

az acr list

すべての Container Registry を一覧表示します。

--resource-group; --output table

az acr list --output table
az acr login --name <name>

Docker を ACR にログインします — その後 `docker push/pulling` が直接動作します。

az acr login --name myregistry

診断

az configure

CLI 既定(出力形式、既定ロケーション、既定グループなど)を管理します。

--defaults; --list-defaults

az configure --defaults location=eastus group=rg-prod
az upgrade

Azure CLI を最新リリースにアップグレードします(Linux のみ — Windows ではインストーラーを使用)。

az upgrade
az extension list

インストール済み CLI 拡張機能(az aks-preview、az spring など)を一覧表示します。

list; show; add; remove; update

az extension add --name aks-preview
az --debug <cmd>

HTTP リクエスト / レスポンス デバッグ情報を stderr に出力します。

--debug; --only-show-errors

az --debug vm list 2> az.log

関連コマンド速查

Azure CLI について

Azure CLI(`az`)は、Azure リソースを管理するための Microsoft 公式コマンドライン ツールです。2014 年にリリースされ Python で構築された `az` は、クロスプラットフォーム(Windows、macOS、Linux)で、単一の MSI / pkg / apt / brew インストールとして出荷され、以前 PowerShell `Az` モジュールが必要だったすべての Azure シナリオの既定 CLI になりました。現在の安定版は Azure CLI 2.60+(Python 3.11+ ランタイム)です。`az` は動詞 - 名詞の規約に従います:`az <verb> <noun>`(例: `az storage blob upload`、`az aks get-credentials`、`az vm list`)。コマンドは JMESPath クエリ(`--query`)、表 / json / yaml / tsv 出力(`--output`)、パラメーター補完用のリソース レベル オート プロンプトをサポートします。認証は対話型 `az login`、サービス プリンシパル、マネージド ID、OIDC / フェデレーション資格情報(シークレットなしの CI)をサポートします。Azure CLI は MIT ライセンスで、明示的な API 呼び出し以外ではソース コードをアップロードしません。

チートシート バージョン 1.0.0