Allocation quotas


This document lists the allocation quotas that apply to Compute Engine.

Allocation quotas

Allocation quotas, also known as resource quotas, define the number of resources that your project has access to. Compute Engine enforces allocation quotas on resource usage for various reasons. For example, quotas help to protect the community of Google Cloud users by preventing unforeseen spikes in usage. Google Cloud also offers free trial quotas that provide limited access for projects to help you explore Google Cloud on a free trial basis.

Not all projects have the same quotas. As you increasingly use Google Cloud over time, your quotas might increase accordingly. If you expect a notable upcoming increase in usage, you can proactively request quota adjustments from the Quotas page in the Google Cloud console.

For information specific to quotas for rate limits for the Compute Engine API, see API quota.

Quotas and resource availability

Allocation quotas are the maximum number of resources you can create of that resource type, if those resources are available. Quotas don't guarantee that resources are always available. If a resource is not available, or if the region you choose is out of the resource, you can't create new resources of that type, even if you have remaining quota in your region or project. For example, you might still have quota to create external IP addresses in us-central1, but there might not be available IP addresses in that region.

Similarly, even if you have a regional quota, a resource might not be available in a specific zone. For example, you might have quota to create VM instances in region us-central1, but you might not be able to create VM instances in the zone us-central1-a if the zone is depleted. In such cases, try creating the same resource in another zone, such as us-central1-f. To learn more about your options if zonal resources are depleted, see the documentation for troubleshooting resource availability.

Allocation quotas

When planning your VM instance needs, you should consider several quotas that affect how many VM instances you can create.

Regional and global quotas

VM quotas are managed at the regional level. VM instance, instance group, disk quotas, and CPU can be consumed by any VM in the region, regardless of zone. For example, CPU quota is a regional quota, so there is a different limit and usage count for each region. To launch an n2-standard-16 instance in any zone in the us-central1 region, you need enough quota for at least 16 CPUs in us-central1.

Networking and load balancing quotas are required to create firewalls, load balancers, networks, and VPNs. These quotas are global quotas that don't depend on a region. Any region can use a global quota. For example, in-use and static external IP addresses assigned to load balancers and HTTP and HTTPS proxies consume global quotas.

VM instances

The VM instances quota is a regional quota and limits the number of VM instances that can exist in a given region, regardless of whether the VM is running. This quota is visible in the Google Cloud console on the Quotas page. Compute Engine automatically sets this quota to be 10 times your regular CPU quota. You don't need to request this quota. If you need quota for more VM instances, request more CPUs because having more CPUs increases VM instance quota. The quota applies to both running and non-running VMs, and to normal and preemptible instances.

  1. In the Google Cloud console, go to the Quotas page.

    Go to Quotas

  2. In the Filter list, select the following options:

    • For Service, select Compute Engine API.
    • For Type, select Quota.
    • For Name, select VM instances.
    • Optional: For Metric, select any other CPU or Committed CPU quota name that you want to filter.
  3. Optional: To sort the table by region, click the Dimensions (e.g. location) column.

  4. Select the regions whose quota you want to change.

  5. Click Edit.

  6. Complete the form.

  7. Click Submit Request.

Instance groups

To use instance groups, you must have available quota for all the resources that the group uses (for example, CPU quota) and available quota for the group resource itself. Depending on the type of group that you create, the following group resource usage quotas apply:

Service type Service quota
Regional (multi-zone) managed instance group Regional instance group managers
Zonal (single-zone) managed instance group Both of:
  • Instance group managers
  • Instance groups
Unmanaged (single-zone) instance group Instance groups
Regional (multi-zone) autoscaler Regional autoscalers
Zonal (single-zone) autoscaler Autoscalers

Disk quotas

The following Persistent Disk, Hyperdisk, and Local SSD quotas apply on a per-region basis:

  • Hyperdisk Balanced Capacity (GB). This quota is the total combined size of Hyperdisk Balanced disks that you can create in a region. In the gcloud CLI and the API, this quota is referred to as HDB-TOTAL-GB.
  • Hyperdisk Balanced Throughput (MB/s). This quota is the total amount of throughput that you can provision for all Hyperdisk Balanced disks in a zone. In the gcloud CLI and the API, this quota is referred to as HDB-TOTAL-THROUGHPUT.
  • Hyperdisk Balanced IOPS. This quota is the total amount of IOPS that you can provision for all Hyperdisk Balanced disks in a zone. In the gcloud CLI and the API, this quota is referred to as HDB-TOTAL-IOPS.
  • Hyperdisk ML Capacity (GB). This quota is the total combined size of Hyperdisk ML disks that you can create in a region. In the gcloud CLI and the API, this quota is referred to as HDML-TOTAL-GB.
  • Hyperdisk ML Throughput (MB/s). This quota is the total amount of throughput that you can provision for all Hyperdisk ML disks in a region. In the gcloud CLI and the API, this quota is referred to as HDML-TOTAL-THROUGHPUT.
  • Persistent disk standard (GB). This quota is the total size of Standard Persistent Disks that can be created in a region. In the gcloud CLI and the API, this quota is referred to as DISKS_TOTAL_GB. This quota also applies to:
    • Regional Standard Persistent Disks, but Regional Persistent Disks consume twice the amount of quota per GiB due to replication in two zones within a region.
    • When you choose to preserve Local SSD data when you stop or suspend a VM, an equivalent amount of Standard Persistent Disk quota is consumed.
  • Persistent disk SSD (GB). This quota is the total combined size of SSD-backed Persistent Disk volumes that can be created in a region. In the gcloud CLI and the API, this quota is referred to as SSD_TOTAL_GB. This quota is separate from quota for Local SSD disks. This quota applies to the following disk types:

    • Zonal and Regional SSD Persistent Disk
    • Zonal and Regional Balanced Persistent Disk

    Regional Persistent Disks consume twice the amount of quota per GiB due to replication in two zones within a region.

  • Persistent Disk IOPS. This quota is the total number of I/O operations per second for Extreme Persistent Disk volumes that can be created in a region. In the gcloud CLI and the API, this quota is referred to as PD-EXTREME-TOTAL-PROVISIONED-IOPS. This quota is separate from the IOPS quota for Google Cloud Hyperdisk.

  • Local SSD per machine family (GB). This quota is the total combined size of Local SSD disks you can attach to VMs in a region based on the machine type of each VM. Local SSD is a fast, ephemeral disk that should be used for scratch, local cache, or processing jobs with high fault tolerance because the disk is not intended to survive VM instance reboots.

    Local SSD disks are sold in increments of 375 GiB or 3 TiB, depending on the machine type. There is also a maximum number of Local SSD disks that can be attached to a single VM, depending on the machine type. The maximum number of Local SSD disks, and the size of each Local SSD disk create a limit on the total amount of Local SSD disk capacity you can allocate for a VM. In the gcloud CLI and the API, this limit is referred to as the LOCAL_SSD_TOTAL_GB_PER_VM_FAMILY quota.

    For A3 and A2 ultra VMs, you don't need to request this quota as Local SSDs are automatically added to these VMs. However, you would need to request LOCAL_SSD_TOTAL_GB_PER_VM_FAMILY for the other accelerator-optimized VMs.

Storage pool quotas

For capacity, Hyperdisk Storage Pools with Advanced capacity provisioning have the following quotas, measured in GB (or 1,000 MB):

  • Hyperdisk Balanced Storage Pools Advanced Capacity (GB): The total amount of disk space that you can reserve per region in a Hyperdisk Balanced Storage Pool with Advanced capacity provisioning.

    • gcloud CLI and the API: HDB-STORAGE-POOL-TOTAL-ADVANCED-CAPACITY
    • Metric: compute.googleapis.com/hyperdisk_balanced_storage_pools_advanced_capacity
  • Hyperdisk Throughput Storage Pools Advanced Capacity (GB): The total amount of disk space you can reserve per region in a Hyperdisk Throughput Storage Pool with Advanced capacity provisioning.

    • gcloud CLI and the API: HDT-STORAGE-POOL-TOTAL-ADVANCED-CAPACITY
    • Metric: compute.googleapis.com/hyperdisk_throughput_storage_pools_advanced_capacity

For performance, Hyperdisk Storage Pools with Advanced performance provisioning have the following quotas:

  • Hyperdisk Balanced Storage Pools Advanced IOPS: The total IOPS that you can reserve in a Hyperdisk Balanced Storage Pool with Advanced performance provisioning for a region.

    • gcloud CLI and the API: HDB-STORAGE-POOL-TOTAL-ADVANCED-IOPS
    • Metric: compute.googleapis.com/hyperdisk_balanced_storage_pools_advanced_iops
  • Hyperdisk Balanced Storage Pools Advanced Throughput (MB/s): The total throughput that you can reserve in a Hyperdisk Balanced Storage Pool with Advanced performance provisioning for a region.

    • gcloud CLI and the API: HDB-STORAGE-POOL-TOTAL-ADVANCED-THROUGHPUT
    • Metric: compute.googleapis.com/hyperdisk_balanced_storage_pools_advanced_throughput
  • Hyperdisk Throughput Storage Pools Advanced Throughput (MB/s): The total throughput that you can reserve in a Hyperdisk Throughput Storage Pool with Advanced performance provisioning for a region.

    • gcloud CLI and the API: HDT-STORAGE-POOL-TOTAL-ADVANCED-THROUGHPUT
    • Metric: compute.googleapis.com/hyperdisk_throughput_storage_pools_advanced_throughput

CPU quota limits

CPU quota is the total number of virtual CPUs across all of your VM instances in a region. CPU quotas apply to running VMs and VM reservations. Both predefined and preemptible VMs consume this quota.

To help protect Compute Engine systems and other users, some new accounts and projects also have a global CPUs (All Regions) quota. That quota applies to all regions and is measured as a sum of all your vCPUs in all regions.

For example, if you have 48 vCPUs remaining in a single region such as us-central1 but only 32 vCPUs remaining for the CPUs (All Regions) quota, you can launch only 32 vCPUs in the us-central1 region, even though there is remaining quota in the region. This is because you reach the CPU (All Regions) quota and need to delete existing instances before you can launch new instances.

E2 and N1 machine types share a CPU quota pool. Unless otherwise noted, all other machine types have unique, separate CPU quota pools.

If you are using committed use discounts for your VMs, you must have committed use discount quota before you purchase a committed use discount contract.

Machine type Quota pool CPU quota name Committed CPU quota name
N1 shared pool CPUS Committed_CPUS
E2 shared pool CPUS Committed_CPUS
N2 separate pool N2_CPUS Committed_N2_CPUS
N4 separate pool CPUS_PER_VM_FAMILY Committed_N4_CPUS
N2D separate pool N2D_CPUS Committed_N2D_CPUS
T2D separate pool T2D_CPUS Committed_T2D_CPUS
T2A separate pool T2A_CPUS Not available (N/A) for T2A
Z3 separate pool CPUS_PER_VM_FAMILY Committed_Z3_CPUS
M1 separate pool M1_CPUS Committed_MEMORY-OPTIMIZED_CPUS
M2 separate pool M2_CPUS Committed_MEMORY-OPTIMIZED_CPUS
M3 separate pool M3_CPUS Committed_M3_CPUS
X4 separate pool CPUS_PER_VM_FAMILY Committed_X4_CPUS
H3 separate pool CPUS_PER_VM_FAMILY Committed_H3_CPUS
C2 separate pool C2_CPUS Committed_C2_CPUS
C2D separate pool C2D_CPUS Committed_C2D_CPUS
C3 separate pool C3_CPUS Committed_C3_CPUS
C3D separate pool CPUS_PER_VM_FAMILY Committed_C3D_CPUS
C4 separate pool CPUS_PER_VM_FAMILY Committed_C4_CPUS
C4A separate pool CPUS_PER_VM_FAMILY Committed_C4A_CPUS
A2* separate pool A2_CPUS Committed_A2_CPUS
A3 Not applicable (N/A) for A3 Not applicable (N/A) for A3 Not applicable (N/A) for A3
G2 Not applicable (N/A) for G2 Not applicable (N/A) for G2 Not applicable (N/A) for G2
Preemptible VMs shared pool PREEMPTIBLE_CPUS Not available (N/A) for preemptible VMs

*For A2 VMs, you don't need to request CPU quotas. If you have the required NVIDIA A100 GPU quotas, that is all that is needed to create these VMs.

For A3 and G2 VMs, CPU quotas aren't applicable. If you have the required NVIDIA H100 and L4 GPU quotas respectively, that is all that is needed to create these VMs.

GPU quota

Similar to virtual CPU quota, GPU quota refers to the total number of virtual GPUs in all VM instances in a region. GPU quotas apply to running VMs and VM reservations. Both predefined and preemptible VMs consume this quota.

Check the Quotas page to ensure that you have enough GPUs available in your project, and to request a quota increase. In addition, new accounts and projects have a global GPU quota that applies to all regions.

When you request a GPU quota, you must request a quota for the GPU models that you want to create in each region, and an additional global quota (GPUs (all regions)) for the total number of GPUs of all types in all regions. Request preemptible GPU quota to use those resources.

Machine type GPU type GPU quota name GPU family Committed GPU quota name Virtual workstation Preemptible GPUs Preemptible GPU virtual workstation
A3 Mega H100 80GB GPUS_PER_GPU_FAMILY NVIDIA_H100_MEGA COMMITTED_NVIDIA_H100_MEGA_GPUS N/A PREEMPTIBLE_NVIDIA_H100_MEGA_GPUS N/A
A3 Edge and A3 High H100 80GB GPUS_PER_GPU_FAMILY NVIDIA_H100 COMMITTED_NVIDIA_H100_GPUS N/A PREEMPTIBLE_NVIDIA_H100_GPUS N/A
A2 Ultra A100 80GB NVIDIA_A100_80GB_GPUS N/A COMMITTED_NVIDIA_A100_80GB_GPUS N/A PREEMPTIBLE_NVIDIA_A100_80GB_GPUS N/A
A2 Standard A100 40GB NVIDIA_A100_GPUS N/A COMMITTED_NVIDIA_A100_GPUS N/A PREEMPTIBLE_NVIDIA_A100_GPUS N/A
G2 L4 NVIDIA_L4_GPUS N/A COMMITTED_NVIDIA_L4_GPUS NVIDIA_L4_VWS_GPUS PREEMPTIBLE_NVIDIA_L4_GPUS PREEMPTIBLE_NVIDIA_L4_VWS_GPUS
N1 T4 NVIDIA_T4_GPUS N/A COMMITTED_NVIDIA_T4_GPUS NVIDIA_T4_VWS_GPUS PREEMPTIBLE_NVIDIA_T4_GPUS PREEMPTIBLE_NVIDIA_T4_VWS_GPUS
V100 NVIDIA_V100_GPUS N/A COMMITTED_NVIDIA_V100_GPUS N/A PREEMPTIBLE_NVIDIA_V100_GPUS N/A
P100 NVIDIA_P100_GPUS N/A COMMITTED_NVIDIA_P100_GPUS NVIDIA_P100_VWS_GPUS PREEMPTIBLE_NVIDIA_P100_GPUS PREEMPTIBLE_NVIDIA_P100_VWS_GPUS
P4 NVIDIA_P4_GPUS N/A COMMITTED_NVIDIA_P4_GPUS NVIDIA_P4_VWS_GPUS PREEMPTIBLE_NVIDIA_P4_GPUS PREEMPTIBLE_NVIDIA_P4_VWS_GPUS

Preemptible quotas

You can request preemptible quotas for Preemptible CPUs, Preemptible GPUs, and Preemptible Local SSDs (GB). These preemptible quotas apply to the CPUs, GPUs, and local SSDs of the following VMs:

If your project does not have preemptible quota, and you have never requested preemptible quota, these resources consume standard quota. However, after you request preemptible quota in your project, the applicable resources can only consume preemptible quota and can't revert to consuming standard quotas.

Requesting preemptible quotas can help you improve quota obtainability by providing separate quotas for temporary resources. After Compute Engine grants you preemptible quota in a region, all applicable resources automatically consume preemptible quota. If this quota is depleted, you must request preemptible quota for those resources.

External IP addresses

You must have enough external IP addresses for every VM that needs to be directly reachable from the public internet. Regional IP quota is for assigning IPv4 addresses to VMs in that region. Global IP quota is for assigning IPv4 addresses to global networking resources such as load balancers. Google Cloud offers different types of IP addresses, depending on your needs. For information about costs, refer to External IP address pricing. For information about quota specifics, see Quotas and limits.

  • In-use external IP addresses. Includes both ephemeral and static IP addresses that are being used by a resource.

  • Static External IP addresses: External IP addresses reserved for your resources that persist through machine restarts. You can register these addresses with DNS and domain provider services to provide a user-friendly address. For example, www.example-site.com.

  • Static Internal IP addresses: Static internal IP addresses let you reserve internal IP addresses from the internal IP range configured in the subnet. You can assign those reserved internal addresses to resources as needed.

Quota rollouts

Occasionally, Google Cloud changes the default quota for resources and APIs. These changes take place gradually. During the rollout of a new default quota, the maximum quota that appears in the Google Cloud console might not reflect the actual maximum quota that is available to you.

For example, suppose that Google Cloud changes the default maximum quota for firewall rules from 200 to 300, and you use the Google Cloud console to view your quota, you might see the new quota of 300, even though your actual quota is 200 until the rollout completes.

For information about ongoing quota rollouts, see known issues. If no issues are described, no quota rollouts are ongoing.

If a quota rollout is ongoing and you want to confirm the actual maximum quota that is available to you, use the Google Cloud CLI to check your quota. If you need more quota than you have access to, submit a quota increase request.

What's next