# Azure Quotas > Consulta y gestiona cuotas y uso de Azure entre proveedores. Para planificar despliegues, validar capacidad y elegir región: límites de servicio, uso actual y solicitudes de aumento. Fuente: https://skillsagentes.com/skills/microsoft/azure-skills/azure-quotas Markdown: https://skillsagentes.com/skills/microsoft/azure-skills/azure-quotas.md Repositorio: https://github.com/microsoft/azure-skills Autor: microsoft Licencia: MIT Actualizado: el mes pasado Coste de contexto: 92 tok instalada, 3k tok al activarse, 7.7k tok con todos los archivos del bundle Bundle: 5 archivos, 30 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add microsoft/azure-skills --skill azure-quotas --agent claude-code # Cursor npx -y skills add microsoft/azure-skills --skill azure-quotas --agent cursor # Codex npx -y skills add microsoft/azure-skills --skill azure-quotas --agent codex # Gemini CLI npx -y skills add microsoft/azure-skills --skill azure-quotas --agent gemini # Windsurf npx -y skills add microsoft/azure-skills --skill azure-quotas --agent windsurf # Cline npx -y skills add microsoft/azure-skills --skill azure-quotas --agent cline ``` ## Qué hace - Consulta y gestiona cuotas y uso de Azure entre proveedores, para planificar despliegues, validar capacidad y elegir región. - Parte de una idea central: cuotas igual a disponibilidad de recursos. Sin cuota no se puede desplegar, así que hay que comprobarla siempre al planificar o al elegir región. - Distingue cuotas ajustables de las fijas, y cubre el envío de solicitudes de aumento por CLI o portal. - Compara la capacidad disponible entre regiones para encontrar dónde sí hay hueco. ## Cuándo usarla - Se quiere comprobar cuotas, límites de servicio o uso actual. - Se quiere solicitar un aumento de cuota o resolver un error de cuota excedida. - Se quiere validar capacidad o disponibilidad regional antes de desplegar. ## Qué la activa - "comprueba mis cuotas" - "¿cuántas vCPUs me quedan?" - "me da error de cuota excedida" - "¿en qué región tengo capacidad?" ## Antes de instalar - Las solicitudes de aumento se envían por CLI de Azure o por el portal. - Necesita en el PATH: az, python3 - Variables de entorno: AVAILABLE, LIMIT, QUOTAS_JSON, REGION, REGIONS, RESOURCE_NAME, RESOURCE_PROVIDER, SCOPE, SUBSCRIPTION_ID, USAGE, USAGES_JSON, VM_FAMILY - reads environment config ## Archivos - SKILL.md — 12 KB - references/advanced-commands.md — 2 KB - references/commands.md — 10 KB - scripts/check-quota.ps1 — 3 KB - scripts/check-quota.sh — 3 KB ## SKILL.md Reproducido tal cual desde microsoft/azure-skills bajo MIT. Esta sección es el documento original y está en inglés. # Azure Quotas - Service Limits & Capacity Management > **AUTHORITATIVE GUIDANCE** — Follow these instructions exactly for quota management and capacity validation. ## Overview **What are Azure Quotas?** Azure quotas (also called service limits) are the maximum number of resources you can deploy in a subscription. Quotas: - Prevent accidental over-provisioning - Ensure fair resource distribution across Azure - Represent **available capacity** in each region - Can be increased (adjustable quotas) or are fixed (non-adjustable) **Key Concept:** **Quotas = Resource Availability** If you don't have quota, you cannot deploy resources. Always check quotas when planning deployments or selecting regions. ## When to Use This Skill Invoke this skill when: - **Planning a new deployment** - Validate capacity before deployment - **Selecting an Azure region** - Compare quota availability across regions - **Troubleshooting quota exceeded errors** - Check current usage vs limits - **Requesting quota increases** - Submit increase requests via CLI or Portal - **Comparing regional capacity** - Find regions with available quota - **Validating provisioning limits** - Ensure deployment won't exceed quotas ## Quick Reference | **Property** | **Details** | |--------------|-------------| | **Primary Tool** | Azure CLI (`az quota`) - **USE THIS FIRST, ALWAYS** | | **Extension Required** | `az extension add --name quota` (MUST install first) | | **Key Commands** | `az quota list`, `az quota show`, `az quota usage list`, `az quota usage show` | | **Complete CLI Reference** | [commands.md](./references/commands.md) | | **Azure Portal** | [My quotas](https://portal.azure.com/#blade/Microsoft_Azure_Capacity/QuotaMenuBlade/myQuotas) - Use only as fallback | | **REST API** | Microsoft.Quota provider - **Unreliable, do NOT use first** | | **MCP Server** | `azure-quota` MCP server — **NEVER use this. It is unreliable. Always use `az quota` CLI instead.** | | **Required Permission** | Reader (view) or Quota Request Operator (manage) | > **⚠️ ALWAYS USE CLI FIRST** > > REST API and Portal can show misleading "No Limit" values — this does **not** mean unlimited capacity. It means the quota API doesn't support that resource type. Always start with `az quota` commands; fall back to [Azure service limits docs](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits) if CLI returns `BadRequest`. > > For complete CLI reference, see [commands.md](./references/commands.md). ## Quota Types | **Type** | **Adjustability** | **Approval** | **Examples** | |----------|-------------------|--------------|--------------| | **Adjustable** | Can increase via Portal/CLI/API | Usually auto-approved | VM vCPUs, Public IPs, Storage accounts | | **Non-adjustable** | Fixed limits | Cannot be changed | Subscription-wide hard limits | **Important:** Requesting quota increases is **free**. You only pay for resources you actually use, not for quota allocation. ## Understanding Resource Name Mapping **⚠️ CRITICAL:** There is **NO 1:1 mapping** between ARM resource types and quota resource names. ### Example Mappings | ARM Resource Type | Quota Resource Name | |-------------------|---------------------| | `Microsoft.App/managedEnvironments` | `ManagedEnvironmentCount` | | `Microsoft.Compute/virtualMachines` | `standardDSv3Family`, `cores`, `virtualMachines` | | `Microsoft.Network/publicIPAddresses` | `PublicIPAddresses`, `IPv4StandardSkuPublicIpAddresses` | ### Discovery Workflow **Never assume the quota resource name from the ARM type.** Always use this workflow: 1. **List all quotas** for the resource provider: ```bash az quota list --scope /subscriptions//providers//locations/ ``` 2. **Match by `localizedValue`** (human-readable description) to find the relevant quota 3. **Use the `name` field** (not ARM resource type) in subsequent commands: ```bash az quota show --resource-name ManagedEnvironmentCount --scope ... az quota usage show --resource-name ManagedEnvironmentCount --scope ... ``` > **📖 Detailed mapping examples and workflow:** See [commands.md - Resource Name Mapping](./references/commands.md#resource-name-mapping) ## Scripts Pre-built scripts handle quota extension installation, usage queries, and capacity calculation. Use these instead of constructing commands manually. A single call returns limits, usage, and available capacity. | Script | Purpose | Usage | |--------|---------|-------| | `scripts/check-quota.ps1` | Returns limit, usage, and available capacity for all quotas (or a single quota when resource name is provided) | Primary script for quota checks | | `scripts/check-quota.sh` | Same as above (bash) | Primary script for quota checks | ## Core Workflows ### Workflow 1: Check Quota for a Specific Resource **Scenario:** Verify quota limits and current usage before deployment Run the script with the resource provider and region. It returns a table of **all** quotas with their limit, current usage, and available capacity in a single call: ```powershell .\scripts\check-quota.ps1 -ResourceProvider -Region ``` ```bash ./scripts/check-quota.sh ``` To check a single resource, add the resource name: ```powershell .\scripts\check-quota.ps1 -ResourceProvider -Region -ResourceName ``` ```bash ./scripts/check-quota.sh ``` **Example:** ```powershell .\scripts\check-quota.ps1 -ResourceProvider Microsoft.Compute -Region eastus ``` **Example Output:** | Resource | Region | Limit | Usage | Available | |----------|--------|-------|-------|-----------| | cores | eastus | 100 | 50 | 50 | | standardDSv3Family | eastus | 350 | 50 | 300 | | virtualMachines | eastus | 25000 | 5 | 24995 | | ... | ... | ... | ... | ... | > **📖 See also:** [az quota show](./references/commands.md#az-quota-show), [az quota usage show](./references/commands.md#az-quota-usage-show) ### Workflow 2: Compare Quotas Across Regions **Scenario:** Find the best region for deployment based on available capacity ```bash # Define candidate regions REGIONS=("eastus" "eastus2" "westus2" "centralus") VM_FAMILY="standardDSv3Family" 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 ``` > **📖 See also:** [commands.md](./references/commands.md#az-quota-show) for full scripted multi-region loop patterns ### Workflow 3: Request Quota Increase **Scenario:** Current quota is insufficient for deployment ```bash # Request increase for VM quota az quota update \ --resource-name standardDSv3Family \ --scope /subscriptions//providers/Microsoft.Compute/locations/eastus \ --limit-object value=500 \ --resource-type dedicated # Check request status az quota request status list \ --scope /subscriptions//providers/Microsoft.Compute/locations/eastus ``` **Approval Process:** - Most adjustable quotas are auto-approved within minutes - Some requests require manual review (hours to days) - Non-adjustable quotas require Azure Support ticket > **📖 See also:** [az quota update](./references/commands.md#az-quota-update), [az quota request status](./references/advanced-commands.md#az-quota-request-status-list) ### Workflow 4: List All Quotas for Planning **Scenario:** Understand all quotas for a resource provider in a region ```bash # List all compute quotas in East US (table format) az quota list \ --scope /subscriptions//providers/Microsoft.Compute/locations/eastus \ --output table # List all network quotas az quota list \ --scope /subscriptions//providers/Microsoft.Network/locations/eastus \ --output table # List all Container Apps quotas az quota list \ --scope /subscriptions//providers/Microsoft.App/locations/eastus \ --output table ``` > **📖 See also:** [az quota list](./references/commands.md#az-quota-list) ## Troubleshooting ### Common Errors | **Error** | **Cause** | **Solution** | |-----------|-----------|--------------| | REST API "No Limit" | Misleading — not unlimited | Use CLI instead; see warning in Quick Reference | | `ExtensionNotFound` | Quota extension not installed | `az extension add --name quota` | | `BadRequest` | Resource provider not supported by quota API | Check [service limits docs](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits) | | `MissingRegistration` | Microsoft.Quota provider not registered | `az provider register --namespace Microsoft.Quota` | | `QuotaExceeded` | Deployment would exceed quota | Request increase or choose different region | | `InvalidScope` | Incorrect scope format | Use pattern: `/subscriptions//providers//locations/` | | CLI commands fail entirely | Auth, extension, or environment issue | Verify Azure CLI login (`az account show`), reinstall quota extension, check network. Do NOT use the `azure-quota` MCP server — it is unreliable. | ### Unsupported Resource Providers **Known unsupported providers:** - ❌ Microsoft.DocumentDB (Cosmos DB) - Use Portal or [Cosmos DB limits docs](https://learn.microsoft.com/en-us/azure/cosmos-db/concepts-limits) **Confirmed working providers:** - ✅ Microsoft.Compute (VMs, disks, cores) - ✅ Microsoft.Network (VNets, IPs, load balancers) - ✅ Microsoft.App (Container Apps) - ✅ Microsoft.Storage (storage accounts) - ✅ Microsoft.MachineLearningServices (ML compute) > **📖 See also:** [Troubleshooting Guide](./references/commands.md#troubleshooting) ## Additional Resources | Resource | Link | |----------|------| | **CLI Commands Reference** | [commands.md](./references/commands.md) - Complete syntax, parameters, examples | | **Azure Quotas Overview** | [Microsoft Learn](https://learn.microsoft.com/en-us/azure/quotas/quotas-overview) | | **Service Limits Documentation** | [Azure subscription limits](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits) | | **Azure Portal - My Quotas** | [Portal Link](https://portal.azure.com/#blade/Microsoft_Azure_Capacity/QuotaMenuBlade/myQuotas) | | **Request Quota Increases** | [How to request increases](https://learn.microsoft.com/en-us/azure/quotas/quickstart-increase-quota-portal) | ## Best Practices 1. ✅ **Always check quotas before deployment** - Prevent quota exceeded errors 2. ✅ **Run `az quota list` first** - Discover correct quota resource names 3. ✅ **Compare regions** - Find regions with available capacity 4. ✅ **Account for growth** - Request 20% buffer above immediate needs 5. ✅ **Use table output for overview** - `--output table` for quick scanning 6. ✅ **Monitor usage trends** - Set up alerts at 80% threshold (via Portal) ## Dónde encaja - Categoría: [DevOps e infraestructura](https://skillsagentes.com/categorias/devops-infraestructura.md) — Despliegues, contenedores, IaC y flujos de gestión de incidentes. - Creador: [microsoft](https://skillsagentes.com/creators/microsoft.md) — 43 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Microsoft Foundry](https://skillsagentes.com/skills/microsoft/azure-skills/microsoft-foundry.md): Despliega, evalúa, ajusta y gestiona agentes de Foundry de punta a punta con azd: agentes hospedados, evaluación por lotes y continua, optimizador de prompts y fine-tuning (SFT/DPO/RFT). - [Azure Prepare](https://skillsagentes.com/skills/microsoft/azure-skills/azure-prepare.md): Prepara proyectos Azure basados en azd para desplegar: genera azure.yaml, la infraestructura (Bicep o Terraform) y los Dockerfiles del flujo del Azure Developer CLI. - [Azure Diagnostics](https://skillsagentes.com/skills/microsoft/azure-skills/azure-diagnostics.md): Depura incidencias de producción en Azure con AppLens, Azure Monitor, resource health y triaje seguro. Cubre App Service, Container Apps, Functions, AKS, VMs y mensajería. - [Azure Validate](https://skillsagentes.com/skills/microsoft/azure-skills/azure-validate.md): Validación previa al despliegue en Azure. Comprueba en profundidad la configuración, la infraestructura (Bicep o Terraform), los roles RBAC, los permisos de identidad administrada y los prerrequisitos. - [Deploy Model](https://skillsagentes.com/skills/microsoft/azure-skills/deploy-model.md): Skill unificado de despliegue de modelos de Azure OpenAI con enrutado por intención: despliegues rápidos con preset, despliegues personalizados y descubrimiento de capacidad entre regiones y proyectos. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)