Quotas and limits

This document lists the quotas and limits that apply to Cloud Router.

To change a quota, see requesting additional quota.

A quota restricts how much of a particular shared Google Cloud resource your Cloud project can use, including hardware, software, and network components.

Quotas are part of a system that does the following:

  • Monitors your use or consumption of Google Cloud products and services.
  • Restricts your consumption of those resources for reasons including ensuring fairness and reducing spikes in usage.
  • Maintains configurations that automatically enforce prescribed restrictions.
  • Provides a means to make or request changes to the quota.

When a quota is exceeded, in most cases, the system immediately blocks access to the relevant Google resource, and the task that you're trying to perform fails. In most cases, quotas apply to each Cloud project and are shared across all applications and IP addresses that use that Cloud project.

Many products and services also have limits that are unrelated to the quota system. These are constraints, such as maximum file sizes or database schema limitations, which generally cannot be increased or decreased, unless otherwise stated.

Quotas

This table covers important quotas per project. For other quotas, see the Cloud Console Quotas page.

Item Quota Notes
Cloud Routers per project Quota Regardless of quota, each network is limited to five Cloud Routers per region. See Limits.

Limits

The following limits for Cloud Router apply to Virtual Private Cloud (VPC) networks. Unless otherwise stated, these limits cannot be increased.

Item Limit Notes
Maximum number of Cloud Routers per combination of VPC network and region 5 If you have sufficient project quota, you can create up to five Cloud Routers in a given VPC network and region.
Maximum number of BGP peers for each Cloud Router in a given VPC network and region 128 The BGP peer can be a Cloud VPN tunnel using dynamic routing or a VLAN attachment for Dedicated Interconnect or Partner Interconnect.
For a given Cloud Router, maximum number of subnet route advertisements per BGP session No restriction Cloud Routers do not have a limit for the number of subnet routes they can advertise. The number of subnet routes are determined by the number of subnets, which are controlled by VPC network quotas and limits.
For a given Cloud Router, maximum number of custom route advertisements per BGP session 200 If the custom route advertisements are identical for all BGP sessions on a Cloud Router, this limit represents the total number of unique custom route advertisements for the Cloud Router. In this case, each session receives the same set of custom route advertisements.
Maximum number of assured unique destinations for learned routes that can be applied to subnets in a given region by all Cloud Routers in the same region 100

For both limits on the maximum assured number of unique destinations for learned routes:

Routes are grouped by unique destinations. Routes with identical destinations but different next hops only count as a single destination. Routes with identical destinations and identical next hops also only count as a single destination.

For networks in global dynamic routing mode, it is possible to reach one of the maximum number of unique destination limits without reaching the other. When either of the limits has been reached, you can experience intermittent connectivity issues when the routes are dropped. For details, see the learned route example.

For more information about these limits, including metrics that you can use to understand your current limits and usage, see Check quotas and limits in Troubleshooting.

If you need to increase either of these limits, contact your Google Cloud sales team.

Only applicable to VPC networks in global dynamic routing mode:

Maximum number of assured unique destinations for learned routes that can be applied to subnets in a given region by Cloud Routers from different regions

100

Learned route example

The following examples illustrate the route dropping behavior that you can encounter when the regional or global limit is exceeded.

Suppose you have Cloud Routers in the us-east1 region and Cloud Routers in the us-west1 region in the same VPC network, and global dynamic routing is enabled. The Cloud Routers in each region learn a set of routes for 100 unique destinations. For the purpose of this example, the Cloud Routers in each region don’t learn any of the same destinations.

Regardless of which Cloud Routers learn the routes within each region, each region’s regional limit is exhausted because 100 of 100 unique destinations are learned by the Cloud Routers in each region. The global limits for both regions are exhausted because the Cloud Routers in each region import 100 unique destinations from the Cloud Routers in the other region. If the example VPC network used regional dynamic routing, the global limits in each region would not apply because the regional dynamic routing mode does not propagate learned custom dynamic routes from one region to another.

Exceeding a region’s regional limit

Suppose your on-premises router that's connected to a Cloud Router in us-west1 advertises a new route with a 101 destination. Cloud Routers in the us-west1 region pick the routes for 100 of the 101 unique destinations following a deterministic order. The routes that use these selected (100 unique) destinations are made available to resources in the us-west1 region. Those same routes are made available to other regions, subject to each other region’s global limit.

Exceeding a region’s global limit

When 101 unique destinations are learned by Cloud Routers in the us-west1 region, routes for 100 of those 101 unique destinations from us-west1 are made available to resources in the us-east1 region, because the us-east1 region’s global limit can only accept 100 unique destinations.

Suppose that you create a Cloud Router in a third region, us-central1, in the same VPC network. Suppose that the new Cloud Router learns 10 unique destinations from its BGP peer. Although the us-central1 region’s regional destination limit has not been exceeded, the us-central1 region’s global unique destination limit has been exceeded because a total of 200 unique destinations are provided by the other two regions (100 from us-east1 and a different 100 from us-west1). In each region, the deterministic route order selects routes for no more than 100 unique destinations from other regions, as indicated in the following table.

Region Unique destinations local to the region
(usage of region’s regional limit)
Unique destinations from other regions
(usage of region’s global limit)
us-west1 101 received. 100 of the 101 are considered according to the deterministic route dropping. Only the 100 selected prefixes are advertised to remote regions. 110 received (100 from us-east1, 10 from us-central1). 100 of these 110 are considered according to the deterministic route dropping.
us-east1 100 received. All 100 are considered and advertised to remote regions. 110 received (100 from us-west1, 10 from us-central1). 100 of these 110 are considered according to the deterministic route dropping.
us-central1 10 received. All 10 are considered. 200 received (100 from us-west1, 100 from us-east1). 100 of these 200 are considered according to the deterministic route dropping.

Although the us-central1 region’s global limit is exceeded, its regional quota can accept routes whose next hops are in the us-central1 region.

Deterministic route dropping behavior

Cloud Router implements a deterministic route dropping behavior so that, as long as the same prefixes are received in each region, a consistent set of routes are made available to resources within that region. This consistency is preserved when Cloud Router tasks restart. If a limit is exceeded, Cloud Router drops prefixes according to a predictable algorithm regardless of when the routes were learned or the MED values of these routes. A new route can cause a previously learned route to be dropped by the algorithm.

As shown in exceeding a region’s global limit, the deterministic dropping behavior is applied independently to each region’s regional limit and each region’s global limit. The set of 100 unique prefixes that are not dropped in each region due to reaching each region’s global limit (the last column) is not guaranteed to be the same.

Avoiding route dropping

During route dropping, you lose connectivity for the prefixes that are dropped. To avoid route dropping, monitor each region’s regional and global prefix usage by using Cloud Monitoring or Cloud Logging, and make sure not to advertise more unique destinations than each limit.

Consider aggregating prefixes (for example, by aggregating prefixes into a prefix of smaller length) to reduce the number of unique destinations. If aggregating prefixes isn’t possible, contact your Google Cloud Sales team to discuss alternative options.

Managing quotas

Cloud Router enforces quotas on resource usage for various reasons. For example, quotas protect the community of Google Cloud users by preventing unforeseen spikes in usage. Quotas also help users who are exploring Google Cloud with the free tier to stay within their trial.

All projects start with the same quotas, which you can change by requesting additional quota. Some quotas may increase automatically based on your use of a product.

Permissions

To view quotas or request quota increases, Identity and Access Management (IAM) principals need one of the following roles.

Task Required role
Check quotas for a project One of the following:
Modify quotas, request additional quota One of the following:

Checking your quota

Console

  1. In the Cloud Console, go to the Quotas page.

    Go to Quotas

  2. To search for the quota that you want to update, use the Filter table. If you don't know the name of the quota, use the links on this page instead.

gcloud

Using the gcloud command-line tool, run the following command to check your quotas. Replace PROJECT_ID with your own project ID.

      gcloud compute project-info describe --project PROJECT_ID
    

To check your used quota in a region, run the following command:

      gcloud compute regions describe example-region
    

Errors when exceeding your quota

If you exceed a quota with a gcloud command, gcloud outputs a quota exceeded error message and returns with the exit code 1.

If you exceed a quota with an API request, Google Cloud returns the following HTTP status code: HTTP 413 Request Entity Too Large.

Requesting additional quota

To increase or decrease most quotas, use the Google Cloud Console. Some quotas can't be increased above their default values.

For more information, see the following sections of Working with quotas:

Console

  1. In the Cloud Console, go to the Quotas page.

    Go to Quotas

  2. On the Quotas page, select the quotas that you want to change.
  3. At the top of the page, click Edit quotas.
  4. Fill out your name, email, and phone number, and then click Next.
  5. Fill in your quota request, and then click Done.
  6. Submit your request. Quota requests take 24 to 48 hours to process.

Resource availability

Each quota represents a maximum number for a particular type of resource that you can create, if that resource is available. It's important to note that quotas do not guarantee resource availability. Even if you have available quota, you can't create a new resource if it is not available.

For example, you might have sufficient quota to create a new regional, external IP address in the us-central1 region. However, that is not possible if there are no available external IP addresses in that region. Zonal resource availability can also affect your ability to create a new resource.

Situations where resources are unavailable in an entire region are rare. However, resources within a zone can be depleted from time to time, typically without impact to the service level agreement (SLA) for the type of resource. For more information, review the relevant SLA for the resource.