Resource Quotas

Compute Engine enforces quotas on resource usage for a variety of reasons. For example, quotas protect the community of Google Cloud Platform users by preventing unforeseen spikes in usage. Google Cloud Platform also offers Free trial quotas that provides limited access for projects that are just exploring Google Cloud Platform on a free trial basis.

Not all projects have the same quotas. As your use of Google Cloud Platform expands over time, your quotas may increase accordingly. If you expect a notable upcoming increase in usage, you can proactively request quota adjustments from the Quotas page in the Cloud Platform Console:

  1. In the Quotas page, select the quotas you want to change.
  2. Click the Edit Quotas button on the top of the page.
  3. Fill out your name, email, and phone number and hit Next.
  4. Fill in your quota request and hit Next.
  5. Submit your request.

Checking your quota

To check the available quota for resources in your project, go to the Quotas page in the Google Cloud Platform Console.

If you are using the gcloud command-line tool, run the following command to check your quotas. Replace myproject with your own project ID:

gcloud compute project-info describe --project myproject

To check your used quota in a region, run:

gcloud compute regions describe example-region

Permission for requesting quota

In order to request additional quotas, you must have serviceusage.quotas.update permission. This permission is included by default for the following predefined roles: Owner, Editor, and Quota Administrator.

Requesting additional quota

Request additional quota from the Quotas page in the Cloud Platform Console.

Go to the Quotas page

You will receive a response from the Compute Engine team within 24 to 48 hours of your request.

We strongly recommend planning and requesting additional resources at least a few days in advance to ensure that there is enough time to fulfill your request.

Understanding VM, CPU, and IP addresses quota

When planning your virtual machine (VM) instance needs, there are a number of quotas to consider 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, CPU, and Disk quotas 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 n1-standard-16 instance in any zone in the us-central1 region, you will 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 are global quotas that do not 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(S) proxies consume global quotas.

CPUs

CPU quota refers to the total number of virtual CPUs across all running VM instances in a region. CPU quota apply only to running instances. Both normal and preemptible instances consume this quota.

To protect Compute Engine systems and other users, some new accounts and projects will also have a global CPUs (All Regions) quota that applies to all regions and is measured as a sum of running 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 will reach the CPU (All Regions) quota and need to delete existing instances to be able to launch new instances.

CPUs for preemptible VMs

To launch preemptible VM instances, there must be available CPU quota. To avoid preemptible instances consuming all of the CPU quota for your regular instances, you can request a special Preemptible CPU quota. However, if you do not have preemptible CPU quota, you can still use regular CPU quota to launch preemptible instances.

After Compute Engine grants you preemptible CPU quota in a region, all preemptible instances will count against preemptible CPU quota automatically. Normal instances will continue to count against regular CPU quota.

GPUs

Similar to virtual CPU quota, GPU quota refers to the total number of virtual GPUs in all VM instances in a region. Check the quotas page to ensure that you have enough GPUs available in your project and request a quota increase. Free Trial accounts do not receive GPU quota by default.

VM instances

The VM instances quota is also a regional quota and limits the number of VM instances that can exist in a given region, regardless of whether the VM is running or not. This quota is visible in the Google Cloud Platform Console but does not need to be requested and is set automatically by Compute Engine to be 10x you regular CPU quota. This quota applies to both running and non-running VMs, and to normal and preemptible instances.

Disk quotas

For disk quotas, there are three quotas to consider. All of these quotas apply on a per-region basis:

  • Local SSD (GB) - This is the total combined size of local SSD disk partitions that can be attached to VMs in a region. Local SSD is a fast, ephemeral disk that should be used for scratch, local cache, or processing jobs with high fault tolerance, as the disk is not intended to survive VM instance reboots. Local SSD partitions are sold in increments of 375 GB and up to eight local SSD partitions can be attached to a single VM. In the gcloud tool and the API, this is referred to as LOCAL_SSD_TOTAL_GB.

  • Preemptible Local SSD (GB) - To use local SSDs with preemptible VM instances, there must be available local SSD quota. You may request a special Preemptible Local SSD (GB) quota. However, if you do not have Preemptible Local SSD quota, you can still use regular local SSD quota (Local SSD (GB)) to create preemptible instances with Local SSDs. After Compute Engine grants you Preemptible Local SSD quota in a region, all local SSDs created with preemptible instances will automatically start counting against the Preemptible Local SSD quota. Local SSDs launched with normal instances will continue to count against regular local SSD quota. In the gcloud tool and the API, this is referred to as PREEMPTIBLE_LOCAL_SSD_GB.

  • Persistent Disk Standard (GB) - This is the total size of standard persistent disks that can be created in a region. Standard persistent disks have multiple replicas but as described in Optimizing Persistent Disk and Local SSD Performance, standard persistent disk offers lower IOPS and throughput than SSD persistent disks or local SSD. It is cost effective as large durable disks for storage, as boot disks, and for serial write processes like logs. Standard persistent disks are durable and are available indefinitely to attach to an VM within the same zone. In the gcloud tool and the API, this is referred to as DISKS_TOTAL_GB.

  • Persistent Disk SSD (GB) - This is the total combined size of SSD persistent disks partitions which can be created in a region. SSD persistent disks have multiple replicas and, as described in Optimizing Persistent Disk and Local SSD Performance, offers higher IOPS and throughput than standard persistent disks. SSD persistent disks are cost effective for durable storage with high I/O requirements. SSD persistent disks are available indefinitely to attach to a VM within the same zone. In the gcloud tool and the API, this is referred to as SSD_TOTAL_GB. Please note that this quota is separate from Local SSD.

IP addresses

You will need to have enough IP addresses for every VM that needs to be reachable from the public Internet. Regional IP quota is for assigning IPv4 addresses to VMs in that region, if desired, and Global IP quota is for assigning IPv4 addresses to global networking resources such as firewalls, HTTP proxies and load balancers. There are a few types of IP addresses to consider, depending on your needs.

  • In-use IP address: Includes both ephemeral and static IP addresses that are currently being used by a resource. In-use IP addresses do not incur charges but static unused IP address do incur charges.
  • Static IP addresses: External IP addresses reserved for your resources that persists 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.

Resource depletion

Resource quotas are the maximum amount of resources you can create for that resource type if those resources are available. Quotas do not guarantee that resources will be available at all times. If a resource is not available, you will not be able to create new resources of that type, even if you still have remaining quota in your region or project. This is particularly relevant for regional quotas; if a particular region is out of a resource, you will not be able to create a resource of that type in that region, even if you still have quota. For example, you might still have quota to create new external IP addresses in a specific region, but there might not be available IP addresses.

Similarly, even if you have a regional quota, it is possible that a resource might be depleted in a specific zone. For example, you might have quota in region us-central1 to create VM instances but might not be able to create VM instances in the zone us-central1-a because the zone is depleted. In causes, try creating the same resource in another zone, such as us-central1-f.

Monitor your resources on the go

Get the Google Cloud Console app to help you manage your projects.

Send feedback about...

Compute Engine Documentation