The following sections describe quotas and limits for load balancers. To change a quota, request additional quota by using the Google Cloud Console. Limits generally cannot be increased unless specifically noted.
Quotas and limits
Forwarding rules
Item | Quotas and limits | Notes |
---|---|---|
Forwarding rules per Google Cloud project | Quota | This quota represents the maximum number of forwarding rules in your project. The quota applies collectively to all forwarding rules, no matter how you're using them. This includes forwarding rules for protocol forwarding, Classic VPN gateways, and load balancing schemes (INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, and EXTERNAL). |
Maximum number forwarding rules for: - Internal TCP/UDP Load Balancing - Internal HTTP(S) Load Balancing |
75 per VPC network | For details about how these limits apply, see VPC Network Peering limits. |
Maximum number of internal forwarding rules that can share a single internal IP address | 10 | This limit cannot be increased. |
Ports per internal forwarding rule | 5, as a list or a range Unlimited with the ALL ports option
|
This limit cannot be increased. |
Internal forwarding rules per internal backend service | No separate limit | Subject to other quotas and limits, multiple internal forwarding rules can reference the same internal backend service. |
Target pools and target proxies
Item | Quotas and limits | Notes |
---|---|---|
Target pools | Quota | This quota is per project. |
Target HTTP proxies | Quota | This quota is per project. |
Target HTTPS proxies | Quota | This quota is per project. |
Target SSL proxies | Quota | This quota is per project. |
Target TCP proxies | Quota | This quota is per project. |
SSL policies per target HTTPS or target SSL proxy | 1 | This limit cannot be increased. |
SSL certificates per target HTTPS or target SSL proxy | 15 | This limit cannot be increased. |
SSL certificates
Item | Quotas and limits | Notes |
---|---|---|
SSL certificates | Quota | This quota is per project. |
Supported key lengths for private keys | 2048 bit RSA (RSA-2048) 256 bit ECDSA (ECDSA P-256) |
These limits cannot be increased. |
Multiple domains per Google-managed SSL certificate | 100 | This limit cannot be increased. |
Domain name length for Google-managed certificates | 64 bytes | This limit cannot be increased. This length limit only applies to Google-managed SSL certificates. In those certificates, the 64-byte limit only applies to the first domain in the certificate. The length limit for the other domains in the certificate is 253 (which applies to any domain name on the internet, and isn't specific to Google-managed certificates. |
URL maps
Item | Quotas and limits | Notes |
---|---|---|
URL maps | Quota | This quota is per project. |
Host rules per URL map | 50 | This limit cannot be increased. |
Path matchers per URL map | 50 | This limit cannot be increased. |
Path rules per path matcher | 50 | This limit cannot be increased. |
Route rules per path matcher | 50 | This limit cannot be increased. |
Match rules per route rule | 50 | This limit cannot be increased. |
Header matches per match rule | 50 | This limit cannot be increased. |
Query parameter matches per match rule | 50 | This limit cannot be increased. |
Header actions per path matcher | 50 | This limit cannot be increased. |
Backend services or backend buckets per path rule | 1 backend service or 1 backend bucket, not both | This limit cannot be increased. |
Backend buckets
Item | Quotas and limits | Notes |
---|---|---|
Backend buckets | Quota | This quota is per project. |
Backend services
Item | Quotas and limits | Notes |
---|---|---|
Backend services | Quota | This quota includes all backend services (INTERNAL, INTERNAL_MANAGED, INTERNAL_SELF_MANAGED, and EXTERNAL) in your project. |
Backend services per TCP proxy load balancer, SSL proxy load balancer, or internal TCP/UDP load balancer | 1 | This limit cannot be increased. |
Maximum number of VM instances per internal backend service Maximum number of VM instances in the active pool if you configured failover for an internal backend service |
250, regardless of how the VMs are allocated among instance groups | This limit cannot be increased. |
Internal backend services per internal forwarding rule | 1 | This limit cannot be increased. |
Named ports per external backend service | 1 | This limit cannot be increased. |
Named ports per internal backend service | 0 | This limit cannot be increased. |
Backends
Item | Quotas and limits | Notes |
---|---|---|
Instance groups | Quota | This quota is per project. |
Instance group backends per internal backend service | 50 | This limit cannot be increased. Backend VMs for an internal TCP/UDP load balancer can be distributed among up to 50 instance groups if the total number of backend VMs is 250 or fewer. When using Failover for Internal TCP/UDP Load Balancing, you can configure up to 50 primary and 50 failover backends. |
Instance group backends per external backend service | 50 | This limit cannot be increased. When using Failover for Network Load Balancing, you can configure up to 50 primary and 50 failover backends. |
NEGs per project | Quota | Contact your Google Cloud sales team if you need to increase this limit. |
NEG backends per external backend service | 50 | This limit cannot be increased. |
NEG backends per internal backend service | 50 | This limit cannot be increased. |
Endpoints per NEG
Item | Quotas and limits | Notes |
---|---|---|
Endpoints per GCE_VM_IP_PORT zonal NEG |
10,000 | This limit cannot be increased. |
Endpoints per GCE_VM_IP zonal NEG |
10,000 | This limit cannot be increased. |
Endpoints per internet NEG | 1 | This limit cannot be increased. |
Endpoints per serverless NEG | 1 | This limit cannot be increased. |
VMs per instance group
Item | Quotas and limits | Notes |
---|---|---|
VMs per regional instance group backend for an external backend service | Depends on the number of ports specified in the named port for the
instance group. It is the smaller of these two: A: 2,000 B: VMs * (number of ports in the named port that contains the most port numbers) <= 10,000 |
Contact your Google Cloud sales team if you need to increase this limit. |
VMs per zonal instance group backend for an external backend service | Depends on the number of ports specified in the named port for the
instance group. It is the smaller of these two: A: 1,000 B: VMs * (number of ports in the named port that contains the most port numbers) <= 10,000 |
Contact your Google Cloud sales team if you need to increase this limit. |
VMs per instance group when the instance group is a backend for an internal backend service | No separate limit | Backend VMs for an internal TCP/UDP load balancer can be distributed among up to 50 instance groups if the total number of backend VMs is 250 or fewer. |
Queries per second for HTTP(S) Load Balancing
Item | Quotas and limits | Notes |
---|---|---|
Queries per second (QPS) per backend instance group or NEG for external HTTP(S) Load Balancing | Configurable when using RATE for the balancing mode. |
Limited by your backends. |
Queries per second (QPS) per region per network for Internal HTTP(S) Load Balancing | For Internal HTTP(S) Load Balancing, the maximum QPS load depends on the size of the requests and the complexity of the configuration. If load exceeds capacity, latency increases and requests might be dropped. | Contact your Google Cloud sales team if you need to increase this limit. |
Header size for HTTP(S) Load Balancing
Item | Quotas and limits | Notes |
---|---|---|
Maximum client request header size for external HTTP(S) Load Balancing | about 15 KB (kilobytes) | This limit cannot be increased. The combined size of the request URL and request header is limited to 16 KB. |
Maximum backend response header size for external HTTP(S) Load Balancing | about 128 KB (kilobytes) | This limit cannot be increased. |
Maximum backend request header size for Internal HTTP(S) Load Balancing | 60 KB (kilobytes) | This limit cannot be increased. |
Lowercase conversion for headers for external HTTP(S) Load Balancing | For HTTP/1.1, no For HTTP/2, yes | When HTTP/2 is used with external HTTP(S) Load Balancing,
all headers are converted to lower-case. As examples, Host
becomes host , and Keep-ALIVE becomes
keep-alive . |
Lowercase conversion for headers for Internal HTTP(S) Load Balancing | For HTTP/1.1, yes For HTTP/2, yes | For Internal HTTP(S) Load Balancing, regardless of the protocol used
all headers are converted to lower-case. As examples, Host
becomes host , and Keep-ALIVE becomes
keep-alive . |
Maximum number of configured custom request headers for each backend service | 16 | This limit cannot be increased. |
Maximum number of configured custom response headers for each backend service | 16 | This limit cannot be increased. |
Total size of all custom request headers per backend service (name and value combined, before variable expansion) | 8 KB | This limit cannot be increased. |
Total size of all custom response headers per backend service (name and value combined, before variable expansion) | 8 KB | This limit cannot be increased. |
Managing quotas
Cloud Load Balancing 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) members 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
- In the Cloud Console, go to the Quotas page.
- 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
Request additional quota from the Quotas page in the Cloud Console. Quota requests take 24 to 48 hours to process.
Console
- In the Cloud Console, go to the Quotas page.
- On the Quotas page, select the quotas that you want to change.
- At the top of the page, click Edit quotas.
- Fill out your name, email, and phone number, and then click Next.
- Fill in your quota request, and then click Done.
- Submit your request.
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.