azure-quotas について
azure-quotas は、Azure サブスクリプションのサービスクォータ(サービス制限)を確認・管理するエージェントスキルです。デプロイ前の容量確認、リージョン比較、クォータ関連の問題調査を対象としています。az quota CLI を優先して使用し、スクリプトで上限・使用量・利用可能容量を一度に出力します。
主な機能
- 01az quota コマンドによるクォータ照会
- 02上限・使用量・利用可能容量の出力
- 03localizedValue によるクォータ名の照合
- 04リージョン間のクォータ比較
- 05クォータ増加リクエストと申請状況の確認
活用シーン
- 01Azure デプロイ前の容量確認
- 02クォータに余裕のあるリージョンの選定
- 03QuotaExceeded エラーの調査
MCP 対応
このスキルは azure-quota MCP サーバーを使用しないよう明記しており、信頼性が低いとして az quota CLI の利用を指示しています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ microsoft/ azure-skills --skill azure-quotasインストール後、Claude Code で/azure-quotasを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-commands.mdcommands.mdscripts/check-quota.ps1check-quota.sh詳細
Azure Quotas - サービスの制限と容量管理
権威あるガイダンス — クォータの管理と容量の検証については、以下の手順に正確に従ってください。
概要
Azure Quotas とは何ですか?
Azure のクォータ(サービス制限とも呼ばれます)は、サブスクリプションにデプロイできるリソースの最大数です。クォータには次の役割があります。
- 誤った過剰なプロビジョニングを防止する
- Azure 全体でリソースを公平に分配する
- 各リージョンの利用可能な容量を表す
- 増加できる(調整可能なクォータ)場合と、固定されている(調整不可のクォータ)場合がある
重要な概念: クォータ = リソースの利用可能性
クォータがなければ、リソースをデプロイできません。デプロイを計画するときやリージョンを選択するときは、必ずクォータを確認してください。
このスキルを使用する場面
次の場合にこのスキルを呼び出してください。
- 新しいデプロイを計画するとき — デプロイ前に容量を検証する
- Azure リージョンを選択するとき — リージョン間でクォータの利用可能状況を比較する
- クォータ超過エラーをトラブルシューティングするとき — 現在の使用量と制限を確認する
- クォータの引き上げをリクエストするとき — CLI またはポータルから引き上げリクエストを送信する
- リージョン間の容量を比較するとき — クォータに空きのあるリージョンを見つける
- プロビジョニング制限を検証するとき — デプロイがクォータを超過しないことを確認する
クイックリファレンス
| プロパティ | 詳細 |
|---|---|
| 主要なツール | Azure CLI(az quota)— 必ず最初に使用してください |
| 必要な拡張機能 | az extension add --name quota(最初に必ずインストールしてください) |
| 主要なコマンド | az quota list、az quota show、az quota usage list、az quota usage show |
| CLI の完全なリファレンス | commands.md |
| Azure ポータル | クォータ — フォールバックとしてのみ使用してください |
| REST API | Microsoft.Quota プロバイダー — 信頼性が低いため、最初に使用しないでください |
| MCP サーバー | azure-quota MCP サーバー — 絶対に使用しないでください。信頼性が低いため、必ず代わりに az quota CLI を使用してください。 |
| 必要なアクセス許可 | Reader(表示)または Quota Request Operator(管理) |
⚠️ 必ず最初に CLI を使用してください
REST API とポータルでは、誤解を招く「上限なし」の値が表示されることがあります。これは容量が無制限という意味ではありません。クォータ API がそのリソースの種類に対応していないことを意味します。必ず
az quotaコマンドから始めてください。CLI がBadRequestを返した場合は、Azure のサービス制限に関するドキュメントを参照してください。CLI の完全なリファレンスについては、commands.mdを参照してください。
クォータの種類
| 種類 | 調整可能性 | 承認 | 例 |
|---|---|---|---|
| 調整可能 | ポータル/CLI/API から引き上げ可能 | 通常、自動承認 | VM の vCPU、パブリック IP、ストレージ アカウント |
| 調整不可 | 制限は固定 | 変更不可 | サブスクリプション全体に適用されるハードリミット |
重要: クォータの引き上げリクエストは無料です。支払いが発生するのは、クォータの割り当てに対してではなく、実際に使用するリソースに対してのみです。
リソース名のマッピングを理解する
⚠️ 重要: ARM リソースの種類とクォータのリソース名は、1 対 1 で対応していません。
マッピングの例
| ARM リソースの種類 | クォータのリソース名 |
|---|---|
Microsoft.App/managedEnvironments | ManagedEnvironmentCount |
Microsoft.Compute/virtualMachines | standardDSv3Family、cores、virtualMachines |
Microsoft.Network/publicIPAddresses | PublicIPAddresses、IPv4StandardSkuPublicIpAddresses |
検出ワークフロー
ARM の種類からクォータのリソース名を推測しないでください。 必ず次のワークフローを使用してください。
-
リソースプロバイダーのすべてのクォータを一覧表示します。
az quota list --scope /subscriptions/<id>/providers/<ProviderNamespace>/locations/<region> -
localizedValue(人が読める説明)で照合し、該当するクォータを見つけます。 -
以降のコマンドでは、ARM リソースの種類ではなく、
nameフィールドを使用します。az quota show --resource-name ManagedEnvironmentCount --scope ... az quota usage show --resource-name ManagedEnvironmentCount --scope ...
📖 詳細なマッピング例とワークフロー: commands.md - Resource Name Mapping を参照してください。
スクリプト
事前に用意されたスクリプトを使用すると、クォータ拡張機能のインストール、使用状況の照会、容量の計算を実行できます。コマンドを手動で組み立てる代わりに、これらを使用してください。1 回の呼び出しで、上限、使用状況、利用可能な容量が返されます。
| スクリプト | 目的 | 用途 |
|---|---|---|
scripts/check-quota.ps1 | すべてのクォータの上限、使用状況、利用可能な容量を返します(リソース名を指定すると、単一のクォータを返します) | クォータ確認用の主要スクリプト |
scripts/check-quota.sh | 上記と同じ(bash) | クォータ確認用の主要スクリプト |
主なワークフロー
ワークフロー 1:特定のリソースのクォータを確認する
シナリオ: デプロイ前に、クォータの上限と現在の使用状況を確認します。
リソースプロバイダーとリージョンを指定してスクリプトを実行します。1 回の呼び出しで、上限、現在の使用状況、利用可能な容量とともに、すべてのクォータが表形式で返されます。
.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region>
./scripts/check-quota.sh <provider> <region>
単一のリソースを確認するには、リソース名を追加します。
.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region> -ResourceName <resource-name>
./scripts/check-quota.sh <provider> <region> <resource-name>
例:
.\scripts\check-quota.ps1 -ResourceProvider Microsoft.Compute -Region eastus
出力例:
| リソース | リージョン | 上限 | 使用状況 | 利用可能 |
|---|---|---|---|---|
| cores | eastus | 100 | 50 | 50 |
| standardDSv3Family | eastus | 350 | 50 | 300 |
| virtualMachines | eastus | 25000 | 5 | 24995 |
| ... | ... | ... | ... | ... |
📖 関連項目: az quota show、az quota usage show
ワークフロー 2:リージョン間でクォータを比較する
シナリオ: 利用可能な容量に基づいて、デプロイに最適なリージョンを見つけます。
# Define candidate regions
REGIONS=("eastus" "eastus2" "westus2" "centralus")
VM_FAMILY="standardDSv3Family"
SUBSCRIPTION_ID="<subscription-id>"
# Check quota availability across regions
for region in "${REGIONS[@]}"; do
echo "=== Checking $region ==="
# Get limit
LIMIT=$(az quota show \
--resource-name $VM_FAMILY \
--scope "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Compute/locations/$region" \
--query "properties.limit.value" -o tsv)
# Get current usage
USAGE=$(az quota usage show \
--resource-name $VM_FAMILY \
--scope "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Compute/locations/$region" \
--query "properties.usages.value" -o tsv)
# Calculate available
AVAILABLE=$((LIMIT - USAGE))
echo "Region: $region | Limit: $LIMIT | Usage: $USAGE | Available: $AVAILABLE"
done
📖 関連項目: リージョンをまたいだスクリプトループのパターン全般については、commands.md を参照してください。
ワークフロー 3:クォータの引き上げを申請する
シナリオ: 現在のクォータではデプロイに不十分です。
# Request increase for VM quota
az quota update \
--resource-name standardDSv3Family \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus \
--limit-object value=500 \
--resource-type dedicated
# Check request status
az quota request status list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus
承認プロセス:
- 変更可能なクォータのほとんどは、数分以内に自動承認されます。
- 一部の申請では手動審査が必要です(数時間から数日)。
- 変更できないクォータについては、Azure サポートチケットが必要です。
ワークフロー 4:計画のためにすべてのクォータを一覧表示する
シナリオ: あるリージョンのリソースプロバイダーに関するすべてのクォータを把握します。
# List all compute quotas in East US (table format)
az quota list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus \
--output table
# List all network quotas
az quota list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.Network/locations/eastus \
--output table
# List all Container Apps quotas
az quota list \
--scope /subscriptions/<subscription-id>/providers/Microsoft.App/locations/eastus \
--output table
📖 関連項目: az quota list
トラブルシューティング
よくあるエラー
| エラー | 原因 | 解決策 |
|---|---|---|
| REST API の「No Limit」 | 誤解を招く表示です。無制限という意味ではありません。 | CLI を使用してください。「クイックリファレンス」の警告を参照してください。 |
ExtensionNotFound | クォータ拡張機能がインストールされていません。 | az extension add --name quota |
BadRequest | クォータ API がリソースプロバイダーをサポートしていません。 | サービスの制限に関するドキュメントを確認してください。 |
MissingRegistration | Microsoft.Quota プロバイダーが登録されていません。 | az provider register --namespace Microsoft.Quota |
QuotaExceeded | デプロイによってクォータを超過します。 | 引き上げを申請するか、別のリージョンを選択してください。 |
InvalidScope | スコープの形式が正しくありません。 | 次の形式を使用してください:/subscriptions/<id>/providers/<namespace>/locations/<region> |
| CLI コマンドがすべて失敗する | 認証、拡張機能、または環境の問題です。 | Azure CLI のログイン状態(az account show)を確認し、クォータ拡張機能を再インストールして、ネットワークを確認してください。azure-quota MCP サーバーは信頼性が低いため、使用しないでください。 |
サポートされていないリソースプロバイダー
サポートされていないことが確認されているプロバイダー:
- ❌ Microsoft.DocumentDB(Cosmos DB)- Portal または Cosmos DB の制限に関するドキュメントを使用してください
動作することが確認されているプロバイダー:
- ✅ Microsoft.Compute(VM、ディスク、コア)
- ✅ Microsoft.Network(VNet、IP、ロードバランサー)
- ✅ Microsoft.App(Container Apps)
- ✅ Microsoft.Storage(ストレージアカウント)
- ✅ Microsoft.MachineLearningServices(ML コンピューティング)
📖 関連項目: トラブルシューティングガイド
追加リソース
| リソース | リンク |
|---|---|
| CLI コマンドリファレンス | commands.md - 完全な構文、パラメーター、例 |
| Azure クォータの概要 | Microsoft Learn |
| サービス制限のドキュメント | Azure サブスクリプションの制限 |
| Azure Portal - 自分のクォータ | Portal のリンク |
| クォータの引き上げをリクエスト | 引き上げのリクエスト方法 |
ベストプラクティス
- ✅ デプロイ前に必ずクォータを確認する - クォータ超過エラーを防止します
- ✅ まず
az quota listを実行する - 正しいクォータリソース名を確認します - ✅ リージョンを比較する - 利用可能な容量があるリージョンを見つけます
- ✅ 将来の増加を考慮する - 直近の必要量に対して20%の余裕を持たせてリクエストします
- ✅ 概要の確認にはテーブル形式の出力を使用する - 手早く確認するには
--output tableを使用します - ✅ 使用状況の傾向を監視する - しきい値を80%に設定してアラートを設定します(Portal 経由)