Azure subscription and service limits, quotas, and constraints
This document lists some of the most common Azure limits, which are also sometimes called quotas.
To learn more about Azure pricing, see Azure pricing overview. There, you can estimate your costs by using the pricing calculator. You also can go to the pricing details page for a particular service, for example, Windows VMs. For tips to help manage your costs, see Prevent unexpected costs with Azure billing and cost management.
Managing limits
Note
Some services have adjustable limits.
When the limit can be adjusted, the tables include Default limit and Maximum limit headers. The limit can be raised above the default limit but not above the maximum limit. Some services with adjustable limits use different headers with information about adjusting the limit.
When a service doesn't have adjustable limits, the following tables use the header Limit without any additional information about adjusting the limit. In those cases, the default and the maximum limits are the same.
If you want to raise the limit or quota above the default limit, open an online customer support request at no charge.
The terms soft limit and hard limit often are used informally to describe the current, adjustable limit (soft limit) and the maximum limit (hard limit). If a limit isn't adjustable, there won't be a soft limit, only a hard limit.
Some limits are managed at a regional level.
Let's use vCPU quotas as an example. To request a quota increase with support for vCPUs, you must decide how many vCPUs you want to use in which regions. You then request an increase in vCPU quotas for the amounts and regions that you want. If you need to use 30 vCPUs in China North 2 to run your application there, you specifically request 30 vCPUs in China North 2. Your vCPU quota isn't increased in any other region--only China North 2 has the 30-vCPU quota.
As a result, decide what your quotas must be for your workload in any one region. Then request that amount in each region into which you want to deploy. For help in how to determine your current quotas for specific regions, see Resolve errors for resource quotas.
General limits
For limits on resource names, see Naming rules and restrictions for Azure resources.
For information about Resource Manager API read and write limits, see Throttling Resource Manager requests.
Management group limits
The following limits apply to management groups.
Resource | Limit |
---|---|
Management groups per Azure AD tenant | 10,000 |
Subscriptions per management group | Unlimited. |
Levels of management group hierarchy | Root level plus 6 levels1 |
Direct parent management group per management group | One |
Management group level deployments per location | 8002 |
1The 6 levels don't include the subscription level.
2If you reach the limit of 800 deployments, delete deployments from the history that are no longer needed. To delete management group level deployments, use Remove-AzManagementGroupDeployment or az deployment mg delete.
Subscription limits
The following limits apply when you use Azure Resource Manager and Azure resource groups.
Resource | Limit |
---|---|
Azure subscriptions associated with an Azure Active Directory tenant | Unlimited |
Coadministrators per subscription | Unlimited. |
Resource groups per subscription | 980 |
Azure Resource Manager API request size | 4,194,304 bytes |
Tags per subscription1 | 50 |
Unique tag calculations per subscription2 | 80,000 |
Subscription-level deployments per location | 8003 |
Locations of Subscription-level deployments | 10 |
1You can apply up to 50 tags directly to a subscription. However, the subscription can contain an unlimited number of tags that are applied to resource groups and resources within the subscription. The number of tags per resource or resource group is limited to 50.
2Resource Manager returns a list of tag name and values in the subscription only when the number of unique tags is 80,000 or less. A unique tag is defined by the combination of resource ID, tag name, and tag value. For example, two resources with the same tag name and value would be calculated as two unique tags. You still can find a resource by tag when the number exceeds 80,000.
3Deployments are automatically deleted from the history as you near the limit. For more information, see Automatic deletions from deployment history.
Resource group limits
Resource | Limit |
---|---|
Resources per resource group | Resources aren't limited by resource group. Instead, they're limited by resource type in a resource group. See next row. |
Resources per resource group, per resource type | 800 - Some resource types can exceed the 800 limit. See Resources not limited to 800 instances per resource group. |
Deployments per resource group in the deployment history | 8001 |
Resources per deployment | 800 |
Management locks per unique scope | 20 |
Number of tags per resource or resource group | 50 |
Tag key length | 512 |
Tag value length | 256 |
1Deployments are automatically deleted from the history as you near the limit. Deleting an entry from the deployment history doesn't affect the deployed resources. For more information, see Automatic deletions from deployment history.
Template limits
Value | Limit |
---|---|
Parameters | 256 |
Variables | 256 |
Resources (including copy count) | 800 |
Outputs | 64 |
Template expression | 24,576 chars |
Resources in exported templates | 200 |
Template size | 4 MB |
Parameter file size | 64 KB |
You can exceed some template limits by using a nested template. For more information, see Use linked templates when you deploy Azure resources. To reduce the number of parameters, variables, or outputs, you can combine several values into an object.
Microsoft Entra ID limits
Here are the usage constraints and other service limits for the Microsoft Entra service.
Category | Limit |
---|---|
Tenants | |
Domains | |
Resources |
|
Schema extensions |
|
Applications |
|
Application manifest | A maximum of 1,200 entries can be added to the application manifest. See more limits in Validation differences by supported account types. |
Groups |
At this time, the following scenarios are supported with nested groups:
The following scenarios are not supported with nested groups:
|
Application Proxy |
|
Access Panel | There's no limit to the number of applications per user that can be displayed in the Access Panel, regardless of the number of assigned licenses. |
Reports | A maximum of 1,000 rows can be viewed or downloaded in any report. Any other data is truncated. |
Administrative units |
|
Microsoft Entra roles and permissions |
|
Conditional Access Policies | A maximum of 195 policies can be created in a single Microsoft Entra organization (tenant). |
Terms of use | You can add no more than 40 terms to a single Microsoft Entra organization (tenant). |
Multitenant organizations |
|
API Management limits
Resource | Limit |
---|---|
Maximum number of scale units | 12 per region1 |
Cache size | 5 GiB per unit2 |
Concurrent back-end connections3 per HTTP authority | 2,048 per unit4 |
Maximum cached response size | 2 MiB |
Maximum policy document size | 256 KiB5 |
Maximum custom gateway domains per service instance6 | 20 |
Maximum number of CA certificates per service instance7 | 10 |
Maximum number of service instances per subscription8 | 20 |
Maximum number of subscriptions per service instance8 | 500 |
Maximum number of client certificates per service instance8 | 50 |
Maximum number of APIs per service instance8 | 50 |
Maximum number of API management operations per service instance8 | 1,000 |
Maximum total request duration8 | 30 seconds |
Maximum request payload size8 | 1 GiB |
Maximum buffered payload size8 | 2 MiB |
Maximum request URL size9 | 16,384 bytes |
Maximum length of URL path segment10 | 1,024 characters |
Maximum size of API schema used by validation policy10 | 4 MB |
Maximum number of schemas10 | 100 |
Maximum size of request or response body in validate-content policy10 | 100 KB |
Maximum number of self-hosted gateways11 | 25 |
Maximum number of active WebSocket connections per unit | 20012 |
Maximum number of tags supported by an API Management resource | 15 |
1 Scaling limits depend on the pricing tier. For details on the pricing tiers and their scaling limits, see API Management pricing.
2 Per unit cache size depends on the pricing tier. To see the pricing tiers and their scaling limits, see API Management pricing.
3 Connections are pooled and reused unless explicitly closed by the back end.
4 This limit is per unit of the Basic, Standard, and Premium tiers. The Developer tier is limited to 1,024. This limit doesn't apply to the Consumption tier.
5 This limit applies to the Basic, Standard, and Premium tiers. In the Consumption tier, policy document size is limited to 16 KiB.
6 Multiple custom domains are supported in the Developer and Premium tiers only.
7 CA certificates are not supported in the Consumption tier.
8 This limit applies to the Consumption tier only. There are no specific limits in other tiers but depends on service infrastructure, policy configuration, number of concurrent requests, and other factors.
9 Applies to the Consumption tier only. Includes an up to 2048-bytes long query string.
10 To increase this limit, contact support.
11 Self-hosted gateways are supported in the Developer and Premium tiers only. The limit applies to the number of self-hosted gateway resources. To raise this limit contact support. Note, that the number of nodes (or replicas) associated with a self-hosted gateway resource is unlimited in the Premium tier and capped at a single node in the Developer tier.
12 This limit does not apply to Developer tier. In the Developer tier, the limit is 100.
App Service limits
Resource | Free | Shared | Basic | Standard | Premium (v1-v3) | Isolated |
---|---|---|---|---|---|---|
Web, mobile, or API apps per Azure App Service plan1 | 10 | 100 | Unlimited2 | Unlimited2 | Unlimited2 | Unlimited2 |
App Service plan | 10 per region 1 free Linux App Service plan per region |
10 per resource group | 100 per resource group | 100 per resource group | 100 per resource group | 100 per resource group |
Compute instance type | Shared | Shared | Dedicated3 | Dedicated3 | Dedicated3 | Dedicated3 |
Scale out (maximum instances) | 1 shared | 1 shared | 3 dedicated3 | 10 dedicated3 | 20 dedicated for v1; 30 dedicated for v2 and v3.3 | 100 dedicated4 |
Storage5 | 1 GB5 | 1 GB5 | 10 GB5 | 50 GB5 | 250 GB5 | 1 TB12 The available storage quota is 999 GB. |
CPU time (5 minutes)6 | 3 minutes | 3 minutes | Unlimited, pay at standard rates | Unlimited, pay at standard rates | Unlimited, pay at standard rates | Unlimited, pay at standard rates |
CPU time (day)6 | 60 minutes | 240 minutes | Unlimited, pay at standard rates | Unlimited, pay at standard rates | Unlimited, pay at standard rates | Unlimited, pay at standard rates |
Memory (1 hour) | 1,024 MB per App Service plan | 1,024 MB per app | N/A | N/A | N/A | N/A |
Bandwidth | 165 MB | Unlimited, data transfer rates apply | Unlimited, data transfer rates apply | Unlimited, data transfer rates apply | Unlimited, data transfer rates apply | Unlimited, data transfer rates apply |
Application architecture | 32-bit | 32-bit | 32-bit/64-bit | 32-bit/64-bit | 32-bit/64-bit | 32-bit/64-bit |
Web sockets per instance7 | 5 | 35 | 350 | Unlimited | Unlimited | Unlimited |
Outbound IP connections per instance | 600 | 600 | Depends on instance size8 | Depends on instance size8 | Depends on instance size8 | 16,000 |
Concurrent debugger connections per application | 1 | 1 | 1 | 5 | 5 | 5 |
App Service Certificates per subscription | Not supported | Not supported | 10 | 10 | 10 | 10 |
Custom domains per app | 0 (chinacloudsites.cn subdomain only) | 500 | 500 | 500 | 500 | 500 |
Custom domain SSL support | Not supported, wildcard certificate for *.chinacloudsites.cn available by default | Not supported, wildcard certificate for *.chinacloudsites.cn available by default | Unlimited SNI SSL connections | Unlimited SNI SSL and 1 IP SSL connections included | Unlimited SNI SSL and 1 IP SSL connections included | Unlimited SNI SSL and 1 IP SSL connections included |
Hybrid connections | 5 per plan | 25 per plan | 220 per app | 220 per app | ||
Virtual Network Integration | X | X | X | X | ||
Private Endpoints | X | X | 100 per app | |||
Integrated load balancer | X | X | X | X | X9 | |
Access restrictions | 512 rules per app | 512 rules per app | 512 rules per app | 512 rules per app | 512 rules per app | 512 rules per app |
Always On | X | X | X | X | ||
Scheduled backups | Scheduled backups every 2 hours, a maximum of 12 backups per day (manual + scheduled | Scheduled backups every 2 hours, a maximum of 12 backups per day (manual + scheduled) | Scheduled backups every hour, a maximum of 50 backups per day (manual + scheduled) | Scheduled backups every hour, a maximum of 50 backups per day (manual + scheduled) | ||
Autoscale | X | X | X | |||
WebJobs10 | X | X | X | X | X | X |
Endpoint monitoring | X | X | X | X | ||
Staging slots per app | 5 | 20 | 20 | |||
Testing in Production | X | X | X | |||
Diagnostic Logs | X | X | X | X | X | X |
Kudu | X | X | X | X | X | X |
Authentication and Authorization | X | X | X | X | X | X |
App Service Managed Certificates11 | X | X | X | X | ||
SLA | 99.95% | 99.95% | 99.95% | 99.95% |
1 Apps and storage quotas are per App Service plan unless noted otherwise.
2 The actual number of apps that you can host on these machines depends on the activity of the apps, the size of the machine instances, and the corresponding resource utilization.
3 Dedicated instances can be of different sizes. For more information, see App Service pricing.
4 More are allowed upon request.
5 The storage limit is the total content size across all apps in the same App service plan. The total content size of all apps across all App service plans in a single resource group and region cannot exceed 500 GB. The file system quota for App Service hosted apps is determined by the aggregate of App Service plans created in a region and resource group.
6 These resources are constrained by physical resources on the dedicated instances (the instance size and the number of instances).
7 If you scale an app in the Basic tier to two instances, you have 350 concurrent connections for each of the two instances. For Standard tier and above, there are no theoretical limits to web sockets, but other factors can limit the number of web sockets. For example, maximum concurrent requests allowed (defined by maxConcurrentRequestsPerCpu
) are: 7,500 per small VM, 15,000 per medium VM (7,500 x 2 cores), and 75,000 per large VM (18,750 x 4 cores).
8 The maximum IP connections are per instance and depend on the instance size: 1,920 per B1/S1/P1V3 instance, 3,968 per B2/S2/P2V3 instance, 8,064 per B3/S3/P3V3 instance.
9 App Service Isolated SKUs can be internally load balanced (ILB) with Azure Load Balancer, so there's no public connectivity from the internet. As a result, some features of an ILB Isolated App Service must be used from machines that have direct access to the ILB network endpoint.
10 Run custom executables and/or scripts on demand, on a schedule, or continuously as a background task within your App Service instance. Always On is required for continuous WebJobs execution. There's no predefined limit on the number of WebJobs that can run in an App Service instance. There are practical limits that depend on what the application code is trying to do.
11 Only issuing standard certificates (wildcard certificates aren't available). Limited to only one free certificate per custom domain.
12 Total storage usage across all apps deployed in a single App Service Environment (regardless of how they're allocated across different resource groups).
Automation limits
Process automation
Resource | Limit | Notes |
---|---|---|
Maximum number of new jobs that can be submitted every 30 seconds per Azure Automation account (nonscheduled jobs) | 100 | When this limit is reached, the subsequent requests to create a job fail. The client receives an error response. |
Maximum number of concurrent running jobs at the same instance of time per Automation account (nonscheduled jobs) | 200 | When this limit is reached, the subsequent requests to create a job fail. The client receives an error response. |
Maximum storage size of job metadata for a 30-day rolling period | 10 GB (approximately 4 million jobs) | When this limit is reached, the subsequent requests to create a job fail. |
Maximum job stream limit | 1 MiB | A single stream cannot be larger than 1 MiB. |
Maximum job stream limit on Azure Automation portal | 200KB | Portal limit to show the job logs. |
Maximum number of modules that can be imported every 30 seconds per Automation account | 5 | |
Maximum size of a module | 100 MB | |
Maximum size of a node configuration file | 1 MB | Applies to state configuration |
Job run time, Free tier | 500 minutes per subscription per calendar month | |
Maximum amount of disk space allowed per sandbox1 | 1 GB | Applies to Azure sandboxes only. |
Maximum amount of memory given to a sandbox1 | 400 MB | Applies to Azure sandboxes only. |
Maximum number of network sockets allowed per sandbox1 | 1,000 | Applies to Azure sandboxes only. |
Maximum runtime allowed per runbook1 | 3 hours | Applies to Azure sandboxes only. |
Maximum number of Automation accounts in a subscription | No limit | |
Maximum number of system hybrid runbook workers per Automation Account | 4,000 | |
Maximum number of user hybrid runbook workers per Automation Account | 4,000 | |
Maximum number of concurrent jobs that can be run on a single Hybrid Runbook Worker | 50 | |
Maximum runbook job parameter size | 512 kilobytes | |
Maximum runbook parameters | 50 | If you reach the 50-parameter limit, you can pass a JSON or XML string to a parameter and parse it with the runbook. |
Maximum webhook payload size | 512 kilobytes | |
Maximum days that job data is retained | 30 days | |
Maximum PowerShell workflow state size | 5 MB | Applies to PowerShell workflow runbooks when checkpointing workflow. |
Maximum number of tags supported by an Automation account | 15 | |
Maximum number of characters in the value field of a variable | 1048576 |
1A sandbox is a shared environment that can be used by multiple jobs. Jobs that use the same sandbox are bound by the resource limitations of the sandbox.
Update Management
The following table shows the limits for Update Management.
Resource | Limit | Notes |
---|---|---|
Number of machines per update deployment | 1000 | |
Number of dynamic groups per update deployment | 500 |
Azure App Configuration
Resource | Limit | Comment |
---|---|---|
Configuration stores for Free tier | 1 store per subscription | |
Configuration stores for Standard tier | Unlimited stores per subscription | |
Configuration store requests for Free tier | 1,000 requests per day | Once the quota is exhausted, HTTP status code 429 will be returned for all requests until the end of the day |
Configuration store requests for Standard tier | 30,000 per hour | Once the quota is exhausted, requests may return HTTP status code 429 indicating Too Many Requests - until the end of the hour |
Storage for Free tier | 10 MB | |
Storage for Standard tier | 1 GB | |
Keys and Values | 10 KB | For a single key-value item, including all metadata |
Azure Cache for Redis limits
Resource | Limit |
---|---|
Cache size | 1.2 TB |
Databases | 64 |
Maximum connected clients | 40,000 |
Azure Cache for Redis replicas, for high availability | 3 |
Shards in a premium cache with clustering | 10 |
Azure Cache for Redis limits and sizes are different for each pricing tier. To see the pricing tiers and their associated sizes, see Azure Cache for Redis pricing.
For more information on Azure Cache for Redis configuration limits, see Default Redis server configuration.
Because configuration and management of Azure Cache for Redis instances is done by Microsoft, not all Redis commands are supported in Azure Cache for Redis. For more information, see Redis commands not supported in Azure Cache for Redis.
Azure Cloud Services limits
Resource | Limit |
---|---|
Web or worker roles per deployment1 | 25 |
Instance input endpoints per deployment | 25 |
Input endpoints per deployment | 25 |
Internal endpoints per deployment | 25 |
Hosted service certificates per deployment | 199 |
1Each Azure Cloud Service with web or worker roles can have two deployments, one for production and one for staging. This limit refers to the number of distinct roles, that is, configuration. This limit doesn't refer to the number of instances per role, that is, scaling.
Azure AI Search limits
Pricing tiers determine the capacity and limits of your search service. Tiers include:
- Free multitenant service, shared with other Azure subscribers, is intended for evaluation and small development projects.
- Basic provides dedicated computing resources for production workloads at a smaller scale, with up to three replicas for highly available query workloads.
- Standard, which includes S1, S2, S3, and S3 High Density, is for larger production workloads. Multiple levels exist within the Standard tier so that you can choose a resource configuration that best matches your workload profile.
Limits per subscription
You can create multiple billable search services (Basic and higher), up to the maximum number of services allowed at each tier. For example, you could create up to 16 services at the Basic tier and another 16 services at the S1 tier within the same subscription. For more information about tiers, see Choose a tier (or SKU) for Azure AI Search.
Maximum service limits can be raised upon request. If you need more services within the same subscription, file a support request.
Resource | Free 1 | Basic | S1 | S2 | S3 | S3 HD | L1 | L2 |
---|---|---|---|---|---|---|---|---|
Maximum services | 1 | 16 | 16 | 8 | 6 | 6 | 6 | 6 |
Maximum search units (SU)2 | N/A | 3 SU | 36 SU | 36 SU | 36 SU | 36 SU | 36 SU | 36 SU |
1 You can have one free search service per Azure subscription. The free tier is based on infrastructure shared with other customers. Because the hardware isn't dedicated, scale-up isn't supported, and storage is limited to 50 MB.
2 Search units (SU) are billing units, allocated as either a replica or a partition. You need both. To learn more about SU combinations, see Estimate and manage capacity of a search service.
Limits per search service
Search service limits for storage, partitions, and replicas vary by service creation date, with higher limits for newer services in supported regions.
A search service is subject to a maximum storage limit (partition size multiplied by the number of partitions) or by a hard limit on the maximum number of indexes or indexers, whichever comes first.
Service level agreements (SLAs) apply to billable services having two or more replicas for query workloads, or three or more replicas for query and indexing workloads. The number of partitions isn't an SLA consideration. For more information, see Reliability in Azure AI Search.
Free services don't have fixed partitions or replicas and they share resources with other subscribers.
Before April 3, 2024
Resource | Free | Basic | S1 | S2 | S3 | S3 HD | L1 | L2 |
---|---|---|---|---|---|---|---|---|
Service level agreement (SLA) | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Storage (partition size) | 50 MB | 2 GB | 25 GB | 100 GB | 200 GB | 200 GB | 1 TB | 2 TB |
Partitions | N/A | 1 | 12 | 12 | 12 | 3 | 12 | 12 |
Replicas | N/A | 3 | 12 | 12 | 12 | 12 | 12 | 12 |
After April 3, 2024
For new services created after April 3, 2024:
- Basic tier can have up to three partitions and three replicas, and a total of nine search units (SU).
- Basic, S1, S2, S3 have more storage per partition, ranging from 3-7 times more, depending on the tier.
- Your new search service must be in a supported region to get the extra capacity for Basic and other tiers.
Currently, there's no in-place upgrade. You should create a new search service to benefit from the extra storage.
Resource | Free | Basic | S1 | S2 | S3 | S3 HD | L1 | L2 |
---|---|---|---|---|---|---|---|---|
Service level agreement (SLA) | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Storage (partition size) | 50 MB | 15 GB | 160 GB | 350 GB | 700 GB | 200 GB | 1 TB | 2 TB |
Partitions | N/A | 3 | 12 | 12 | 12 | 3 | 12 | 12 |
Replicas | N/A | 3 | 12 | 12 | 12 | 12 | 12 | 12 |
To learn more about limits on a more granular level, such as document size, queries per second, keys, requests, and responses, see Service limits in Azure AI Search.
Azure AI services limits
The following limits are for the number of Cognitive Services resources per Azure subscription. There is a limit of only one allowed 'Free' account, per Cognitive Service type, per subscription. Each of the Cognitive Services may have other limitations, for more information, see Azure Cognitive Services.
Type | Limit | Example |
---|---|---|
A mixture of Cognitive Services resources | Maximum of 200 total Cognitive Services resources per region. | 100 Computer Vision resources in China East 2, 50 Speech Service resources in China East 2, and 50 Text Analytics resources in China East 2. |
A single type of Cognitive Services resources. | Maximum of 100 resources per region | 100 Computer Vision resources in China East 2, and 100 Computer Vision resources in China North. |
Azure Cosmos DB limits
For Azure Cosmos DB limits, see Limits in Azure Cosmos DB.
Azure Data Explorer limits
The following table describes the maximum limits for Azure Data Explorer clusters.
Resource | Limit |
---|---|
Clusters per region per subscription | 20 |
Instances per cluster | 1,000 |
Number of databases in a cluster | 10,000 |
Number of follower clusters (data share consumers) per leader cluster (data share producer) | 100 |
Note
You can request higher limits for Number of databases in a cluster and Clusters per region per subscription. To request an increase, contact Azure Support.
The following table describes the limits on management operations performed on Azure Data Explorer clusters.
Scope | Operation | Limit |
---|---|---|
Cluster | read (for example, get a cluster) | 500 per 5 minutes |
Cluster | write (for example, create a database) | 1,000 per hour |
Azure Database for MySQL
For Azure Database for MySQL limits, see Limitations in Azure Database for MySQL.
Azure Database for PostgreSQL
For Azure Database for PostgreSQL limits, see Limitations in Azure Database for PostgreSQL.
Azure Files and Azure File Sync
To learn more about the limits for Azure Files and File Sync, see Azure Files scalability and performance targets.
Azure Functions limits
Resource | Consumption plan | Premium plan | Dedicated plan | ASE | Kubernetes |
---|---|---|---|---|---|
Default timeout duration (min) | 5 | 30 | 301 | 30 | 30 |
Max timeout duration (min) | 10 | unbounded7 | unbounded2 | unbounded | unbounded |
Max outbound connections (per instance) | 600 active (1200 total) | unbounded | unbounded | unbounded | unbounded |
Max request size (MB)3 | 100 | 100 | 100 | 100 | Depends on cluster |
Max query string length3 | 4096 | 4096 | 4096 | 4096 | Depends on cluster |
Max request URL length3 | 8192 | 8192 | 8192 | 8192 | Depends on cluster |
ACU per instance | 100 | 210-840 | 100-840 | 210-2508 | AKS pricing |
Max memory (GB per instance) | 1.5 | 3.5-14 | 1.75-14 | 3.5 - 14 | Any node is supported |
Max instance count (Windows/Linux) | 200/100 | 100/20 | varies by SKU9 | 1009 | Depends on cluster |
Function apps per plan | 100 | 100 | unbounded4 | unbounded | unbounded |
App Service plans | 100 per region | 100 per resource group | 100 per resource group | - | - |
Deployment slots per app10 | 2 | 3 | 1-209 | 20 | n/a |
Storage5 | 5 TB | 250 GB | 50-1000 GB | 1 TB | n/a |
Custom domains per app | 5006 | 500 | 500 | 500 | n/a |
Custom domain SSL support | unbounded SNI SSL connection included | unbounded SNI SSL and 1 IP SSL connections included | unbounded SNI SSL and 1 IP SSL connections included | unbounded SNI SSL and 1 IP SSL connections included | n/a |
1 By default, the timeout for the Functions 1.x runtime in an App Service plan is unbounded.
2 Requires the App Service plan be set to Always On. Pay at standard rates.
3 These limits are set in the host.
4 The actual number of function apps that you can host depends on the activity of the apps, the size of the machine instances, and the corresponding resource utilization.
5 The storage limit is the total content size in temporary storage across all apps in the same App Service plan. Consumption plan uses Azure Files for temporary storage.
6 When your function app is hosted in a Consumption plan, only the CNAME option is supported. For function apps in a Premium plan or an App Service plan, you can map a custom domain using either a CNAME or an A record.
7 Guaranteed for up to 60 minutes.
8 Workers are roles that host customer apps. Workers are available in three fixed sizes: One vCPU/3.5 GB RAM; Two vCPU/7 GB RAM; Four vCPU/14 GB RAM.
9 See App Service limits for details.
10 Including the production slot.
For more information, see Functions Hosting plans comparison.
Azure Health Data Services
Azure Health Data Services limits
Health Data Services is a set of managed API services based on open standards and frameworks. Health Data Services enables workflows to improve healthcare and offers scalable and secure healthcare solutions. Health Data Services includes Fast Healthcare Interoperability Resources (FHIR) service, the Digital Imaging and Communications in Medicine (DICOM) service, and MedTech service.
FHIR service is an implementation of the FHIR specification within Health Data Services. It enables you to combine in a single workspace one or more FHIR service instances with optional DICOM and MedTech service instances. Azure API for FHIR is generally available as a stand-alone service offering.
FHIR service in Azure Health Data Services has a limit of 4 TB for structured storage.
Quota Name | Default Limit | Maximum Limit | Notes |
---|---|---|---|
Workspace | 10 | Contact support | Limit per subscription |
FHIR | 10 | Contact support | Limit per workspace |
DICOM | 10 | Contact support | Limit per workspace |
MedTech | 10 | N/A | Limit per workspace, can't be increased |
Azure API for FHIR service limits
Azure API for FHIR is a managed, standards-based, compliant API for clinical health data that enables solutions for actionable analytics and machine learning.
Quota Name | Default Limit | Maximum Limit | Notes |
---|---|---|---|
Request Units (RUs) | 10,000 RUs | Contact support Maximum available is 1,000,000. | You need a minimum of 400 RUs or 40 RUs/GB, whichever is larger. |
Concurrent connections | 15 concurrent connections on two instances (for a total of 30 concurrent requests) | Contact support | |
Azure API for FHIR Service Instances per Subscription | 10 | Contact support |
Azure Kubernetes Service limits
Resource | Limit |
---|---|
Maximum clusters per subscription | 5000 Note: spread clusters across different regions to account for Azure API throttling limits |
Maximum nodes per cluster with Virtual Machine Scale Sets and Standard Load Balancer SKU | 5000 across all node pools (default limit: 1000) Note: Running more than a 1000 nodes per cluster requires increasing the default node limit quota. Contact support for assistance. |
Maximum nodes per node pool (Virtual Machine Scale Sets node pools) | 1000 |
Maximum node pools per cluster | 100 |
Maximum pods per node: with Kubenet networking plug-in1 | Maximum: 250 Azure CLI default: 110 Azure Resource Manager template default: 110 Azure portal deployment default: 30 |
Maximum pods per node: with Azure Container Networking Interface (Azure CNI)1 | Maximum: 250 Maximum recommended for Windows Server containers: 110 Default: 30 |
Open Service Mesh (OSM) AKS addon | Kubernetes Cluster Version: AKS Supported Versions OSM controllers per cluster: 1 Pods per OSM controller: 1600 Kubernetes service accounts managed by OSM: 160 |
Maximum load-balanced kubernetes services per cluster with Standard Load Balancer SKU | 300 |
Maximum nodes per cluster with Virtual Machine Availability Sets and Basic Load Balancer SKU | 100 |
1 Windows Server containers must use Azure CNI networking plug-in. Kubenet is not supported for Windows Server containers.
Kubernetes Control Plane tier | Limit |
---|---|
Standard tier | Automatically scales Kubernetes API server based on load. Larger control plane component limits and API server/etc instances. |
Free tier | Limited resources with inflight requests limit of 50 mutating and 100 read-only calls. Recommended node limit of 10 nodes per cluster. Best for experimenting, learning, and simple testing. Not advised for production/critical workloads. |
Azure Machine Learning limits
The latest values for Azure Machine Learning Compute quotas can be found in the Azure Machine Learning quota page
Azure Managed Grafana limits
Limit | Description | Essential | Standard |
---|---|---|---|
Alert rules | Maximum number of alert rules that can be created. | Not supported | 500 per instance |
Dashboards | Maximum number of dashboards that can be created. | 20 per instance | Unlimited |
Data sources | Maximum number of datasources that can be created. | 5 per instance | Unlimited |
API keys | Maximum number of API keys that can be created. | 2 per instance | 100 per instance |
Data query timeout | Maximum wait duration for the reception of data query response headers, before Grafana times out. | 200 seconds | 200 seconds |
Data source query size | Maximum number of bytes that are read/accepted from responses of outgoing HTTP requests. | 80 MB | 80 MB |
Render image or PDF report wait time | Maximum duration for an image or report PDF rendering request to complete before Grafana times out. | Not supported | 220 seconds |
Instance count | Maximum number of instances in a single subscription per Azure region. | 1 | 20 |
Requests per IP | Maximum number of requests per IP per second. | 90 requests per second | 90 requests per second |
Requests per HTTP host | Maximum number of requests per HTTP host per second. The HTTP host stands for the Host header in incoming HTTP requests, which can describe each unique host client. | 45 requests per second | 45 requests per second |
Azure Monitor limits
For Azure Monitor limits, see Azure Monitor service limits.
Azure Data Factory limits
Azure Data Factory is a multitenant service that has the following default limits in place to make sure customer subscriptions are protected from each other's workloads. To raise the limits up to the maximum for your subscription, contact support.
Version 2
Resource | Default limit | Maximum limit |
---|---|---|
Total number of entities, such as pipelines, data sets, triggers, linked services, Private Endpoints, and integration runtimes, within a data factory | 5,000 | Contact support. |
Total CPU cores for Azure-SSIS Integration Runtimes under one subscription | 64 | Contact support. |
Concurrent pipeline runs per data factory that's shared among all pipelines in the factory | 10,000 | 10,000 |
Concurrent External activity runs per subscription per Azure Integration Runtime region External activities are managed on integration runtime but execute on linked services, including Databricks, stored procedure, Web, and others. This limit does not apply to Self-hosted IR. |
3,000 | 3,000 |
Concurrent Pipeline activity runs per subscription per Azure Integration Runtime region Pipeline activities execute on integration runtime, including Lookup, GetMetadata, and Delete. This limit does not apply to Self-hosted IR. |
1,000 | 1,000 |
Concurrent authoring operations per subscription per Azure Integration Runtime region Including test connection, browse folder list and table list, preview data. This limit does not apply to Self-hosted IR. |
200 | 200 |
Concurrent Data Integration Units1 consumption per subscription per Azure Integration Runtime region | 1,500 | 1,500 |
Concurrent Data Integration Units1 consumption per subscription per Azure Integration Runtime region in managed virtual network | 2,400 | Contact support. |
Maximum activities per pipeline, which includes inner activities for containers | 40 | 40 |
Maximum number of linked integration runtimes that can be created against a single self-hosted integration runtime | 100 | 100 |
Maximum number of nodes that can be created against a single self-hosted integration runtime | 4 | Contact support |
Maximum parameters per pipeline | 50 | 50 |
ForEach items | 100,000 | 100,000 |
ForEach parallelism | 20 | 50 |
Maximum queued runs per pipeline | 100 | 100 |
Characters per expression | 8,192 | 8,192 |
Minimum tumbling window trigger interval | 5 min | 15 min |
Minimum timeout for pipeline activity runs | 10 min | 10 min |
Maximum timeout for pipeline activity runs | 7 days | 7 days |
Bytes per object for pipeline objects3 | 200 KB | 200 KB |
Bytes per object for dataset and linked service objects3 | 100 KB | 2,000 KB |
Bytes per payload for each activity run4 | 896 KB | 896 KB |
Data Integration Units1 per copy activity run | 256 | 256 |
Write API calls | 1,200/h | 1,200/h This limit is imposed by Azure Resource Manager, not Azure Data Factory. |
Read API calls | 12,500/h | 12,500/h This limit is imposed by Azure Resource Manager, not Azure Data Factory. |
Monitoring queries per minute | 1,000 | 1,000 |
Maximum time of data flow debug session | 8 hrs | 8 hrs |
Concurrent number of data flows per integration runtime | 50 | Contact support. |
Concurrent number of data flows per integration runtime in managed vNet | 50 | Contact support. |
Concurrent number of data flow debug sessions per user per factory | 3 | 3 |
Data Flow Azure IR TTL limit | 4 hrs | 4 hrs |
Meta Data Entity Size limit in a factory | 2 GB | Contact support. |
1 The data integration unit (DIU) is used in a cloud-to-cloud copy operation, learn more from Data integration units (version 2). For information on billing, see Azure Data Factory pricing.
2 Azure Integration Runtime is globally available to ensure data compliance, efficiency, and reduced network egress costs.
3 Pipeline, data set, and linked service objects represent a logical grouping of your workload. Limits for these objects don't relate to the amount of data you can move and process with Azure Data Factory. Data Factory is designed to scale to handle petabytes of data.
4 The payload for each activity run includes the activity configuration, the associated dataset(s) and linked service(s) configurations if any, and a small portion of system properties generated per activity type. Limit for this payload size doesn't relate to the amount of data you can move and process with Azure Data Factory. Learn about the symptoms and recommendation if you hit this limit.
Web service call limits
Azure Resource Manager has limits for API calls. You can make API calls at a rate within the Azure Resource Manager API limits.
Azure Policy limits
There's a maximum count for each object type for Azure Policy. For definitions, an entry of Scope means the management group or subscription. For assignments and exemptions, an entry of Scope means the management group, subscription, resource group, or individual resource.
Where | What | Maximum count |
---|---|---|
Scope | Policy definitions | 500 |
Scope | Initiative definitions | 200 |
Tenant | Initiative definitions | 2,500 |
Scope | Policy or initiative assignments | 200 |
Scope | Exemptions | 1000 |
Policy definition | Parameters | 20 |
Initiative definition | Policies | 1000 |
Initiative definition | Parameters | 400 |
Policy or initiative assignments | Exclusions (notScopes) | 400 |
Policy rule | Nested conditionals | 512 |
Remediation task | Resources | 50,000 |
Policy definition, initiative, or assignment request body | Bytes | 1,048,576 |
Policy rules have more limits to the number of conditions and their complexity. For more information, go to Policy rule limits for more details.
Azure RBAC limits
The following limits apply to Azure role-based access control (Azure RBAC).
Area | Resource | Limit |
---|---|---|
Azure role assignments | ||
Azure role assignments per Azure subscription | 4,000 | |
Azure role assignments per management group | 500 | |
Size of description for Azure role assignments | 2 KB | |
Size of condition for Azure role assignments | 8 KB | |
Azure custom roles | ||
Azure custom roles per tenant | 5,000 | |
Azure custom roles per tenant (for Microsoft Azure operated by 21Vianet) |
2,000 | |
Size of role name for Azure custom roles | 512 chars | |
Size of description for Azure custom roles | 2 KB | |
Number of assignable scopes for Azure custom roles | 2,000 |
Azure SignalR Service limits
Resource | Default limit | Maximum limit |
---|---|---|
Azure SignalR Service units per instance for Free tier | 1 | 1 |
Azure SignalR Service units per instance for Standard/Premium_P1 tier | 100 | 100 |
Azure SignalR Service units per instance for Premium_P2 tier | 100 - 1,000 | 100 - 1,000 |
Azure SignalR Service units per subscription per region for Free tier | 5 | 5 |
Total Azure SignalR Service unit counts per subscription per region | 150 | Unlimited |
Concurrent connections per unit for Free tier | 20 | 20 |
Concurrent connections per unit for Standard/Premium tier | 1,000 | 1,000 |
Included messages per unit per day for Free tier | 20,000 | 20,000 |
Additional messages per unit per day for Free tier | 0 | 0 |
Included messages per unit per day for Standard/Premium tier | 1,000,000 | 1,000,000 |
Additional messages per unit per day for Standard/Premium tier | Unlimited | Unlimited |
To request an update to your subscription's default limits, open a support ticket.
For more information about how connections and messages are counted, see Messages and connections in Azure SignalR Service.
If your requirements exceed the limits, switch from Free tier to Standard tier and add units. For more information, see How to scale an Azure SignalR Service instance?.
If your requirements exceed the limits of a single instance, add instances. For more information, see How to enable Geo-Replication in Azure SignalR Service.
Azure Spring Apps limits
To learn more about the limits for Azure Spring Apps, see Quotas and service plans for Azure Spring Apps.
Standard storage account limits
The following table describes default limits for Azure general-purpose v2 (GPv2), general-purpose v1 (GPv1), and Blob storage accounts. The ingress limit refers to all data that is sent to a storage account. The egress limit refers to all data that is received from a storage account.
Azure recommends that you use a GPv2 storage account for most scenarios. You can easily upgrade a GPv1 or a Blob storage account to a GPv2 account with no downtime and without the need to copy data. For more information, see Upgrade to a GPv2 storage account.
Resource | Limit |
---|---|
Maximum number of storage accounts per region per subscription, including standard, and premium storage accounts. | 250 |
Default maximum storage account capacity | 5 PiB 1 |
Maximum number of blob containers, blobs, directories and subdirectories (if Hierarchical Namespace is enabled), file shares, tables, queues, entities, or messages per storage account. | No limit |
Default maximum request rate per storage account | 20,000 requests per second1 |
Default maximum ingress per general-purpose v2 and Blob storage account in the following regions:
|
60 Gbps1 |
Default maximum ingress per general-purpose v2 and Blob storage account in regions that aren't listed in the previous row. | 25 Gbps1 |
Default maximum ingress for general-purpose v1 storage accounts (all regions) | 10 Gbps1 |
Default maximum egress for general-purpose v2 and Blob storage accounts in the following regions:
|
200 Gbps1 |
Default maximum egress for general-purpose v2 and Blob storage accounts in regions that aren't listed in the previous row. | 50 Gbps1 |
Maximum egress for general-purpose v1 storage accounts | 10 Gbps if RA-GRS/GRS is enabled, 15 Gbps for LRS/ZRS |
Maximum number of IP address rules per storage account | 400 |
Maximum number of virtual network rules per storage account | 400 |
Maximum number of resource instance rules per storage account | 200 |
Maximum number of private endpoints per storage account | 200 |
1 Azure Storage standard accounts support higher capacity limits and higher limits for ingress and egress by request. To request an increase in account limits, contact Azure Support.
Azure Storage resource provider limits
The following limits apply only when you perform management operations by using Azure Resource Manager with Azure Storage. The limits apply per region of the resource in the request.
Resource | Limit |
---|---|
Storage account management operations (read) | 800 per 5 minutes |
Storage account management operations (write) | 10 per second / 1200 per hour |
Storage account management operations (list) | 100 per 5 minutes |
Azure Blob Storage limits
Resource | Target |
---|---|
Maximum size of single blob container | Same as maximum storage account capacity |
Maximum number of blocks in a block blob or append blob | 50,000 blocks |
Maximum size of a block in a block blob | 4000 MiB |
Maximum size of a block blob | 50,000 X 4000 MiB (approximately 190.7 TiB) |
Maximum size of a block in an append blob | 4 MiB |
Maximum size of an append blob | 50,000 x 4 MiB (approximately 195 GiB) |
Maximum size of a page blob | 8 TiB2 |
Maximum number of stored access policies per blob container | 5 |
Target request rate for a single blob | Up to 500 requests per second |
Target throughput for a single page blob | Up to 60 MiB per second2 |
Target throughput for a single block blob | Up to storage account ingress/egress limits1 |
1 Throughput for a single blob depends on several factors. These factors include but aren't limited to: concurrency, request size, performance tier, speed of source for uploads, and destination for downloads. To take advantage of the performance enhancements of high-throughput block blobs, upload larger blobs or blocks. Specifically, call the Put Blob or Put Block operation with a blob or block size that is greater than 256 KiB.
2 Page blobs aren't yet supported in accounts that have a hierarchical namespace enabled.
The following table describes the maximum block and blob sizes permitted by service version.
Service version | Maximum block size (via Put Block) | Maximum blob size (via Put Block List) | Maximum blob size via single write operation (via Put Blob) |
---|---|---|---|
Version 2019-12-12 and later | 4000 MiB | Approximately 190.7 TiB (4000 MiB X 50,000 blocks) | 5000 MiB |
Version 2016-05-31 through version 2019-07-07 | 100 MiB | Approximately 4.75 TiB (100 MiB X 50,000 blocks) | 256 MiB |
Versions prior to 2016-05-31 | 4 MiB | Approximately 195 GiB (4 MiB X 50,000 blocks) | 64 MiB |
Azure Queue storage limits
Resource | Target |
---|---|
Maximum size of a single queue | 500 TiB |
Maximum size of a message in a queue | 64 KiB |
Maximum number of stored access policies per queue | 5 |
Maximum request rate per storage account | 20,000 messages per second, which assumes a 1-KiB message size |
Target throughput for a single queue (1-KiB messages) | Up to 2,000 messages per second |
Azure Table storage limits
The following table describes capacity, scalability, and performance targets for Table storage.
Resource | Target |
---|---|
Number of tables in an Azure storage account | Limited only by the capacity of the storage account |
Number of partitions in a table | Limited only by the capacity of the storage account |
Number of entities in a partition | Limited only by the capacity of the storage account |
Maximum size of a single table | 500 TiB |
Maximum size of a single entity, including all property values | 1 MiB |
Maximum number of properties in a table entity | 255 (including the three system properties, PartitionKey, RowKey, and Timestamp) |
Maximum total size of an individual property in an entity | Varies by property type. For more information, see Property Types in Understanding the Table Service Data Model. |
Size of the PartitionKey | A string up to 1024 characters in size |
Size of the RowKey | A string up to 1024 characters in size |
Size of an entity group transaction | A transaction can include at most 100 entities and the payload must be less than 4 MiB in size. An entity group transaction can include an update to an entity only once. |
Maximum number of stored access policies per table | 5 |
Maximum request rate per storage account | 20,000 transactions per second, which assumes a 1-KiB entity size |
Target throughput for a single table partition (1 KiB-entities) | Up to 2,000 entities per second |
Azure subscription creation limits
To learn more about the creation limits for Azure subscriptions, see Billing accounts and scopes in the Azure portal.
Azure Virtual Desktop Service limits
The following table describes the maximum limits for Azure Virtual Desktop.
Azure Virtual Desktop Object | Per Parent Container Object | Service Limit |
---|---|---|
Workspace | Microsoft Entra tenant | 1300 |
HostPool | Workspace | 400 |
Application group | Microsoft Entra tenant | 5001 |
RemoteApp | Application group | 500 |
Role Assignment | Any Azure Virtual Desktop Object | 200 |
Session Host | HostPool | 10,000 |
1If you require over 500 Application groups then please raise a support ticket via the Azure portal.
All other Azure resources used in Azure Virtual Desktop such as Virtual Machines, Storage, Networking etc. are all subject to their own resource limitations documented in the relevant sections of this article. To visualise the relationship between all the Azure Virtual Desktop objects, review this article Relationships between Azure Virtual Desktop logical components.
To get started with Azure Virtual Desktop, use the getting started guide. For deeper architectural content for Azure Virtual Desktop, use the Azure Virtual Desktop section of the Cloud Adoption Framework. For pricing information for Azure Virtual Desktop, add "Azure Virtual Desktop" within the Compute section of the Azure Pricing Calculator.
Backup limits
For a summary of Azure Backup support settings and limitations, see Azure Backup Support Matrices.
Batch limits
Resource | Default limit | Maximum limit |
---|---|---|
Azure Batch accounts per region per subscription | 1-3 | 50 |
Dedicated cores per Batch account | 0-9001 | Contact support |
Active jobs and job schedules per Batch account (completed jobs have no limit) | 100-300 | 1,0002 |
Pools per Batch account | 0-1001 | 5002 |
Private endpoint connections per Batch account | 100 | 100 |
1 For capacity management purposes, the default quotas for new Batch accounts in some regions and for some subscription types have been reduced from the above range of values. In some cases, these limits have been reduced to zero. When you create a new Batch account, check your quotas and request an appropriate core or service quota increase, if necessary. Alternatively, consider reusing Batch accounts that already have sufficient quota or user subscription pool allocation Batch accounts to maintain core and VM family quota across all Batch accounts on the subscription. Service quotas like active jobs or pools apply to each distinct Batch account even for user subscription pool allocation Batch accounts.
2 To request an increase beyond this limit, contact Azure Support.
Note
Default limits vary depending on the type of subscription you use to create a Batch account. Cores quotas shown are for Batch accounts in Batch service mode. View the quotas in your Batch account.
Classic deployment model limits
If you use classic deployment model instead of the Azure Resource Manager deployment model, the following limits apply.
Resource | Default limit | Maximum limit |
---|---|---|
vCPUs per subscription 1 | 20 | 10,000 |
Coadministrators per subscription | 200 | 200 |
Storage accounts per subscription2 | 100 | 100 |
Cloud services per subscription | 20 | 200 |
Local networks per subscription | 10 | 500 |
DNS servers per subscription | 9 | 100 |
Reserved IPs per subscription | 20 | 100 |
Affinity groups per subscription | 256 | 256 |
Subscription name length (characters) | 64 | 64 |
1Extra small instances count as one vCPU toward the vCPU limit despite using a partial CPU core.
2The storage account limit includes both Standard and Premium storage accounts.
Container Instances limits
Resource | Actual Limit |
---|---|
Standard sku container groups per region per subscription | 100 |
Dedicated sku container groups per region per subscription | 01 |
Number of containers per container group | 60 |
Number of volumes per container group | 20 |
Standard sku cores (CPUs) per region per subscription | 100 |
Standard sku cores (CPUs) for V100 GPU per region per subscription | 0 |
Ports per IP | 5 |
Container instance log size - running instance | 4 MB |
Container instance log size - stopped instance | 16 KB or 1,000 lines |
Container group creates per hour | 3001 |
Container group creates per 5 minutes | 1001 |
Container group deletes per hour | 3001 |
Container group deletes per 5 minutes | 1001 |
1To request a limit increase, create an Azure Support request. Free subscriptions including trial subscription or a Standard Pay-in-Advance Offer subscription.
2Default limit for Standard Pay-in-Advance Offer subscription. Limit may differ for other category types.
Container Registry limits
The following table details the features and limits of the Basic, Standard, and Premium service tiers.
Resource | Basic | Standard | Premium |
---|---|---|---|
Included storage1 (GiB) | 10 | 100 | 500 |
Storage limit (TiB) | 40 | 40 | 40 |
Maximum image layer size (GiB) | 200 | 200 | 200 |
Maximum manifest size (MiB) | 4 | 4 | 4 |
ReadOps per minute2, 3 | 1,000 | 3,000 | 10,000 |
WriteOps per minute2, 4 | 100 | 500 | 2,000 |
Download bandwidth2 (Mbps) | 30 | 60 | 100 |
Upload bandwidth 2 (Mbps) | 10 | 20 | 50 |
Webhooks | 2 | 10 | 500 |
Geo-replication | N/A | N/A | Supported |
Availability zones | N/A | N/A | Supported |
Content trust | N/A | N/A | Supported |
Private link with private endpoints | N/A | N/A | Supported |
• Private endpoints | N/A | N/A | 200 |
Public IP network rules | N/A | N/A | 100 |
• Virtual network rules | N/A | N/A | 100 |
Customer-managed keys | N/A | N/A | Supported |
Repository-scoped permissions | Supported | Supported | Supported |
• Tokens | 100 | 500 | 50,000 |
• Scope maps | 100 | 500 | 50,000 |
• Actions | 500 | 500 | 500 |
• Repositories per scope map5 | 500 | 500 | 500 |
Anonymous pull access | N/A | Preview | Preview |
1 Storage included in the daily rate for each tier. Additional storage may be used, up to the registry storage limit, at an additional daily rate per GiB. For rate information, see Azure Container Registry pricing. If you need storage beyond the registry storage limit, please contact Azure Support.
2ReadOps, WriteOps, and Bandwidth are minimum estimates. Azure Container Registry strives to improve performance as usage requires. Both resources, ACR, and the device must be in the same region to achieve a fast download speed.
3A docker pull translates to multiple read operations based on the number of layers in the image, plus the manifest retrieval.
4A docker push translates to multiple write operations, based on the number of layers that must be pushed. A docker push
includes ReadOps to retrieve a manifest for an existing image.
5 Individual actions of content/delete
, content/read
, content/write
, metadata/read
, metadata/write
corresponds to the limit of Repositories per scope map.
Content Delivery Network limits
Resource | Limit |
---|---|
Azure Content Delivery Network profiles | 25 |
Content Delivery Network endpoints per profile | 25 |
Custom domains per endpoint | 25 |
Maximum origin group per profile | 10 |
Maximum origin per origin group | 10 |
Maximum number of rules per CDN endpoint | 25 |
Maximum number of match conditions per rule | 10 |
Maximum number of actions per rule | 5 |
A Content Delivery Network subscription can contain one or more Content Delivery Network profiles. A Content Delivery Network profile can contain one or more Content Delivery Network endpoints. You might want to use multiple profiles to organize your Content Delivery Network endpoints by internet domain, web application, or some other criteria.
Data Lake Storage limits
Azure Data Lake Storage Gen2 is not a dedicated service or storage account type. It is the latest release of capabilities that are dedicated to big data analytics. These capabilities are available in a general-purpose v2 or BlockBlobStorage storage account, and you can obtain them by enabling the Hierarchical namespace feature of the account. For scale targets, see these articles.
Database Migration Service Limits
Azure Database Migration Service is a fully managed service designed to enable seamless migrations from multiple database sources to Azure data platforms with minimal downtime.
Resource | Limit | Comments |
---|---|---|
Maximum number of services per subscription, per region | 10 | To request an increase for this limit, contact support. |
Event Grid limits
The following limits apply to Azure Event Grid topics (system, custom, and partner topics).
Note
These limits are per region.
Resource | Limit |
---|---|
Custom topics per Azure subscription | 100. When the limit is reached, you can consider a different region or consider using domains, which can support 100,000 topics. |
Event subscriptions per topic | 500 This limit can't be increased. |
Publish rate for a custom or a partner topic (ingress) | 5,000 events/sec or 5 MB/sec (whichever is met first) |
Event size | 1 MB This limit can't be increased. |
Number of incoming events per batch | 5,000 This limit can't be increased. |
Private endpoint connections per topic | 64 This limit can't be increased. |
IP Firewall rules per topic | 16 |
The following limits apply to Azure Event Grid domains.
Resource | Limit |
---|---|
Topics per event domain | 100,000 |
Event subscriptions per topic within a domain | 500 This limit can't be increased. |
Domain scope event subscriptions | 50 This limit can't be increased. |
Publish rate for an event domain (ingress) | 5,000 events/sec or 5 MB/sec (whichever is met first) |
Event Domains per Azure Subscription | 100 |
Private endpoint connections per domain | 64 |
IP Firewall rules per domain | 16 |
Event Hubs limits
The following tables provide quotas and limits specific to Azure Event Hubs. For information about Event Hubs pricing, see Event Hubs pricing.
Common limits for all tiers
The following limits are common across all tiers.
Limit | Notes | Value |
---|---|---|
Size of an event hub name | - | 256 characters |
Size of a consumer group name | Kafka protocol doesn't require the creation of a consumer group. | Kafka: 256 characters AMQP: 50 characters |
Number of non-epoch receivers per consumer group | - | 5 |
Number of authorization rules per namespace | Subsequent requests for authorization rule creation are rejected. | 12 |
Number of calls to the GetRuntimeInformation method | - | 50 per second |
Number of virtual networks (VNet) | - | 128 |
Number of IP Config rules | - | 128 |
Maximum length of a schema group name | 50 | |
Maximum length of a schema name | 100 | |
Size in bytes per schema | 1 MB | |
Number of properties per schema group | 1024 | |
Size in bytes per schema group property key | 256 | |
Size in bytes per schema group property value | 1024 |
Basic vs. standard vs. dedicated tiers
The following table shows limits that may be different for basic, standard, and dedicated tiers. In the table CU is capacity unit and TU is throughput unit.
Limit | Basic | Standard | Dedicated |
---|---|---|---|
Maximum size of Event Hubs publication | 256 KB | 1 MB | 1 MB |
Number of consumer groups per event hub | 1 | 20 | No limit per CU, 1000 per event hub |
Number of AMQP connections per namespace | 100 | 5,000 | 100 K included and max |
Maximum retention period of event data | 1 day | 1-7 days | 90 days, 10 TB included per CU |
Maximum TUs or CUs | 20 TUs | 20 TUs | 20 CUs |
Number of partitions per event hub | 32 | 32 | 1024 per event hub 2000 per CU |
Number of namespaces per subscription | 100 | 100 | 100 (50 per CU) |
Number of event hubs per namespace | 10 | 10 | 1000 |
Ingress events | Pay per million events | Included | |
Capture | N/A | Pay per hour | Included |
Size of the schema registry (namespace) in mega bytes | N/A | 25 | 1024 |
Number of schema groups in a schema registry or namespace | N/A | 1 - excluding the default group | 1000 |
Number of schema versions across all schema groups | N/A | 25 | 10000 |
Note
You can publish events individually or batched. The publication limit (according to SKU) applies regardless of whether it is a single event or a batch. Publishing events larger than the maximum threshold will be rejected.
IoT Hub limits
The following table lists the limits associated with the different service tiers S1, S2, S3, and F1. For information about the cost of each unit in each tier, see Azure IoT Hub pricing.
Resource | S1 Standard | S2 Standard | S3 Standard | F1 Free |
---|---|---|---|---|
Messages/day | 400,000 | 6,000,000 | 300,000,000 | 8,000 |
Maximum units | 200 | 200 | 10 | 1 |
Note
If you anticipate using more than 200 units with an S1 or S2 tier hub or 10 units with an S3 tier hub, contact Azure Support.
The following table lists the limits that apply to IoT Hub resources.
Resource | Limit |
---|---|
Maximum paid IoT hubs per Azure subscription | 50 |
Maximum free IoT hubs per Azure subscription | 1 |
Maximum number of characters in a device ID | 128 |
Maximum number of device identities returned in a single call |
1,000 |
IoT Hub message maximum retention for device-to-cloud messages | 7 days |
Maximum size of device-to-cloud message | 256 KB |
Maximum size of device-to-cloud batch | AMQP and HTTP: 256 KB for the entire batch MQTT: 256 KB for each message |
Maximum messages in device-to-cloud batch | 500 |
Maximum size of cloud-to-device message | 64 KB |
Maximum TTL for cloud-to-device messages | 2 days |
Maximum delivery count for cloud-to-device messages |
100 |
Maximum cloud-to-device queue depth per device | 50 |
Maximum delivery count for feedback messages in response to a cloud-to-device message |
100 |
Maximum TTL for feedback messages in response to a cloud-to-device message |
2 days |
Maximum size of device twin | 8 KB for tags section, and 32 KB for desired and reported properties sections each |
Maximum length of device twin string key | 1 KB |
Maximum length of device twin string value | 4 KB |
Maximum depth of object in device twin | 10 |
Maximum size of direct method payload | 128 KB |
Job history maximum retention | 30 days |
Maximum concurrent jobs | 10 (for S3), 5 for (S2), 1 (for S1) |
Maximum additional endpoints (beyond built-in endpoints) | 10 (for S1, S2, and S3) |
Maximum message routing rules | 100 (for S1, S2, and S3) |
Maximum number of concurrently connected device streams | 50 (for S1, S2, S3, and F1 only) |
Maximum device stream data transfer | 300 MB per day (for S1, S2, S3, and F1 only) |
Note
If you need more than 50 paid IoT hubs in an Azure subscription, contact Azure Support.
Note
Currently, the total number of devices plus modules that can be registered to a single IoT hub is capped at 1,000,000. If you want to increase this limit, contact Azure Support.
IoT Hub throttles requests when the following quotas are exceeded.
Throttle | Per-hub value |
---|---|
Identity registry operations (create, retrieve, list, update, and delete), individual or bulk import/export |
83.33/sec/unit (5,000/min/unit) (for S3). 1.67/sec/unit (100/min/unit) (for S1 and S2). |
Device connections | 6,000/sec/unit (for S3), 120/sec/unit (for S2), 12/sec/unit (for S1). Minimum of 100/sec. |
Device-to-cloud sends | 6,000/sec/unit (for S3), 120/sec/unit (for S2), 12/sec/unit (for S1). Minimum of 100/sec. |
Cloud-to-device sends | 83.33/sec/unit (5,000/min/unit) (for S3), 1.67/sec/unit (100/min/unit) (for S1 and S2). |
Cloud-to-device receives | 833.33/sec/unit (50,000/min/unit) (for S3), 16.67/sec/unit (1,000/min/unit) (for S1 and S2). |
File upload operations | 83.33 file upload initiations/sec/unit (5,000/min/unit) (for S3), 1.67 file upload initiations/sec/unit (100/min/unit) (for S1 and S2). 10 concurrent file uploads per device. |
Direct methods | 24 MB/sec/unit (for S3), 480 KB/sec/unit (for S2), 160 KB/sec/unit (for S1). Based on 8-KB throttling meter size. |
Device twin reads | 500/sec/unit (for S3), Maximum of 100/sec or 10/sec/unit (for S2), 100/sec (for S1) |
Device twin updates | 250/sec/unit (for S3), Maximum of 50/sec or 5/sec/unit (for S2), 50/sec (for S1) |
Jobs operations (create, update, list, and delete) |
83.33/sec/unit (5,000/min/unit) (for S3), 1.67/sec/unit (100/min/unit) (for S2), 1.67/sec/unit (100/min/unit) (for S1). |
Jobs per-device operation throughput | 50/sec/unit (for S3), maximum of 10/sec or 1/sec/unit (for S2), 10/sec (for S1). |
Device stream initiation rate | 5 new streams/sec (for S1, S2, S3, and F1 only). |
IoT Hub Device Provisioning Service limits
Note
Some areas of this service have adjustable limits. This is represented in the tables below with the Adjustable? column. When the limit can be adjusted, the Adjustable? value is Yes.
The actual value to which a limit can be adjusted may vary based on each customer�s deployment. Multiple instances of DPS may be required for very large deployments.
If your business requires raising an adjustable limit or quota above the default limit, you can submit a request for additional resources by opening a support ticket. Requesting an increase does not guarantee that it will be granted, as it needs to be reviewed on a case-by-case basis. Please contact Azure support as early as possible during your implementation, to be able to determine if your request could be approved and plan accordingly.
The following table lists the limits that apply to Azure IoT Hub Device Provisioning Service resources.
Resource | Limit | Adjustable? |
---|---|---|
Maximum device provisioning services per Azure subscription | 10 | Yes |
Maximum number of registrations | 1,000,000 | Yes |
Maximum number of individual enrollments | 1,000,000 | Yes |
Maximum number of enrollment groups (X.509 certificate) | 100 | Yes |
Maximum number of enrollment groups (symmetric key) | 100 | No |
Maximum number of CAs | 25 | No |
Maximum number of linked IoT hubs | 50 | No |
Maximum size of message | 96 KB | No |
Tip
If the hard limit on symmetric key enrollment groups is a blocking issue, it is recommended to use individual enrollments as a workaround.
The Device Provisioning Service has the following rate limits.
Rate | Per-unit value | Adjustable? |
---|---|---|
Operations | 200/min/service | Yes |
Device registrations | 200/min/service | Yes |
Device polling operation | 5/10 sec/device | No |
Key Vault limits
Key transactions (maximum transactions allowed in 10 seconds, per vault per region1):
Key type | Software key CREATE key |
Software-key All other transactions |
||
---|---|---|---|---|
RSA 2,048-bit | 20 | 4,000 | ||
RSA 3,072-bit | 20 | 1,000 | ||
RSA 4,096-bit | 20 | 500 | ||
ECC P-256 | 20 | 4,000 | ||
ECC P-384 | 20 | 4,000 | ||
ECC P-521 | 20 | 4,000 | ||
ECC SECP256K1 | 20 | 4,000 | ||
Note
In the previous table, we see that for RSA 2,048-bit software keys, 4,000 GET transactions per 10 seconds are allowed.
The throttling thresholds are weighted, and enforcement is on their sum. For example, as shown in the previous table, when you perform GET operations on RSA Software-keys, it's eight times more expensive to use 4,096-bit keys compared to 2,048-bit keys. That's because 2,000/250 = 8.
In a given 10-second interval, an Azure Key Vault client can do only one of the following operations before it encounters a 429
throttling HTTP status code:
- 4,000 RSA 2,048-bit software-key GET transactions
- 250 RSA 4,096-bit Software-key GET transactions
- 249 RSA 4,096-bit Software-key GET transactions and 8 RSA 2,048-bit Software-key GET transactions
Secrets, managed storage account keys, and vault transactions:
Transactions type | Maximum transactions allowed in 10 seconds, per vault per region1 |
---|---|
All transactions | 4,000 |
For information on how to handle throttling when these limits are exceeded, see Azure Key Vault throttling guidance.
1 A subscription-wide limit for all transaction types is five times per key vault limit.
Backup keys, secrets, certificates
When you back up a key vault object, such as a secret, key, or certificate, the backup operation will download the object as an encrypted blob. This blob cannot be decrypted outside of Azure. To get usable data from this blob, you must restore the blob into a key vault within the same Azure subscription and Azure geography
Transactions type | Maximum key vault object versions allowed |
---|---|
Back up individual key, secret, certificate | 500 |
Note
Attempting to backup a key, secret, or certificate object with more versions than above limit will result in an error. It is not possible to delete previous versions of a key, secret, or certificate.
Limits on count of keys, secrets and certificates:
Key Vault does not restrict the number of keys, secrets or certificates that can be stored in a vault. The transaction limits on the vault should be taken into account to ensure that operations are not throttled.
Key Vault does not restrict the number of versions on a secret, key or certificate, but storing a large number of versions (500+) can impact the performance of backup operations. See Azure Key Vault Backup.
Object limits
Item | Limits |
---|---|
Number of versions per key | 100 |
Number of role assignments at each individual key scope | 10 |
Managed identity limits
Each managed identity counts towards the object quota limit in a Microsoft Entra tenant as described in Microsoft Entra service limits and restrictions.
The rate at which managed identities can be created have the following limits:
- Per Microsoft Entra tenant per Azure region: 400 create operations per 20 seconds.
- Per Azure Subscription per Azure region : 80 create operations per 20 seconds.
The rate at which a user-assigned managed identity can be assigned with an Azure resource :
- Per Microsoft Entra tenant per Azure region: 400 assignment operations per 20 seconds.
- Per Azure Subscription per Azure region : 300 assignment operations per 20 seconds.
Media Services limits
Note
For resources that aren't fixed, open a support ticket to ask for an increase in the quotas. Don't create additional Azure Media Services accounts in an attempt to obtain higher limits.
Account limits
Resource | Default Limit |
---|---|
Media Services accounts in a single subscription | 100 (fixed) |
Asset limits
Resource | Default Limit |
---|---|
Assets per Media Services account | 1,000,000 |
Storage (media) limits
Resource | Default Limit |
---|---|
File size | In some scenarios, there is a limit on the maximum file size supported for processing in Media Services. (1) |
Storage accounts | 100(2) (fixed) |
1 The maximum size supported for a single blob is currently up to 5 TB in Azure Blob Storage. Additional limits apply in Media Services based on the VM sizes that are used by the service. The size limit applies to the files that you upload and also the files that get generated as a result of Media Services processing (encoding or analyzing). If your source file is larger than 260-GB, your Job will likely fail.
2 The storage accounts must be from the same Azure subscription.
Jobs (encoding & analyzing) limits
Resource | Default Limit |
---|---|
Jobs per Media Services account | 500,000 (3) (fixed) |
Job inputs per Job | 50 (fixed) |
Job outputs per Job | 20 (fixed) |
Transforms per Media Services account | 100 (fixed) |
Transform outputs in a Transform | 20 (fixed) |
Files per job input | 10 (fixed) |
3 This number includes queued, finished, active, and canceled Jobs. It does not include deleted Jobs.
Any Job record in your account older than 90 days will be automatically deleted, even if the total number of records is below the maximum quota.
Live streaming limits
Resource | Default Limit |
---|---|
Live Events (4) per Media Services account | 5 |
Live Outputs per Live Event | 3 (5) |
Max Live Output duration | Size of the DVR window |
4 For detailed information about Live Event limitations, see Live Event types comparison and limitations.
5 Live Outputs start on creation and stop when deleted.
Packaging & delivery limits
Resource | Default Limit |
---|---|
Streaming Endpoints (stopped or running) per Media Services account | 2 |
Dynamic Manifest Filters | 100 |
Streaming Policies | 100 (6) |
Unique Streaming Locators associated with an Asset at one time | 100(7) (fixed) |
6 When using a custom Streaming Policy, you should design a limited set of such policies for your Media Service account, and re-use them for your StreamingLocators whenever the same encryption options and protocols are needed. You should not be creating a new Streaming Policy for each Streaming Locator.
7 Streaming Locators are not designed for managing per-user access control. To give different access rights to individual users, use Digital Rights Management (DRM) solutions.
Protection limits
Resource | Default Limit |
---|---|
Options per Content Key Policy | 30 |
Licenses per month for each of the DRM types on Media Services key delivery service per account | 1,000,000 |
Support ticket
For resources that are not fixed, you may ask for the quotas to be raised, by opening a support ticket. Include detailed information in the request on the desired quota changes, use-case scenarios, and regions required.
Do not create additional Azure Media Services accounts in an attempt to obtain higher limits.
Media Services v2 (legacy)
For limits specific to Media Services v2 (legacy), see Media Services v2 (legacy)
Mobile Services limits
Tier | Free | Basic | Standard |
---|---|---|---|
API calls | 500,000 | 1.5 million per unit | 15 million per unit |
Active devices | 500 | Unlimited | Unlimited |
Scale | N/A | Up to 6 units | Unlimited units |
Push notifications | Azure Notification Hubs Free tier included, up to 1 million pushes | Notification Hubs Basic tier included, up to 10 million pushes | Notification Hubs Standard tier included, up to 10 million pushes |
Real-time messaging/ Web Sockets |
Limited | 350 per mobile service | Unlimited |
Offline synchronizations | Limited | Included | Included |
Scheduled jobs | Limited | Included | Included |
Azure SQL Database (required) Standard rates apply for additional capacity |
20 MB included | 20 MB included | 20 MB included |
CPU capacity | 60 minutes per day | Unlimited | Unlimited |
Outbound data transfer | 165 MB per day (daily rollover) | Included | Included |
For more information on limits and pricing, see Azure Mobile Services pricing.
Multifactor authentication limits
Resource | Default limit | Maximum limit |
---|---|---|
Maximum number of trusted IP addresses or ranges per subscription | 0 | 50 |
Remember my devices, number of days | 14 | 60 |
Maximum number of app passwords | 0 | No limit |
Allow X attempts during MFA call | 1 | 99 |
Two-way text message timeout seconds | 60 | 600 |
Default one-time bypass seconds | 300 | 1,800 |
Lock user account after X consecutive MFA denials | Not set | 99 |
Reset account lockout counter after X minutes | Not set | 9,999 |
Unlock account after X minutes | Not set | 9,999 |
Networking limits
Networking limits - Azure Resource Manager
The following limits apply only for networking resources managed through Azure Resource Manager per region per subscription. Learn how to view your current resource usage against your subscription limits.
Note
We recently increased all default limits to their maximum limits. If there's no maximum limit column, the resource doesn't have adjustable limits. If you had these limits increased by support in the past and don't see updated limits in the following tables, open an online customer support request at no charge
Resource | Limit |
---|---|
Virtual networks | 1,000 |
Subnets per virtual network | 3,000 |
Virtual network peerings per virtual network | 500 |
Virtual network gateways (VPN gateways) per virtual network | 1 |
Virtual network gateways (ExpressRoute gateways) per virtual network | 1 |
DNS servers per virtual network | 20 |
Private IP addresses per virtual network | 65,536 |
Total Private Addresses for a group of Peered Virtual networks | 128,000 |
Private IP addresses per network interface | 256 |
Private IP addresses per virtual machine | 256 |
Public IP addresses per network interface | 256 |
Public IP addresses per virtual machine | 256 |
Concurrent TCP or UDP flows per NIC of a virtual machine or role instance | 500,000 |
Network interface cards | 65,536 |
Network Security Groups | 5,000 |
NSG rules per NSG | 1,000 |
IP addresses and ranges specified for source or destination in a security group | 4,000 |
Application security groups | 3,000 |
Application security groups per IP configuration, per NIC | 20 |
IP configurations per application security group | 4,000 |
Application security groups that can be specified within all security rules of a network security group | 100 |
User-defined route tables | 200 |
User-defined routes per route table | 400 |
Point-to-site root certificates per Azure VPN Gateway | 20 |
Point-to-site revoked client certificates per Azure VPN Gateway | 300 |
Public IP address limits
Resource | Default limit | Maximum limit |
---|---|---|
Public IP addresses1,2 | 10 for Basic. | Contact support. |
Static Public IP addresses1 | 10 for Basic. | Contact support. |
Standard Public IP addresses1 | 10 | Contact support. |
Public IP Prefixes | limited by number of Standard Public IPs in a subscription | Contact support. |
Public IP prefix length | /28 | Contact support. |
1Default limits for Public IP addresses vary by offer category type, such as Trial, Standard Pay-in-Advance Offer, CSP. For example, the default for Enterprise Agreement subscriptions is 1000.
2Public IP addresses limit refers to the total amount of Public IP addresses, including Basic and Standard.
Load balancer limits
The following limits apply only for networking resources managed through Azure Resource Manager per region per subscription. Learn how to view your current resource usage against your subscription limits.
Standard Load Balancer
Resource | Limit |
---|---|
Load balancers | 1,000 |
Frontend IP configurations | 600 |
Rules (Load Balancer + Inbound NAT) per resource | 1,500 |
Rules per NIC (across all IPs on a NIC) | 300 |
High-availability ports rule | 1 per internal frontend |
Outbound rules per Load Balancer | 600 |
Backend pool size | 5,000 |
Load Balancers per VM 1 | 2 (1 Public and 1 internal) |
Backend IP configurations per frontend 2 | 10,000 |
Backend IP configurations across all frontends | 500,000 |
1 An exception to this limit is that 2 public load balancers can be in front of a VM if an IPv4 address config is used for one load balancer and IPv6 address config is used for the second. Note that this limit does not apply to IP-based load balancers. For more information on IP-based backend pools, refer to our documentation on IP-based load balancers.
2 Backend IP configurations are aggregated across all load balancer rules including load balancing, inbound NAT, and outbound rules. Each rule a backend pool instance is configured to counts as one configuration.
Load Balancer doesn't apply any throughput limits. However, throughput limits for virtual machines and virtual networks still apply. For more information, see Virtual machine network bandwidth.
Gateway Load Balancer
Resource | Limit |
---|---|
Resources chained per Load Balancer (LB frontend configurations or VM NIC IP configurations combined) | 100 |
All limits for Standard Load Balancer also apply to Gateway Load Balancer.
Basic Load Balancer
Resource | Limit |
---|---|
Load balancers | 1,000 |
Rules per resource | 250 |
Rules per NIC (across all IPs on a NIC) | 300 |
Frontend IP configurations 3 | 200 |
Backend pool size | 300 IP configurations, single availability set |
Availability sets per Load Balancer | 1 |
Load Balancers per VM | 2 (1 Public and 1 internal) |
3 The limit for a single discrete resource in a backend pool (standalone virtual machine, availability set, or virtual machine scale-set placement group) is to have up to 250 Frontend IP configurations across a single Basic Public Load Balancer and Basic Internal Load Balancer.
The following limits apply only for networking resources managed through the classic deployment model per subscription. Learn how to view your current resource usage against your subscription limits.
Resource | Default limit | Maximum limit |
---|---|---|
Virtual networks | 100 | 100 |
Local network sites | 20 | 50 |
DNS servers per virtual network | 20 | 20 |
Private IP addresses per virtual network | 4,096 | 4,096 |
Concurrent TCP or UDP flows per NIC of a virtual machine or role instance | 500,000, up to 1,000,000 for two or more NICs. | 500,000, up to 1,000,000 for two or more NICs. |
Network Security Groups (NSGs) | 200 | 200 |
NSG rules per NSG | 200 | 1,000 |
User-defined route tables | 200 | 200 |
User-defined routes per route table | 400 | 400 |
Public IP addresses (dynamic) | 500 | 500 |
Reserved public IP addresses | 500 | 500 |
Public IP per deployment | 5 | Contact support |
Private IP (internal load balancing) per deployment | 1 | 1 |
Endpoint access control lists (ACLs) | 50 | 50 |
Application Gateway limits
The following table applies to v1, v2, Standard, and WAF SKUs unless otherwise stated.
Resource | Limit | Note |
---|---|---|
Azure Application Gateway | 1,000 per region per subscription | |
Frontend IP configurations | 2 | 1 public and 1 private |
Frontend ports | 1001 | |
Backend address pools | 100 | |
Backend targets per pool | 1,200 | |
HTTP listeners | 2001 | Limited to 100 active listeners that are routing traffic. Active listeners = total number of listeners - listeners not active. If a default configuration inside a routing rule is set to route traffic (for example, it has a listener, a backend pool, and HTTP settings) then that also counts as a listener. For more information, see Frequently asked questions about Application Gateway. |
HTTP load-balancing rules | 4001 | |
Backend HTTP settings | 1001 | |
Instances per gateway | V1 SKU - 32 V2 SKU - 125 |
|
SSL certificates | 1001 | 1 per HTTP listener |
Maximum SSL certificate size | V1 SKU - 10 KB V2 SKU - 16 KB |
|
Maximum trusted client CA certificate size | 25 KB | 25 KB is the maximum aggregated size of root and intermediate certificates contained in an uploaded pem or cer file. |
Maximum trusted client CA certificates | 200 | 100 per SSL Profile |
Authentication certificates | 100 | |
Trusted root certificates | 100 | |
Request timeout minimum | 1 second | |
Request timeout maximum to private backend | 24 hours | |
Request timeout maximum to external backend | 4 minutes | |
Number of sites | 1001 | 1 per HTTP listener |
URL maps per listener | 1 | |
Host names per listener | 5 | |
Maximum path-based rules per URL map | 100 | |
Redirect configurations | 1001 | |
Number of rewrite rule sets | 400 | |
Number of Header or URL configuration per rewrite rule set | 40 | |
Number of conditions per rewrite rule set | 40 | |
Concurrent WebSocket connections | Medium gateways 20k2 Large gateways 50k2 |
|
Maximum URL length | 32 KB | |
Maximum header size | 32 KB | |
Maximum header field size for HTTP/2 | 8 KB | |
Maximum header size for HTTP/2 | 16 KB | |
Maximum requests per HTTP/2 connection | 1000 | The total number of requests that can share the same frontend HTTP/2 connection |
Maximum file upload size (Standard SKU) | V1 - 2 GB V2 - 4 GB |
This maximum size limit is shared with the request body |
Maximum file upload size (WAF SKU) | V1 Medium - 100 MB V1 Large - 500 MB V2 - 750 MB V2 (with CRS 3.2 or DRS) - 4 GB3 |
1 MB - Minimum Value 100 MB - Default value V2 with CRS 3.2 or DRS - can be turned On/Off |
Maximum request size limit Standard SKU (without files) | V1 - 2 GB V2 - 4 GB |
|
Maximum request size limit WAF SKU (without files) | V1 or V2 (with CRS 3.1 and older) - 128 KB V2 (with CRS 3.2 or DRS) - 2 MB3 |
8 KB - Minimum Value 128 KB - Default value V2 with CRS 3.2 or DRS - can be turned On/Off |
Maximum request inspection limit WAF SKU | V1 or V2 (with CRS 3.1 and older) - 128 KB V2 (with CRS 3.2 or DRS) - 2 MB3 |
8 KB - Minimum Value 128 KB - Default value V2 with CRS 3.2 or DRS - can be turned On/Off |
Maximum Private Link Configurations | 2 | 1 for public IP, 1 for private IP |
Maximum Private Link IP Configurations | 8 | |
Maximum WAF custom rules per WAF policy | 100 | |
WAF IP address ranges per match condition | 540 600 - with CRS 3.2 or DRS |
|
Maximum WAF exclusions per Application Gateway | 40 200 - with CRS 3.2 or DRS |
|
WAF string match values per match condition | 10 |
1 The number of resources listed in the table applies to standard Application Gateway SKUs and WAF-enabled SKUs running CRS 3.2 or DRS. For WAF-enabled SKUs running CRS 3.1 or lower, the supported number is 40. For more information, see WAF engine.
2 Limit is per Application Gateway instance not per Application Gateway resource.
3 Must define the value via WAF Policy for Application Gateway.
Application Gateway for Containers limits
Resource | Limit |
---|---|
Associations | 1 per gateway |
Frontends | 5 per gateway |
Kubernetes Ingress and Gateway API configuration limits
Resource | Limit |
---|---|
Resource naming | 128 characters |
Namespace naming | 128 characters |
Listeners per gateway | 64 listeners per gateway resource (enforced by Gateway API) |
Total AGC references | 5 per ALB controller |
Total certificate references | 100 per AGC |
Total listeners | 200 per AGC |
Total routes | 200 per AGC |
Total rules | 200 per AGC |
Total services | 100 per AGC |
Total endpoints | 5000 per AGC |
Azure Bastion limits
An instance is an optimized Azure VM that is created when you configure Azure Bastion. When you configure Azure Bastion using the Basic SKU, 2 instances are created. If you use the Standard SKU, you can specify the number of instances between 2-50.
Workload Type* | Session Limit per Instance** |
---|---|
Light | 25 |
Medium | 20 |
Heavy | 2 |
*These workload types are defined here: Remote Desktop workloads
**These limits are based on RDP performance tests for Azure Bastion. The numbers may vary due to other on-going RDP sessions or other on-going SSH sessions.
Azure DNS limits
Public DNS
Public DNS zones
Resource | Limit |
---|---|
Public DNS zones per subscription | 250 1 |
Record sets per public DNS zone | 10,000 1 |
Records per record set in public DNS zone | 20 1 |
Number of Alias records for a single Azure resource | 20 |
1If you need to increase these quota limits, contact Azure Support.
Public DNS zone operations
Operation | Limit (per zone) |
---|---|
Create | 40/min |
Delete | 40/min |
Get | 1000/min |
List | 60/min |
List By Resource Group | 60/min (per resource group) |
Update | 40/min |
Public DNS resource record operations
Operation | Limit (per zone) |
---|---|
Create | 200/min |
Delete | 200/min |
Get | 2000/min |
List By DNS Zone | 60/min |
List By Type | 60/min |
Update | 200/min |
Private DNS
Private DNS zones
Resource | Limit |
---|---|
Private DNS zones per subscription | 1000 |
Record sets per private DNS zone | 25000 |
Records per record set for private DNS zones | 20 |
Virtual Network Links per private DNS zone | 1000 |
Virtual Networks Links per private DNS zones with autoregistration enabled | 100 |
Number of private DNS zones a virtual network can get linked to with autoregistration enabled | 1 |
Number of private DNS zones a virtual network can get linked | 1000 |
Private DNS zone operations
Operation | Limit (per subscription) |
---|---|
Create | 40/min |
Delete | 40/min |
Get | 200/min (per zone) |
List by subscription | 60/min |
List by resource group | 100/min (per resource group) |
Update | 40/min |
Private DNS resource record operations
Operation | Limit (per zone) |
---|---|
Create | 60/min |
Delete | 60/min |
Get | 200/min |
List | 100/min |
Update | 60/min |
Virtual network links operations
Operation | Limit (per zone) |
---|---|
Create | 60/min |
Delete | 60/min |
Get | 100/min |
List by virtual network | 20/min |
Update | 60/min |
Azure-provided DNS resolver VM limits
Resource | Limit |
---|---|
Number of DNS queries a virtual machine can send to Azure DNS resolver, per second | 1000 1 |
Maximum number of DNS queries queued (pending response) per virtual machine | 200 1 |
1These limits are applied to every individual virtual machine and not at the virtual network level. DNS queries exceeding these limits are dropped. These limits apply to the default Azure resolver, not the DNS private resolver.
DNS Private Resolver1
Resource | Limit |
---|---|
DNS private resolvers per subscription | 15 |
Inbound endpoints per DNS private resolver | 5 |
Outbound endpoints per DNS private resolver | 5 |
Forwarding rules per DNS forwarding ruleset | 1000 |
Virtual network links per DNS forwarding ruleset | 500 |
Outbound endpoints per DNS forwarding ruleset | 2 |
DNS forwarding rulesets per outbound endpoint | 2 |
Target DNS servers per forwarding rule | 6 |
QPS per endpoint | 10,000 |
1Different limits might be enforced by the Azure portal until the portal is updated. Use PowerShell to provision elements up to the most current limits.
Azure Firewall limits
Resource | Limit |
---|---|
Max Data throughput | 100 Gbps for Premium, 30 Gbps for Standard, 250 Mbps for Basic (preview) SKU For more information, see Azure Firewall performance. |
Rule limits | 20,000 unique source/destinations in network rules Unique source/destinations in network = sum of (unique source addresses * unique destination addresses for each rule) An IP group counts as one address, regardless of how many IP addresses it contains. You can track the Firewall Policy network rule count in the policy analytics under the Insights tab. As a proxy, you can also monitor your Firewall Latency Probe metrics to ensure it stays within 20 ms even during peak hours. |
Total size of rules within a single Rule Collection Group | 1 MB for Firewall policies created before July 2022 2 MB for Firewall policies created after July 2022 |
Number of Rule Collection Groups in a firewall policy | 50 for Firewall policies created before July 2022 90 for Firewall policies created after July 2022 |
Maximum DNAT rules (Maximum external destinations) | 250 maximum [number of firewall public IP addresses + unique destinations (destination address, port, and protocol)] The DNAT limitation is due to the underlying platform. For example, you can configure 500 UDP rules to the same destination IP address and port (one unique destination), while 500 rules to the same IP address but to 500 different ports exceeds the limit (500 unique destinations). |
Minimum AzureFirewallSubnet size | /26 |
Port range in network and application rules | 1 - 65535 |
Public IP addresses | 250 maximum. All public IP addresses can be used in DNAT rules and they all contribute to available SNAT ports. |
IP addresses in IP Groups | Maximum of 200 unique IP Groups per firewall. Maximum 5000 individual IP addresses or IP prefixes per each IP Group. |
Route table | By default, AzureFirewallSubnet has a 0.0.0.0/0 route with the NextHopType value set to Internet. Azure Firewall must have direct Internet connectivity. If your AzureFirewallSubnet learns a default route to your on-premises network via BGP, you must override that with a 0.0.0.0/0 UDR with the NextHopType value set as Internet to maintain direct Internet connectivity. By default, Azure Firewall doesn't support forced tunneling to an on-premises network. However, if your configuration requires forced tunneling to an on-premises network, Azure will support it on a case by case basis. Contact Support so that we can review your case. If accepted, we'll allow your subscription and ensure the required firewall Internet connectivity is maintained. |
FQDNs in network rules | For good performance, do not exceed more than 1000 FQDNs across all network rules per firewall. |
TLS inspection timeout | 120 seconds |
Azure Network Watcher limits
Resource | Limit |
---|---|
Network Watcher instances per region per subscription | 1 (One instance in a region to enable access to the service in the region) |
Connection monitors per region per subscription | 100 |
Maximum test groups per a connection monitor | 20 |
Maximum sources and destinations per a connection monitor | 100 |
Maximum test configurations per a connection monitor | 20 |
Packet capture sessions per region per subscription | 10,000 (Number of sessions only, not saved captures) |
VPN troubleshoot operations per subscription | 1 (Number of operations at one time) |
Azure Route Server limits
Resource | Limit |
---|---|
Number of BGP peers | 8 |
Number of routes each BGP peer can advertise to Azure Route Server 1 | 1,000 |
Number of VMs in the virtual network (including peered virtual networks) that Azure Route Server can support | 4,000 |
Number of virtual networks that Azure Route Server can support | 500 |
Number of total on-premises and Azure Virtual Network prefixes that Azure Route Server can support | 10,000 |
1 If your NVA advertises more routes than the limit, the BGP session gets dropped.
Note
The total number of routes advertised from VNet address space and Route Server towards ExpressRoute circuit, when Branch-to-branch enabled, must not exceed 1,000. For more information, see Route advertisement limits of ExpressRoute.
ExpressRoute limits
Resource | Limit |
---|---|
ExpressRoute circuits per subscription | 50 (Submit a support request to increase limit) |
ExpressRoute circuits per region per subscription, with Azure Resource Manager | 10 |
Maximum number of circuits in the same peering location linked to the same virtual network | 4 |
Maximum number of circuits in different peering locations linked to the same virtual network | Standard / ERGw1Az - 4 High Perf / ERGw2Az - 8 Ultra Performance / ErGw3Az - 16 |
Route advertisement limits
Resource | Standard SKU | Premium SKU |
---|---|---|
Maximum number of IPv4 routes advertised to Azure private peering from on-premises | 4,000 | 10,000 |
Maximum number of IPv6 routes advertised to Azure private peering from on-premises | 100 | 100 |
Maximum number of IPv4 routes advertised from Azure private peering from the VNet address space to ExpressRoute virtual network gateway | 1,000 | 1,000 |
Maximum number of IPv6 routes advertised from Azure private peering from the VNet address space to ExpressRoute virtual network gateway | 100 | 100 |
Maximum number of IPv4 routes advertised to Microsoft peering from on-premises | 200 | 200 |
Maximum number of IPv6 routes advertised to Microsoft peering from on-premises | 200 | 200 |
Virtual networks links allowed for each ExpressRoute circuit limit
Circuit size | Standard SKU | Premium SKU |
---|---|---|
50 Mbps | 10 | 20 |
100 Mbps | 10 | 25 |
200 Mbps | 10 | 25 |
500 Mbps | 10 | 40 |
1 Gbps | 10 | 50 |
2 Gbps | 10 | 60 |
5 Gbps | 10 | 75 |
10 Gbps | 10 | 100 |
40 Gbps* | 10 | 100 |
100 Gbps* | 10 | 100 |
*100-Gbps ExpressRoute Direct Only
Note
Global Reach connections count against the limit of virtual network connections per ExpressRoute Circuit. For example, a 10 Gbps Premium Circuit would allow for 5 Global Reach connections and 95 connections to the ExpressRoute Gateways or 95 Global Reach connections and 5 connections to the ExpressRoute Gateways or any other combination up to the limit of 100 connections for the circuit.
ExpressRoute gateway performance limits
The following tables provides an overview of the different types of gateways, their respective limitations, and their expected performance metrics. These numbers are derived from the following testing conditions and represent the max support limits. Actual performance may vary, depending on how closely traffic replicates these testing conditions.
Testing conditions
Gateway SKU | Traffic sent from on-premises | Number of routes advertised by gateway | Number of routes learned by gateway |
---|---|---|---|
Standard/ERGw1Az | 1 Gbps | 500 | 4000 |
High Performance/ERGw2Az | 2 Gbps | 500 | 9,500 |
Ultra Performance/ErGw3Az | 10 Gbps | 500 | 9,500 |
Performance results
This table applies to both the Azure Resource Manager and classic deployment models.
Gateway SKU | Connections per second | Mega-Bits per second | Packets per second | Supported number of VMs in the virtual network 1 | Flow count limit |
---|---|---|---|---|---|
Standard/ERGw1Az | 7,000 | 1,000 | 100,000 | 2,000 | 100,000 |
High Performance/ERGw2Az | 14,000 | 2,000 | 200,000 | 4,500 | 200,000 |
Ultra Performance/ErGw3Az | 16,000 | 10,000 | 1,000,000 | 11,000 | 1,000,000 |
1 The values in the table are estimates and varies depending on the CPU utilization of the gateway. If the CPU utilization is high and the number of supported VMs gets exceeded, the gateway will start to dropping packets.
Important
- Application performance depends on multiple factors, such as end-to-end latency, and the number of traffic flows the application opens. The numbers in the table represent the upper limit that the application can theoretically achieve in an ideal environment. Additionally, Microsoft performs routine host and OS maintenance on the ExpressRoute Virtual Network Gateway, to maintain reliability of the service. During a maintenance period, the control plane and data path capacity of the gateway is reduced.
- During a maintenance period, you may experience intermittent connectivity issues to private endpoint resources.
- ExpressRoute supports a maximum TCP and UDP packet size of 1400 bytes. Packet size larger than 1400 bytes will get fragmented.
- The number of virtual machines the virtual network isn't a limiting factor when an Azure Route Server or a virtual router is connected to the virtual network gateway.
NAT Gateway limits
The following limits apply to NAT gateway resources managed through Azure Resource Manager per region per subscription. Learn how to view your current resource usage against your subscription limits.
Resource | Limit |
---|---|
Public IP addresses | 16 per NAT gateway |
Subnets | 800 per NAT gateway |
Data throughput | 50 Gbps |
NAT gateways | 1,000 per subscription per region |
Packets processed | 1M - 5M packets per second |
Connections to same destination endpoint | 50,000 connections to the same destination per public IP |
Connections total | 2M connections per NAT gateway |
Private Link limits
The following limits apply to Azure private link:
Resource | Limit |
---|---|
Number of private endpoints per virtual network | 1000 |
Number of private endpoints per subscription | 64000 |
Number of private link services per subscription | 800 |
Number of private link services per Standard Load Balancer | 8 |
Number of IP Configurations on a private link service | 8 (This number is for the NAT IP addresses used per PLS) |
Number of private endpoints on the same private link service | 1000 |
Number of subscriptions allowed in visibility setting on private link service | 100 |
Number of subscriptions allowed in auto-approval setting on private link service | 100 |
Number of private endpoints per key vault | 64 |
Number of key vaults with private endpoints per subscription | 400 |
Number of private DNS zone groups that can be linked to a private endpoint | 1 |
Number of DNS zones in each group | 5 |
Number of private IP addresses on private endpoint network interface | 500 |
Traffic Manager limits
Resource | Limit |
---|---|
Profiles per subscription | 200 1 |
Endpoints per profile | 200 |
1If you need to increase these limits, contact Azure Support.
VPN Gateway limits
The following limits apply to VPN Gateway resources and VPN Gateway virtual network gateways, unless otherwise stated.
Resource | Limit |
---|---|
VNet Address Prefixes | 600 per VPN gateway |
Aggregate BGP routes | 4,000 per VPN gateway |
Local Network Gateway address prefixes | 1000 per local network gateway |
S2S connections | Depends on the gateway SKU |
P2S connections | Depends on the gateway SKU |
P2S route limit - IKEv2 | 256 for non-Windows / 25 for Windows |
P2S route limit - OpenVPN | 1000 |
Max. flows | 100K for VpnGw1/AZ / 512K for VpnGw2-4/AZ |
Virtual WAN limits
Resource | Limit |
---|---|
VPN (branch) connections per hub | 1,000 |
Aggregate throughput per Virtual WAN Site-to-site VPN gateway | 20 Gbps |
Throughput per Virtual WAN VPN connection (2 tunnels) | 2 Gbps with 1 Gbps/IPsec tunnel |
Point-to-site users per hub | 100,000 |
Aggregate throughput per Virtual WAN User VPN (Point-to-site) gateway | 200 Gbps |
Aggregate throughput per Virtual WAN ExpressRoute gateway | 20 Gbps |
ExpressRoute circuit connections per hub | 8 |
VNet connections per hub | 500 minus total number of hubs in Virtual WAN |
Aggregate throughput per Virtual WAN hub router | 50 Gbps for VNet to VNet transit |
VM workload across all VNets connected to a single Virtual WAN hub | 2000 (If you want to raise the limit or quota above the default limit, see hub settings). |
Notification Hubs limits
Tier | Free | Basic | Standard |
---|---|---|---|
Included pushes | 1 million | 10 million | 10 million |
Active devices | 500 | 200,000 | 10 million |
Tag quota per installation or registration | 60 | 60 | 60 |
For more information on limits and pricing, see Notification Hubs pricing.
Microsoft Sentinel limits
For Microsoft Sentinel limits, see Service limits for Microsoft Sentinel
Service Bus limits
The following table lists quota information specific to Azure Service Bus messaging. For information about pricing and other quotas for Service Bus, see Service Bus pricing.
Quota name | Scope | Value | Notes |
---|---|---|---|
Maximum number of namespaces per Azure subscription | Namespace | 1000 (default and maximum) | This limit is based on the Microsoft.ServiceBus provider, not based on the tier. Therefore, it's the total number of namespaces across all tiers. Subsequent requests for additional namespaces are rejected. |
Queue or topic size | Entity | 1, 2, 3, 4 GB or 5 GB In the Premium SKU, and the Standard SKU with partitioning enabled, the maximum queue or topic size is 80 GB. Total size limit for a premium namespace per messaging unit is 1 TB. Total size of all entities in a namespace can't exceed this limit. |
Defined upon creation/updation of the queue or topic. Subsequent incoming messages are rejected, and an exception is received by the calling code. Currently, a large message (size > 1 MB) sent to a queue is counted twice. And, a large message (size > 1 MB) sent to a topic is counted X + 1 times, where X is the number of subscriptions to the topic. |
Number of concurrent connections on a namespace | Namespace | Net Messaging: 1,000. AMQP: 5,000. |
Subsequent requests for additional connections are rejected, and an exception is received by the calling code. REST operations don't count toward concurrent TCP connections. |
Number of concurrent receive requests on a queue, topic, or subscription entity | Entity | 5,000 | Subsequent receive requests are rejected, and an exception is received by the calling code. This quota applies to the combined number of concurrent receive operations across all subscriptions on a topic. |
Number of topics or queues per namespace | Namespace | 10,000 for the Basic or Standard tier. The total number of topics and queues in a namespace must be less than or equal to 10,000. For the Premium tier, 1,000 per messaging unit (MU). |
Subsequent requests for creation of a new topic or queue on the namespace are rejected. As a result, if configured through the Azure portal, an error message is generated. If called from the management API, an exception is received by the calling code. |
Number of partitioned topics or queues per namespace | Namespace | Basic and Standard tiers: 100. Each partitioned queue or topic counts toward the quota of 1,000 entities per namespace. | Subsequent requests for creation of a new partitioned topic or queue in the namespace are rejected. As a result, if configured through the Azure portal, an error message is generated. If called from the management API, the exception QuotaExceededException is received by the calling code. If you want to have more partitioned entities in a basic or a standard tier namespace, create additional namespaces. |
Maximum size of any messaging entity path: queue or topic | Entity | 260 characters. | |
Maximum size of any messaging entity name: namespace, subscription, or subscription rule | Entity | 50 characters. | |
Maximum size of a message ID | Entity | 128 | |
Maximum size of a message session ID | Entity | 128 | |
Message size for a queue, topic, or subscription entity | Entity | 256 KB for Standard tier 100 MB for Premium tier. The maximum size for batches is 256 KB for the Standard tier, and 1MB for the Premium tier. The message size includes the size of properties (system and user) and the size of payload. The size of system properties varies depending on your scenario. |
Incoming messages that exceed these quotas are rejected, and an exception is received by the calling code. |
Message property size for a queue, topic, or subscription entity | Entity | Maximum message property size for each property is 32 KB. Cumulative size of all properties can't exceed 64 KB. This limit applies to the entire header of the brokered message, which has both user properties and system properties, such as sequence number, label, and message ID. Maximum number of header properties in property bag: byte/int.MaxValue. |
The exception SerializationException is generated. |
Number of subscriptions per topic | Entity | 2,000 per-topic for the Standard tier and Premium tier. | Subsequent requests for creating additional subscriptions for the topic are rejected. As a result, if configured through the portal, an error message is shown. If called from the management API, an exception is received by the calling code. |
Number of SQL filters per topic | Entity | 2,000 | Subsequent requests for creation of additional filters on the topic are rejected, and an exception is received by the calling code. |
Number of correlation filters per topic | Entity | 100,000 | Subsequent requests for creation of additional filters on the topic are rejected, and an exception is received by the calling code. |
Size of SQL filters or actions | Namespace | Maximum length of filter condition string: 1,024 (1 K). Maximum length of rule action string: 1,024 (1 K). Maximum number of expressions per rule action: 32. |
Subsequent requests for creation of additional filters are rejected, and an exception is received by the calling code. |
Number of shared access authorization rules per namespace, queue, or topic | Entity, namespace | Maximum number of rules per entity type: 12. Rules that are configured on a Service Bus namespace apply to all types: queues, topics. |
Subsequent requests for creation of additional rules are rejected, and an exception is received by the calling code. |
Number of messages per transaction | Transaction | 100 For both Send() and SendAsync() operations. |
Additional incoming messages are rejected, and an exception stating "Can't send more than 100 messages in a single transaction" is received by the calling code. |
Number of virtual network and IP filter rules | Namespace | 128 |
Site Recovery limits
The following limits apply to Azure Site Recovery:
LIMIT IDENTIFIER | DEFAULT LIMIT |
---|---|
Number of vaults per subscription | 500 |
Number of servers per Azure vault | 250 |
Number of protection groups per Azure vault | No limit |
Number of recovery plans per Azure vault | No limit |
Number of servers per protection group | No limit |
Number of servers per recovery plan | 50 |
SQL Database limits
For SQL Database limits, see SQL Database resource limits for single databases, SQL Database resource limits for elastic pools and pooled databases, and SQL Database resource limits for SQL Managed Instance.
The maximum number of private endpoints per Azure SQL Database logical server is 250.
Azure Synapse Analytics limits
Azure Synapse Analytics has the following default limits to ensure customer's subscriptions are protected from each other's workloads. To raise the limits to the maximum for your subscription, contact support.
Azure Synapse limits for workspaces
Resource | Default limit | Maximum limit |
---|---|---|
Synapse workspaces in an Azure subscription per region | 20 | 100 |
Azure Synapse limits for Apache Spark
Resource | Memory Optimized cores |
---|---|
Spark cores in a Synapse workspace | 50 |
For additional limits for Spark pools, see Concurrency and API rate limits for Apache Spark pools in Azure Synapse Analytics.
Azure Synapse limits for pipelines
Resource | Default limit | Maximum limit |
---|---|---|
Synapse pipelines in a Synapse workspace | 800 | 800 |
Total number of entities, such as pipelines, data sets, triggers, linked services, Private Endpoints, and integration runtimes, within a workspace | 5,000 | Contact support. |
Total CPU cores for Azure-SSIS Integration Runtimes under one workspace | 256 | Contact support. |
Concurrent pipeline runs per workspace that's shared among all pipelines in the workspace | 10,000 | 10,000 |
Concurrent External activity runs per workspace per Azure Integration Runtime region External activities are managed on integration runtime but execute on linked services, including Databricks, stored procedure, HDInsight, Web, and others. This limit does not apply to Self-hosted IR. |
3,000 | 3,000 |
Concurrent Pipeline activity runs per workspace per Azure Integration Runtime region Pipeline activities execute on integration runtime, including Lookup, GetMetadata, and Delete. This limit does not apply to Self-hosted IR. |
1,000 | 1,000 |
Concurrent authoring operations per workspace per Azure Integration Runtime region Including test connection, browse folder list and table list, preview data. This limit does not apply to Self-hosted IR. |
200 | 200 |
Concurrent Data Integration Units1 consumption per workspace per Azure Integration Runtime region | 1,500 Managed virtual network2: 2,400 |
1,500 Managed virtual network: Contact support. |
Maximum activities per pipeline, which includes inner activities for containers | 40 | 40 |
Maximum number of linked integration runtimes that can be created against a single self-hosted integration runtime | 100 | Contact support. |
Maximum parameters per pipeline | 50 | 50 |
ForEach items | 100,000 | 100,000 |
ForEach parallelism | 20 | 50 |
Maximum queued runs per pipeline | 100 | 100 |
Characters per expression | 8,192 | 8,192 |
Minimum tumbling window trigger interval | 5 min | 15 min |
Maximum timeout for pipeline activity runs | 7 days | 7 days |
Bytes per object for pipeline objects3 | 200 KB | 200 KB |
Bytes per object for dataset and linked service objects3 | 100 KB | 2,000 KB |
Bytes per payload for each activity run4 | 896 KB | 896 KB |
Data Integration Units1 per copy activity run | 256 | 256 |
Write API calls | 1,200/h | 1,200/h This limit is imposed by Azure Resource Manager, not Azure Synapse Analytics. |
Read API calls | 12,500/h | 12,500/h This limit is imposed by Azure Resource Manager, not Azure Synapse Analytics. |
Monitoring queries per minute | 1,000 | 1,000 |
Maximum time of data flow debug session | 8 hrs | 8 hrs |
Concurrent number of data flows per integration runtime | 50 | Contact support. |
Concurrent number of data flows per integration runtime in managed vNet | 20 | Contact support. |
Concurrent number of data flow debug sessions per user per workspace | 3 | 3 |
Data Flow Azure IR TTL limit | 4 hrs | 4 hrs |
Meta Data Entity Size limit in a workspace | 2 GB | Contact support. |
1 The data integration unit (DIU) is used in a cloud-to-cloud copy operation, learn more from Data integration units (version 2). For information on billing, see Azure Synapse Analytics Pricing.
2 Azure Integration Runtime is globally available to ensure data compliance, efficiency, and reduced network egress costs.
3 Pipeline, data set, and linked service objects represent a logical grouping of your workload. Limits for these objects don't relate to the amount of data you can move and process with Azure Synapse Analytics. Synapse Analytics is designed to scale to handle petabytes of data.
4 The payload for each activity run includes the activity configuration, the associated dataset(s) and linked service(s) configurations if any, and a small portion of system properties generated per activity type. Limit for this payload size doesn't relate to the amount of data you can move and process with Azure Synapse Analytics. Learn about the symptoms and recommendation if you hit this limit.
Azure Synapse limits for dedicated SQL pools
For details of capacity limits for dedicated SQL pools in Azure Synapse Analytics, see dedicated SQL pool resource limits.
Azure Resource Manager limits for web service calls
Azure Resource Manager has limits for API calls. You can make API calls at a rate within the Azure Resource Manager API limits.
Virtual machine disk limits
You can attach a number of data disks to an Azure virtual machine (VM). Based on the scalability and performance targets for a VM's data disks, you can determine the number and type of disk that you need to meet your performance and capacity requirements.
Important
For optimal performance, limit the number of highly utilized disks attached to the virtual machine to avoid possible throttling. If all attached disks aren't highly utilized at the same time, the virtual machine can support a larger number of disks. Additionally, when creating a managed disk from an existing managed disk, only 49 disks can be created concurrently. More disks can be created after some of the initial 49 have been created.
For Azure managed disks:
The following table illustrates the default and maximum limits of the number of resources per region per subscription. The limits remain the same irrespective of disks encrypted with either platform-managed keys or customer-managed keys. There is no limit for the number of Managed Disks, snapshots and images per resource group.
Resource Limit Standard managed disks 50,000 Standard SSD managed disks 50,000 Premium SSD managed disks 50,000 Premium SSD v2 managed disks 1,000 Premium SSD v2 managed disks capacity2 32,768 Ultra disks 1,000 Ultra disk capacity2 32,768 Standard_LRS snapshots1 75,000 Standard_ZRS snapshots1 75,000 Managed image 50,000
1An individual disk can have 500 incremental snapshots.
2This is the default max but higher capacities are supported by request. To request an increase in capacity, request a quota increase or contact Azure Support.
For standard storage accounts:
A Standard storage account has a maximum total request rate of 20,000 IOPS. The total IOPS across all of your virtual machine disks in a Standard storage account should not exceed this limit.
For unmanaged disks, you can roughly calculate the number of highly utilized disks supported by a single standard storage account based on the request rate limit. For example, for a Basic tier VM, the maximum number of highly utilized disks is about 66, which is 20,000/300 IOPS per disk. The maximum number of highly utilized disks for a Standard tier VM is about 40, which is 20,000/500 IOPS per disk.
For premium storage accounts:
A premium storage account has a maximum total throughput rate of 50 Gbps. The total throughput across all of your VM disks should not exceed this limit.
For more information, see Virtual machine sizes.
For VM Applications
When working with VM applications in Azure, you may encounter an error message that says "Operation could not be completed as it results in exceeding approved UnmanagedStorageAccountCount quota." This error occurs when you have reached the limit for the number of unmanaged storage accounts that you can use.
When you publish a VM application, Azure needs to replicate it across multiple regions. To do this, Azure creates an unmanaged storage account for each region. The number of unmanaged storage accounts that an application uses is determined by the number of replicas across all applications.
As a general rule, each storage account can accommodate up to 200 simultaneous connections. Below are options for resolving the "UnmanagedStorageAccountCount" error:
- Use page blobs for your source application blobs. Unmanaged accounts are only used for block blob replication. Page blobs have no such limits.
- Reduce the number of replicas for your VM Application versions or delete applications you no longer need.
- File a support request to obtain a quota increase.
For more information, see VM Applications.
Disk encryption sets
There's a limitation of 5000 disk encryption sets per region, per subscription. For more information, see the encryption documentation for Linux or Windows virtual machines. If you need to increase the quota, contact Azure support.
Managed virtual machine disks
Standard HDD managed disks
Standard Disk Type | S4 | S6 | S10 | S15 | S20 | S30 | S40 | S50 | S60 | S70 | S80 |
---|---|---|---|---|---|---|---|---|---|---|---|
Disk size in GiB | 32 | 64 | 128 | 256 | 512 | 1,024 | 2,048 | 4,096 | 8,192 | 16,384 | 32,767 |
Base IOPS per disk | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 1,300 | Up to 2,000 | Up to 2,000 |
*Expanded IOPS per disk | N/A | N/A | N/A | N/A | N/A | Up to 1,500 | Up to 3,000 | Up to 3,000 | Up to 3,000 | Up to 3,000 | Up to 3,000 |
Base throughput per disk | Up to 60 MB/s | Up to 60 MB/s | Up to 60 MB/s | Up to 60 MB/s | Up to 60 MB/s | Up to 60 MB/s | Up to 60 MB/s | Up to 60 MB/s | Up to 300 MB/s | Up to 500 MB/s | Up to 500 MB/s |
*Expanded throughput per disk | N/A | N/A | N/A | N/A | N/A | Up to 150 MB/s | Up to 300 MB/s | Up to 500 MB/s | Up to 500 MB/s | Up to 500 MB/s | Up to 500 MB/s |
* Only applies to disks with performance plus (preview) enabled.
Standard SSD managed disks
Standard SSD sizes | E1 | E2 | E3 | E4 | E6 | E10 | E15 | E20 | E30 | E40 | E50 | E60 | E70 | E80 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Disk size in GiB | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1,024 | 2,048 | 4,096 | 8,192 | 16,384 | 32,767 |
Base IOPS per disk | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 500 | Up to 2,000 | Up to 4,000 | Up to 6,000 |
*Expanded IOPS per disk | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Up to 1,500 | Up to 3,000 | Up to 6,000 | Up to 6,000 | Up to 6,000 | Up to 6,000 |
Base throughput per disk | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 100 MB/s | Up to 400 MB/s | Up to 600 MB/s | Up to 750 MB/s |
*Expanded throughput per disk | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | Up to 150 MB/s | Up to 300 MB/s | Up to 600 MB/s | Up to 750 MB/s | Up to 750 MB/s | Up to 750 MB/s |
Max burst IOPS per disk | 600 | 600 | 600 | 600 | 600 | 600 | 600 | 600 | 1000 | |||||
Max burst throughput per disk | 150 MB/s | 150 MB/s | 150 MB/s | 150 MB/s | 150 MB/s | 150 MB/s | 150 MB/s | 150 MB/s | 250 MB/s | |||||
Max burst duration | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min |
* Only applies to disks with performance plus (preview) enabled.
Premium SSD managed disks: Per-disk limits
Premium SSD sizes | P1 | P2 | P3 | P4 | P6 | P10 | P15 | P20 | P30 | P40 | P50 | P60 | P70 | P80 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Disk size in GiB | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1,024 | 2,048 | 4,096 | 8,192 | 16,384 | 32,767 |
Base provisioned IOPS per disk | 120 | 120 | 120 | 120 | 240 | 500 | 1,100 | 2,300 | 5,000 | 7,500 | 7,500 | 16,000 | 18,000 | 20,000 |
**Expanded provisioned IOPS per disk | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | 8,000 | 16,000 | 20,000 | 20,000 | 20,000 | 20,000 |
Base provisioned Throughput per disk | 25 MB/s | 25 MB/s | 25 MB/s | 25 MB/s | 50 MB/s | 100 MB/s | 125 MB/s | 150 MB/s | 200 MB/s | 250 MB/s | 250 MB/s | 500 MB/s | 750 MB/s | 900 MB/s |
**Expanded provisioned throughput per disk | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | 300 MB/s | 600 MB/s | 900 MB/s | 900 MB/s | 900 MB/s | 900 MB/s |
Max burst IOPS per disk | 3,500 | 3,500 | 3,500 | 3,500 | 3,500 | 3,500 | 3,500 | 3,500 | 30,000* | 30,000* | 30,000* | 30,000* | 30,000* | 30,000* |
Max burst throughput per disk | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 170 MB/s | 1,000 MB/s* | 1,000 MB/s* | 1,000 MB/s* | 1,000 MB/s* | 1,000 MB/s* | 1,000 MB/s* |
Max burst duration | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | 30 min | Unlimited* | Unlimited* | Unlimited* | Unlimited* | Unlimited* | Unlimited* |
Eligible for reservation | No | No | No | No | No | No | No | No | Yes, up to one year | Yes, up to one year | Yes, up to one year | Yes, up to one year | Yes, up to one year | Yes, up to one year |
*Applies only to disks with on-demand bursting enabled.
** Only applies to disks with performance plus (preview) enabled.
Premium SSD managed disks: Per-VM limits
Resource | Limit |
---|---|
Maximum IOPS Per VM | 80,000 IOPS with GS5 VM |
Maximum throughput per VM | 2,000 MB/s with GS5 VM |
Unmanaged virtual machine disks
Standard unmanaged virtual machine disks: Per-disk limits
VM tier | Basic tier VM | Standard tier VM |
---|---|---|
Disk size | 4,095 GB | 4,095 GB |
Maximum 8-KB IOPS per persistent disk | 300 | 500 |
Maximum number of disks that perform the maximum IOPS | 66 | 40 |
Premium unmanaged virtual machine disks: Per-account limits
Resource | Limit |
---|---|
Total disk capacity per account | 35 TB |
Total snapshot capacity per account | 10 TB |
Maximum bandwidth per account (ingress + egress)1 | <=50 Gbps |
1Ingress refers to all data from requests that are sent to a storage account. Egress refers to all data from responses that are received from a storage account.
Premium unmanaged virtual machine disks: Per-disk limits
Premium storage disk type | P10 | P20 | P30 | P40 | P50 |
---|---|---|---|---|---|
Disk size | 128 GiB | 512 GiB | 1,024 GiB (1 TB) | 2,048 GiB (2 TB) | 4,095 GiB (4 TB) |
Maximum IOPS per disk | 500 | 2,300 | 5,000 | 7,500 | 7,500 |
Maximum throughput per disk | 100 MB/sec | 150 MB/sec | 200 MB/sec | 250 MB/sec | 250 MB/sec |
Maximum number of disks per storage account | 280 | 70 | 35 | 17 | 8 |
StorSimple System limits
Limit identifier | Limit | Comments |
---|---|---|
Maximum number of storage account credentials | 64 | |
Maximum number of volume containers | 64 | |
Maximum number of volumes | 255 | |
Maximum number of schedules per bandwidth template | 168 | A schedule for every hour, every day of the week (24*7). |
Maximum size of a volume | 64 TB | |
Maximum number of iSCSI connections | 512 | |
Maximum number of iSCSI connections from initiators | 512 | |
Maximum number of access control records per device | 64 | |
Maximum number of volumes per backup policy | 24 | |
Maximum number of backups retained per backup policy | 64 | |
Maximum number of schedules per backup policy | 10 | |
Maximum number of snapshots of any type that can be retained per volume | 256 | This includes local snapshots and cloud snapshots. |
Maximum number of snapshots that can be present in any device | 10,000 | |
Maximum number of volumes that can be processed in parallel for backup, restore, or clone | 16 |
|
Restore and clone recover time | < 2 minutes |
|
Thin-restore availability | Last failover | |
Maximum client read/write throughput (when served from the SSD tier)* | 920/720 MB/s with a single 10GbE network interface | Up to 2x with MPIO and two network interfaces. |
Maximum client read/write throughput (when served from the HDD tier)* | 120/250 MB/s | |
Maximum client read/write throughput (when served from the cloud tier)* | 11/41 MB/s | Read throughput depends on clients generating and maintaining sufficient I/O queue depth. |
* Maximum throughput per I/O type was measured with 100 percent read and 100 percent write scenarios. Actual throughput may be lower and depends on I/O mix and network conditions.
Stream Analytics limits
Limit identifier | Limit | Comments |
---|---|---|
Maximum number of Streaming Units per subscription per region | 200 | A request to increase streaming units for your subscription beyond 200 can be made by contacting Microsoft Support. |
Maximum number of inputs per job | 60 | There is a hard limit of 60 inputs per Stream Analytics job. |
Maximum number of outputs per job | 60 | There is a hard limit of 60 outputs per Stream Analytics job. |
Maximum number of functions per job | 60 | There is a hard limit of 60 functions per Stream Analytics job. |
Maximum number of Streaming Units per job | 120 | There is a hard limit of 120 Streaming Units per Stream Analytics job. |
Maximum number of jobs per region | 1500 | Each subscription may have up to 1500 jobs per geographical region. |
Reference data blob MB | 100 | Reference data blobs cannot be larger than 100 MB each. |
Virtual Machines limits
Virtual Machines limits
Resource | Limit |
---|---|
Virtual machines per cloud service 1 | 50 |
Input endpoints per cloud service 2 | 150 |
1 Virtual machines created by using the classic deployment model instead of Azure Resource Manager are automatically stored in a cloud service. You can add more virtual machines to that cloud service for load balancing and availability.
2 Input endpoints allow communications to a virtual machine from outside the virtual machine's cloud service. Virtual machines in the same cloud service or virtual network can automatically communicate with each other.
Virtual Machines limits - Azure Resource Manager
The following limits apply when you use Azure Resource Manager and Azure resource groups.
Resource | Limit |
---|---|
VMs per subscription | 25,0001 per region. |
VM total cores per subscription | 201 per region. Contact support to increase limit. |
VM per series, such as Dv2 and F, cores per subscription | 201 per region. Contact support to increase limit. |
Availability sets per subscription | 2,500 per region. |
Virtual machines per availability set | 200 |
Proximity placement groups per resource group | 800 |
Certificates per availability set | 1992 |
Certificates per subscription | Unlimited3 |
1 Default limits vary by offer category type, such as Trial and Standard Pay-in-Advance Offer, and by series, such as Dv2, and F. For example, the default for Enterprise Agreement subscriptions is 350. For security, subscriptions default to 20 cores to prevent large core deployments. If you need more cores, submit a support ticket.
2 Properties such as SSH public keys are also pushed as certificates and count towards this limit. To bypass this limit, use the Azure Key Vault extension for Windows or the Azure Key Vault extension for Linux to install certificates.
3 With Azure Resource Manager, certificates are stored in the Azure Key Vault. The number of certificates is unlimited for a subscription. There's a 1-MB limit of certificates per deployment, which consists of either a single VM or an availability set.
Note
Virtual machine cores have a regional total limit. They also have a limit for regional per-size series, such as Dv2 and F. These limits are separately enforced. For example, consider a subscription with a China East total VM core limit of 30, an A series core limit of 30, and a D series core limit of 30. This subscription can deploy 30 A1 VMs, or 30 D1 VMs, or a combination of the two not to exceed a total of 30 cores. An example of a combination is 10 A1 VMs and 20 D1 VMs.
Compute Gallery limits
There are limits, per subscription, for deploying resources using Compute Galleries:
- 100 compute galleries, per subscription, per region
- 1,000 image definitions, per subscription, per region
- 10,000 image versions, per subscription, per region
Managed Run Command limit
The maximum number of allowed Managed Run Commands is currently limited to 25.
Virtual Machine Scale Sets limits
Resource | Limit |
---|---|
Maximum number of VMs in a scale set | 1,000 |
Maximum number of VMs based on a custom VM image in a scale set | 600 |
Maximum number of scale sets per subscription per region | 2,500 |
Maximum number of nodes supported in VMSS for IB cluster | 100 |