跨提供商检查和管理 Azure 配额及使用情况。用于部署规划、容量验证、区域选择。适用场景:\"检查配额\"、\"服务限制\"、\"当前使用量\"、\"请求增加配额\"、\"配额超限\"、\"验证容量\"、\"区域可用性\"、\"预配限制\"、\"vCPU 限制\"、\"我的订阅中有多少可用 vCPU\"。
Azure 配额 - 服务限制与容量管理
权威指南 — 请严格按照以下说明进行配额管理和容量验证。
概述
什么是 Azure 配额?
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。 |
| 所需权限 | 读者(查看)或配额请求操作员(管理) |
⚠️ 始终优先使用 CLI
REST API 和门户可能显示误导性的“无限制”值 — 这不意味着无限容量。这意味着配额 API 不支持该资源类型。始终从
az quota命令开始;如果 CLI 返回BadRequest,则回退到 Azure 服务限制文档。有关完整的 CLI 参考,请参阅 commands.md。
配额类型
| 类型 | 可调整性 | 审批 | 示例 |
|---|---|---|---|
| 可调整 | 可通过门户/CLI/API 增加 | 通常自动批准 | VM vCPU、公共 IP、存储帐户 |
| 不可调整 | 固定限制 | 无法更改 | 订阅范围的硬限制 |
重要提示: 请求增加配额是免费的。您只需为实际使用的资源付费,而非配额分配。
理解资源名称映射
⚠️ 关键: ARM 资源类型与配额资源名称之间没有一一对应关系。
示例映射
| 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(人类可读描述)匹配以找到相关配额 -
在后续命令中使用
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
示例输出:
| 资源 | 区域 | 限制 | 使用量 | 可用 |
|---|---|---|---|---|
| cores | eastus | 100 | 50 | 50 |
| standardDSv3Family | eastus | 350 | 50 | 300 |
| virtualMachines | eastus | 25000 | 5 | 24995 |
| ... | ... | ... | ... | ... |
📖 另请参阅: az quota show、az 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 支持工单
工作流 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 "无限制" | 误导性 — 并非无限 | 改用 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) - 使用门户或 Cosmos DB 限制文档
确认可用的提供程序:
- ✅ Microsoft.Compute(VM、磁盘、核心)
- ✅ Microsoft.Network(VNet、IP、负载均衡器)
- ✅ Microsoft.App(容器应用)
- ✅ Microsoft.Storage(存储帐户)
- ✅ Microsoft.MachineLearningServices(ML 计算)
📖 另请参阅: 故障排除指南
其他资源
| 资源 | 链接 |
|---|---|
| CLI 命令参考 | commands.md - 完整语法、参数、示例 |
| Azure 配额概述 | Microsoft Learn |
| 服务限制文档 | Azure 订阅限制 |
| Azure 门户 - 我的配额 | 门户链接 |
| 请求增加配额 | 如何请求增加 |
最佳实践
- ✅ 始终在部署前检查配额 - 防止配额超限错误
- ✅ 首先运行
az quota list- 发现正确的配额资源名称 - ✅ 比较区域 - 查找有可用容量的区域
- ✅ 考虑增长 - 在即时需求基础上请求 20% 的缓冲
- ✅ 使用表格输出进行概览 -
--output table用于快速扫描 - ✅ 监控使用趋势 - 在 80% 阈值设置警报(通过门户)






