返回技能市场
开发运维 安全

azure-quotas

@admin/azure-quotas

Check/manage Azure quotas and usage across providers. For deployment planning, capacity validation, region selection. WHEN: "check quotas", "service limits", "current usage", "request quota increase", "quota exceeded", "validate capacity", "regional availability", "provisioning limits", "vCPU limit", "how many vCPUs available in my subscription".

admin 热度 350v0.0.1

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

权威指南 — 必须严格遵循这些配额管理和容量验证说明。

概述

什么是 Azure 配额?

Azure 配额(也称为服务限制)是一个订阅中可部署的资源数量上限。配额:

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

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

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

何时使用此 Skill

在以下情况下调用此 skill:

  • 规划新部署 - 部署前验证容量
  • 选择 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](./references/commands.md) | | Azure 门户 | 我的配额 - 仅作为备用方案使用 | | REST API | Microsoft.Quota 提供程序 - 不可靠,请勿优先使用 | | MCP 服务器 | azure-quota MCP 服务器 — 严禁使用此服务器。它不可靠。必须始终改用 az quota CLI。 | | 所需权限 | 读取者(查看)或配额请求操作员(管理) |

⚠️ 必须始终优先使用 CLI
REST API 和门户可能显示具有误导性的 "No Limit" 值——这并不意味着容量无限。这表示配额 API 不支持该资源类型。始终先使用 az quota 命令;如果 CLI 返回 BadRequest,则转而查阅 Azure 服务限制文档
有关完整的 CLI 参考,请参阅 [commands.md](./references/commands.md)。

配额类型

| 类型 | 可调整性 | 审批 | 示例 | |----------|-------------------|--------------|--------------| | 可调整 | 可通过门户/CLI/API 提高 | 通常自动获批 | VM vCPUs、公网 IP、存储账户 | | 不可调整 | 固定限制 | 无法更改 | 订阅范围的硬性限制 |

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

了解资源名称映射

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

示例映射

| ARM 资源类型 | 配额资源名称 | |-------------------|---------------------| | Microsoft.App/managedEnvironments | ManagedEnvironmentCount | | Microsoft.Compute/virtualMachines | standardDSv3Family, cores, virtualMachines | | Microsoft.Network/publicIPAddresses | PublicIPAddresses, IPv4StandardSkuPublicIpAddresses |

发现工作流

禁止根据 ARM 类型推定配额资源名称。 始终使用以下工作流:

  1. 为资源提供程序列出所有配额
  2. ``bash az quota list --scope /subscriptions/<id>/providers/<ProviderNamespace>/locations/<region> ``

  1. localizedValue 匹配(人类可读的说明),以查找相关配额
  1. 在后续命令中使用 name 字段(而不是 ARM 资源类型):
  2. ``bash az quota show --resource-name ManagedEnvironmentCount --scope ... az quota usage show --resource-name ManagedEnvironmentCount --scope ... ``

📖 详细映射示例和工作流: 请参阅 [commands.md - 资源名称映射](./references/commands.md#resource-name-mapping)

脚本

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

| 脚本 | 用途 | 用法 | |--------|---------|-------| | 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

示例输出:

| 资源 | 区域 | 限制 | 使用量 | 可用容量 | |----------|--------|-------|-------|-----------| | cores | eastus | 100 | 50 | 50 | | standardDSv3Family | eastus | 350 | 50 | 300 | | virtualMachines | eastus | 25000 | 5 | 24995 | | ... | ... | ... | ... | ... |

📖 另请参阅: [az quota show](./references/commands.md#az-quota-show)、[az quota usage show](./references/commands.md#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](./references/commands.md#az-quota-show),查看完整的脚本化多区域循环模式

工作流 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 支持工单
📖 另请参阅: [az quota update](./references/commands.md#az-quota-update)、[az quota request status](./references/advanced-commands.md#az-quota-request-status-list)

工作流 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](./references/commands.md#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 (ML compute)
📖 另请参阅: [故障排除指南](./references/commands.md#troubleshooting)

其他资源

| 资源 | 链接 | |----------|------| | CLI 命令参考 | [commands.md](./references/commands.md) - 完整语法、参数和示例 | | Azure 配额概述 | Microsoft Learn | | 服务限制文档 | Azure 订阅限制 | | Azure 门户 - 我的配额 | 门户链接 | | 请求提高配额 | 如何请求提高配额 |

最佳实践

  1. 部署前始终检查配额 - 防止出现超出配额错误
  2. 先运行 az quota list - 查找正确的配额资源名称
  3. 比较区域 - 查找有可用容量的区域
  4. 考虑增长需求 - 申请比当前需求高 20% 的缓冲额度
  5. 使用表格输出查看概览 - 使用 --output table 可快速浏览
  6. 监控使用量趋势 - 在 80% 阈值设置警报(通过门户)
qianwen skills install @admin/azure-quotas