后端与接口
在 Azure 部署规划、容量验证和区域选择时检查与管理配额
适用于需要检查、比较或申请增加 Azure 订阅配额以避免部署超限的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在 Azure 部署规划、容量验证和区域特定
解决思路
- 安装 Azure CLI 的 quota 扩展:`az extension add --name quota`(必须首先安装)。
- 始终优先使用 Azure CLI (`az quota`),不要首先使用 REST API 或 Azure Portal;REST API 和 Portal 可能显示误导性的 'No Limit'(并不意味着无限容量),且 `azure-quota` MCP server 不可靠,永远不要使用。
- 检查配额前,先运行 `az quota list` 发现正确的配额资源名称。
- 理解 ARM 资源类型与配额资源名称没有 1:1 映射,例如 `Microsoft.Compute/virtualMachines` 对应 `standardDSv3Family`、`cores`、`virtualMachines`,`Microsoft.Network/publicIPAddresses` 对应 `PublicIPAddresses`、`IPv4StandardSkuPublicIpAddresses`。
- 发现配额资源名称的工作流:1) 列出资源提供程序的所有配额:`az quota list --scope /subscriptions/<id>/providers/<ProviderNamespace>/locations/<region>`;2) 通过 `localizedValue`(人类可读描述)匹配找到相关配额;3) 在后续命令中使用 `name` 字段(而非 ARM 资源类型):`az quota show --resource-name <name> --scope ...` 和 `az quota usage show --resource-name <name> --scope ...`。
- 常用命令包括 `az quota list`、`az quota show`、`az quota usage list`、`az quota usage show`。
- 使用预构建脚本 `scripts/check-quota.ps1` 或 `scripts/check-quota.sh` 检查配额:`.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region>` 或 `./scripts/check-quota.sh <provider> <region>`,一次性返回所有配额的 limit、usage 和 available capacity。
- 若要检查单个资源,在脚本中加资源名:`.\scripts\check-quota.ps1 -ResourceProvider <provider> -Region <region> -ResourceName <resource-name>` 或 `./scripts/check-quota.sh <provider> <region> <resource-name>`。
- Workflow 1:在部署前验证配额限制和当前使用情况,运行脚本并查看返回的 limit、usage、available 表格。
- Workflow 2:比较跨区域配额以选择最佳部署区域。定义候选区域数组,对每个区域循环执行:使用 `az quota show --resource-name <VM_FAMILY> --scope "/subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/<region>" --query "properties.limit.value" -o tsv` 获取限制;使用 `az quota usage show --resource-name <VM_FAMILY> --scope ... --query "properties.usages.value" -o tsv` 获取当前用量;计算 `AVAILABLE=$((LIMIT - USAGE))`。
- Workflow 3:请求配额增加。使用 `az quota update --resource-name <resource-name> --scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/<region> --limit-object value=<新值> --resource-type dedicated` 提交增加请求;然后使用 `az quota request status list --scope /subscriptions/<subscription-id>/providers/Microsoft.Compute/locations/<region>` 检查请求状态。
- 了解配额增加审批流程:大多数可调整配额几分钟内自动批准;一些请求需要手动审核(数小时到数天);不可调整配额需要提交 Azure 支持工单。
- 请求配额增加是免费的,只需为实际使用的资源付费。
- Workflow 4:列出资源提供程序在某个区域的所有配额以进行规划:`az quota list --scope /subscriptions/<subscription-id>/providers/<ProviderNamespace>/locations/<region> --output table`,例如 Microsoft.Compute、Microsoft.Network、Microsoft.App。
- 处理常见错误:REST API 显示 'No Limit' 时忽略,改用 CLI;遇到 `ExtensionNotFound` 运行 `az extension add --name quota`;遇到 `BadRequest` 检查 Azure 服务限制文档;遇到 `MissingRegistration` 运行 `az provider register --namespace Microsoft.Quota`;遇到 `QuotaExceeded` 请求增加或选择不同区域;遇到 `InvalidScope` 使用正确格式 `/subscriptions/<id>/providers/<namespace>/locations/<region>`;CLI 命令完全失败时验证 Azure CLI 登录 (`az account show`)、重装 quota 扩展、检查网络,不要使用 `azure-quota` MCP server。
- 对于 quota API 不支持的资源提供程序(如 Microsoft.DocumentDB/Cosmos DB),使用 Azure Portal 或对应的 Cosmos DB 限制文档。
- 确认 quota API 支持的提供程序:Microsoft.Compute、Microsoft.Network、Microsoft.App、Microsoft.Storage、Microsoft.MachineLearningServices。
- 所需权限:查看需要 Reader 角色,管理配额需要 Quota Request Operator 角色。
- 最佳实践:始终在部署前检查配额,防止配额超限错误。
- 最佳实践:始终先运行 `az quota list` 发现正确的配额资源名称。
- 最佳实践:比较多个区域,找到有可用容量的区域。
- 最佳实践:考虑增长,申请配额时比立即需求多留 20% 缓冲。
- 最佳实践:使用 `--output table` 快速浏览配额列表。
- 最佳实践:监控使用趋势,在 Azure Portal 设置 80% 阈值的使用量警报。
适用边界 · 注意事项
- 不适用于非 Azure 云或本地环境,必须先有 Azure 订阅和 Azure CLI。
- 对于 quota API 不支持的资源提供程序(如 Microsoft.DocumentDB/Cosmos DB),本技能不适用,应改用 Azure Portal 或对应服务限制文档。
- 不要使用 `azure-quota` MCP server,也不要首先依赖 REST API 或 Azure Portal,因为它们可能不可靠或显示误导性的 'No Limit'。