返回全部 Skills

azure-quotas

其他

检查/管理跨提供商的 Azure 配额和使用情况。用于部署规划、容量验证、区域选择。触发条件:"检查配额"、"服务限制"、"当前使用情况"、"申请配额增加"、"配额已超出"、"验证容量"、"区域可用性"、"预配限制"、"vCPU 限制"、"我的订阅中有多少可用 vCPU"。

170.9k

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add microsoft/azure-skills --skill azure-quotas

skill.md

name: azure-quotas
description: 检查/管理跨提供商的 Azure 配额和使用情况。用于部署规划、容量验证、区域选择。触发条件:"检查配额"、"服务限制"、"当前使用情况"、"申请配额增加"、"配额已超出"、"验证容量"、"区域可用性"、"预配限制"、"vCPU 限制"、"我的订阅中有多少可用 vCPU"。
license: MIT
metadata:
    author: Microsoft
    version: "1.1.2"

Azure 配额 - 服务限制与容量管理

权威指南 — 严格遵循以下说明进行配额管理与容量验证。

概述

什么是 Azure 配额?

Azure 配额(也称为服务限制)是可在订阅中部署的资源最大数量。配额的作用:

  • 防止意外过度预配
  • 确保 Azure 中资源的公平分配
  • 表示每个区域的 可用容量
  • 可以增加(可调整配额)或固定不变(不可调整配额)

关键概念: 配额 = 资源可用性

如果没有配额,就无法部署资源。在规划部署或选择区域时务必检查配额。

何时使用本技能

在以下情况下调用本技能:

  • 规划新部署 - 在部署前验证容量
  • 选择 Azure 区域 - 比较各区域的配额可用性
  • 排查配额超限错误 - 检查当前使用量与限制
  • 申请增加配额 - 通过 CLI 或门户提交增加请求
  • 比较区域容量 - 查找有可用配额的区域
  • 验证预配限制 - 确保部署不会超过配额

快速参考

属性详细信息
主要工具Azure CLI (az quota) - 始终优先使用此工具
所需扩展az extension add --name quota必须先安装
主要命令az quota listaz quota showaz quota usage listaz quota usage show
完整 CLI 参考commands.md
Azure 门户我的配额 - 仅作为后备方案
REST APIMicrosoft.Quota 提供程序 - 不可靠,请勿优先使用
MCP 服务器azure-quota MCP 服务器 — 请勿使用此工具,它不可靠。始终优先使用 az quota CLI。
所需权限读取者(查看)或配额请求操作员(管理)
⚠️ 始终优先使用 CLI

>

REST API 和门户可能显示误导性的“无限制”值 — 这并表示无限容量,而是配额 API 不支持该资源类型。请始终从 az quota 命令开始;如果 CLI 返回 BadRequest,则回退到 Azure 服务限制文档

>

有关完整的 CLI 参考,请参阅 commands.md

配额类型

类型可调整性审批示例
可调整可通过门户/CLI/API 增加通常自动批准VM vCPU、公共 IP、存储帐户
不可调整固定限制无法更改订阅范围的硬性限制

重要提示: 申请增加配额是免费的。您只需为实际使用的资源付费,无需为配额分配付费。

理解资源名称映射

⚠️ 关键点: ARM 资源类型与配额资源名称之间不存在 1:1 映射

示例映射

ARM 资源类型配额资源名称
Microsoft.App/managedEnvironmentsManagedEnvironmentCount
Microsoft.Compute/virtualMachinesstandardDSv3FamilycoresvirtualMachines
Microsoft.Network/publicIPAddressesPublicIPAddressesIPv4StandardSkuPublicIpAddresses

发现工作流程

切勿根据 ARM 类型假设配额资源名称。 始终使用以下工作流程:

  1. 列出资源提供程序的所有配额:
   az quota list --scope /subscriptions/<id>/providers/<ProviderNamespace>/locations/<region>
  1. 通过 localizedValue(人类可读的描述)匹配,找到相关配额
  1. 在后续命令中使用 name 字段(而非 ARM 资源类型):
   az quota show --resource-name ManagedEnvironmentCount --scope ...
   az quota usage show --resource-name ManagedEnvironmentCount --scope ...
📖 详细映射示例和工作流程: 请参阅 commands.md - 资源名称映射

脚本

预置脚本负责处理配额扩展的安装、使用查询和容量计算。请使用这些脚本,而不是手动构造命令。单次调用即可返回限制、使用量和可用容量。

脚本用途用法
scripts/check-quota.ps1返回所有配额的限制、使用量和可用容量(若提供资源名称,则返回单个配额)配额检查的主脚本
scripts/check-quota.sh同上(bash 版本)配额检查的主脚本

核心工作流程

工作流程 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

示例输出:

资源区域限制使用量可用量
coreseastus1005050
standardDSv3Familyeastus35050300
virtualMachineseastus25000524995
...............
📖 另请参阅: az quota showaz quota usage show

工作流程 2:跨区域比较配额

场景: 根据可用容量找到最佳的部署区域

# 定义候选区域
REGIONS=("eastus" "eastus2" "westus2" "centralus")
VM_FAMILY="standardDSv3Family"
SUBSCRIPTION_ID="<subscription-id>"

# 检查各区域的配额可用性
for region in "${REGIONS[@]}"; do
  echo "=== 正在检查 $region ==="
  
  # 获取限制
  LIMIT=$(az quota show \
    --resource-name $VM_FAMILY \
    --scope "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Compute/locations/$region" \
    --query "properties.limit.value" -o tsv)
  
  # 获取当前使用量
  USAGE=$(az quota usage show \
    --resource-name $VM_FAMILY \
    --scope "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.Compute/locations/$region" \
    --query "properties.usages.value" -o tsv)
  
  # 计算可用量
  AVAILABLE=$((LIMIT - USAGE))
  
  echo "区域: $region | 限制: $LIMIT | 使用量: $USAGE | 可用量: $AVAILABLE"
done
📖 另请参阅: commands.md 了解完整的多区域循环脚本模式

工作流程 3:申请增加配额

场景: 当前配额不足以支持部署

# 申请增加 VM 配额
az quota update \
  --resource-name standardDSv3Family \
  --scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus \
  --limit-object value=500 \
  --resource-type dedicated

# 检查请求状态
az quota request status list \
  --scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus

审批流程:

  • 大多数可调整配额在数分钟内自动批准
  • 部分请求需要人工审核(数小时到数天)
  • 不可调整配额需要提交 Azure 支持票证
📖 另请参阅: az quota updateaz quota request status

工作流程 4:列出所有配额以进行规划

场景: 了解某个区域中某个资源提供程序的所有配额

# 列出美国东部所有计算配额(表格格式)
az quota list \
  --scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/eastus \
  --output table

# 列出所有网络配额
az quota list \
  --scope /subscriptions/<subscription-id>/providers/Microsoft.Network/locations/eastus \
  --output table

# 列出所有容器应用配额
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.Compute(虚拟机、磁盘、内核)
  • ✅ Microsoft.Network(虚拟网络、IP、负载均衡器)
  • ✅ Microsoft.App(容器应用)
  • ✅ Microsoft.Storage(存储帐户)
  • ✅ Microsoft.MachineLearningServices(机器学习计算)
📖 另请参阅: 故障排除指南

其他资源

资源链接
CLI 命令参考commands.md - 完整语法、参数、示例
Azure 配额概述Microsoft Learn
服务限制文档Azure 订阅限制
Azure 门户 - 我的配额门户链接
申请增加配额如何申请增加

最佳实践

  1. 部署前始终检查配额 - 防止配额超限错误
  2. 首先运行 az quota list - 发现正确的配额资源名称
  3. 比较区域 - 查找具有可用容量的区域
  4. 考虑增长 - 在即时需求基础上申请 20% 的缓冲空间
  5. 使用表格输出进行概览 - --output table 便于快速浏览
  6. 监控使用趋势 - 在 80% 阈值处设置警报(通过门户)