azure VMのSKU一覧をAZ CLIで確認する方法|リージョン別スペック比較

運営:リナックスマスター.JP(代表 宮崎智広)
HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > Azure > azure VMのSKU一覧をAZ CLIで確認する方法|リージョン別スペック比較
「このリージョンでその VM サイズは使えません」——デプロイ直前にこのエラーを見てから対処するのは、現場ではかなり痛い手戻りです。Azure の VM サイズ(SKU)はリージョンごとに提供状況が異なり、ポータルの画面だけでは全容が分かりにくい仕様になっています。

この記事では、az vm list-skus コマンドを使って Azure VM の SKU 一覧をリージョン別に取得・確認する方法を解説します。フィルタリングオプションで必要な情報だけを絞り込む手順、restrictions フィールドで可用性を確認するコツ、複数リージョン間での比較パターンまでを扱います。想定環境は Azure CLI 2.x 系(Ubuntu 24.04 LTS または WSL2 からの実行)です。

この記事のポイント

・az vm list-skus --location で VM SKU をリージョン別に一覧取得できる
・--size オプションでシリーズ(D/E/F 等)を prefix 絞り込みできる
・restrictions フィールドが None でないSKUはそのリージョンで制限あり
・japaneast と japanwest で使えるSKUの世代・ゾーンが異なる点に注意


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Azure VM の「SKU」とは何か

SKU(Stock Keeping Unit)は Azure における VM の仕様——CPU 数・メモリ量・ディスク種別などを一意に識別する名称です。たとえば Standard_D4s_v5 は「汎用(D)・4vCPU・Premium SSD 対応(s)・第 5 世代(v5)」を表します。

SKU 名の読み方は次のルールで構成されています。

・シリーズ名(D / E / F / B 等): 用途カテゴリ。D は汎用、E はメモリ最適化、F はコンピュート最適化
・vCPU 数: 名称中の数字部分(D4s_v5 → 4vCPU)
・サフィックス(s / a / d 等): s は Premium SSD 対応、a は AMD CPU、d はローカル NVMe 搭載
・バージョン(v3 / v5 等): ハードウェア世代。数字が大きいほど性能・コスト効率が向上

AWS でいえば EC2 のインスタンスタイプ(t3.medium / m7i.large 等)に相当します。ただし Azure はリージョンごとに提供される SKU が大きく異なる点が AWS との違いです。事前に az vm list-skus で確認する習慣が、デプロイエラーを防ぐ近道です。

AZ CLI で SKU 一覧を取得する基本手順

1. AZ CLI のバージョンとログインを確認する

まず az コマンドが使える状態か確認します。

az --version | head -3

出力例(環境により異なります):

azure-cli 2.65.0 core 2.65.0 telemetry 1.1.0

バージョンが表示されない場合は Azure CLI を先にインストールしてください。ログインは次のコマンドで行います。

az login

ブラウザが起動し、Azure アカウントでの認証画面が開きます。CI や cron などの非インタラクティブ環境ではサービスプリンシパルを使った認証(az login --service-principal)を選択します。

2. リージョンを指定して SKU 一覧を取得する

VM の SKU 一覧を取得するコマンドは az vm list-skus です。リージョンを --location で必ず指定します(未指定では全リージョン分が返り、処理に数分かかります)。

az vm list-skus \ --location japaneast \ --resource-type virtualMachines \ --output table

出力例(環境により異なります):

ResourceType Locations Name Zones Restrictions --------------- ----------- ---------------------- ------- ------------ virtualMachines japaneast Standard_B1ls 1,2,3 None virtualMachines japaneast Standard_B1ms 1,2,3 None virtualMachines japaneast Standard_D2s_v5 1,2,3 None virtualMachines japaneast Standard_D4s_v5 1,2,3 None virtualMachines japaneast Standard_E4s_v5 1,2,3 None

Zones 列は利用可能な可用性ゾーン番号、Restrictions 列は利用制限の有無を示します。None であれば制限なしで使えます。

3. --size でシリーズを絞り込む

--size オプションにシリーズ名のプレフィックスを指定すると、部分一致で絞り込めます。

# D シリーズ(汎用)だけを取得する az vm list-skus \ --location japaneast \ --resource-type virtualMachines \ --size Standard_D \ --output table

出力例(環境により異なります):

ResourceType Locations Name Zones Restrictions --------------- ----------- ---------------------- ------- ------------ virtualMachines japaneast Standard_D2s_v5 1,2,3 None virtualMachines japaneast Standard_D4s_v5 1,2,3 None virtualMachines japaneast Standard_D8s_v5 1,2,3 None virtualMachines japaneast Standard_D16s_v5 1,2,3 None virtualMachines japaneast Standard_D32s_v5 1,2,3 None

E シリーズ(メモリ最適化)を調べたい場合は --size Standard_E に変えるだけです。

restrictions フィールドで可用性を確認する

1. 制限なしの SKU だけを抽出する

--query オプションで JMESPath フィルタを使うと、制限のない SKU 名だけを素早く一覧化できます。

az vm list-skus \ --location japaneast \ --resource-type virtualMachines \ --query "[?restrictions[0].reasonCode == null] | [].name" \ --output tsv | head -20

出力例(環境により異なります):

Standard_B1ls Standard_B1ms Standard_B2ms Standard_D2s_v5 Standard_D4s_v5 Standard_D8s_v5 Standard_E4s_v5

2. restrictions の読み方

restrictions フィールドに値が入っている場合、よく見られる理由コードは次の 2 つです。

・NotAvailableForSubscription: サブスクリプション単位で制限あり。Azure ポータルからクォータ増加申請が必要
・AllocationFailed: リージョンの物理容量不足。別のリージョンまたは別の SKU へ変更する

特定の可用性ゾーンだけで制限がかかっている場合は restrictions[].restrictionInfo.zones に該当ゾーン番号が記録されます。

リージョン間でのスペック比較

1. japaneast と japanwest を並べて比較する

同一 SKU が複数リージョンで使えるか確認するには、それぞれのコマンドを実行して出力を突き合わせます。

# 東日本 az vm list-skus \ --location japaneast \ --resource-type virtualMachines \ --size Standard_D4s_v5 \ --output table # 西日本 az vm list-skus \ --location japanwest \ --resource-type virtualMachines \ --size Standard_D4s_v5 \ --output table

japanwest は japaneast より提供 SKU 数が少ない傾向があります。また japanwest では可用性ゾーン(AZ)が提供されていないため、高可用性構成(ゾーン分散)を組む場合は japaneast をプライマリリージョンに選ぶのが一般的です。

2. AWS との違いを踏まえた選定の考え方

AWS でも aws ec2 describe-instance-types で同様の情報を取得できますが、Azure との主な違いは次の点です。

・リージョン差異の大きさ: Azure は AWS より SKU のリージョン差が大きく、特に日本リージョン間(japaneast / japanwest)で提供世代が異なることがある
・ゾーン対応 SKU の明示: Azure は Zones 列で対応ゾーンを明示しているため、ゾーン分散の設計前に事前確認しやすい
・Burstable の位置付け: AWS T 系に相当する Azure B シリーズは開発・テスト向け。継続負荷の本番では D / E 系を使うのは両クラウド共通の考え方

Azure 環境に移行する際や Azure でのLinuxサーバー構築を体系的に学ぶ ときは、まずこの SKU 一覧確認を習慣化しておくと、構成設計の手戻りを大幅に減らせます。

トラブルシュート

「The requested VM size is not available」が出る場合

デプロイ時にこのエラーが出た場合、次の手順で原因を特定します。

・原因1: そのリージョンで SKU 自体が提供されていない
az vm list-skus --location <リージョン> --resource-type virtualMachines --size <SKU名> を実行して出力が空なら、そのリージョンでは提供されていません。別リージョンか別 SKU に変更します。

・原因2: サブスクリプション制限(NotAvailableForSubscription)
restrictions 列にこの値が記録されている場合は、Azure ポータルからサポートへクォータ増加申請を行います。

・原因3: 指定ゾーンで SKU が使えない
Zones 列に 1 のみ記載されている SKU をゾーン 2 に配置しようとした場合もエラーになります。--zone パラメーターと Zones 列を照合して確認します。

コマンド実行が遅い場合

--location を省略すると全リージョン分の SKU を取得するため数分かかります。また --resource-type virtualMachines を省くとディスクやネットワーク系 SKU も含まれて出力がさらに大きくなります。必ず --location と --resource-type をセットで指定してください。

本記事のまとめ

やりたいこと コマンド
リージョン別の VM SKU 一覧を取得 az vm list-skus --location japaneast --resource-type virtualMachines --output table
シリーズ(D/E/F 等)で絞り込む az vm list-skus --location japaneast --resource-type virtualMachines --size Standard_D --output table
制限なし(restrictions=None)の SKU だけ抽出 az vm list-skus --location japaneast --resource-type virtualMachines --query "[?restrictions[0].reasonCode == null] | [].name" --output tsv
西日本リージョンの同 SKU 可用性を確認 az vm list-skus --location japanwest --resource-type virtualMachines --size Standard_D4s_v5 --output table
SKU 名を grep で素早く絞る az vm list-skus --location japaneast --resource-type virtualMachines --output table | grep -i "Standard_E"
VM を選ぶ前に az vm list-skus でリージョンの実態を確認する——この習慣をつけておくだけで、デプロイ時の「使えなかった」という手戻りをほぼゼロにできます。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、Azure 上でのLinux VM 設計・構築・運用をハンズオン形式で学べるセミナーを開催しています。

>> Azure LinuxセミナーのLP(詳細・日程はこちら)

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

運営

リナックスマスター.JP(代表 宮崎智広)

株式会社イーネットマーキュリーが運営するLinux教育サイトです。代表の宮崎智広は現役のLinuxサーバー管理者として20年以上の実務経験を持ち、累計3,100名以上のエンジニアを指導してきました。実践型のLinuxセミナーや無料マニュアルの配布を通じてLinux人材の育成に取り組んでいます。