Load balancer features

You can select the appropriate load balancer based on your application needs.

Type of load balancer

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Proxy |
Pass-through

Protocols from the load balancer to the backends

For links to reference information, see Backend services.

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
One of:
HTTP (HTTP/1.1)
HTTPS (HTTP/1.1)
HTTP/2 (requires TLS), including gRPC
One of:
TCP or UDP
One of:
SSL (TLS) or TCP

Protocols from the clients to the load balancer

For links to reference information, see Forwarding rules.

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
One of:
HTTP/1.1, HTTP/2, or HTTPS

(includes QUIC)
One of:
TCP or UDP
SSL or TCP

Backends

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Backends must be in one region
(Standard Tier)

(Standard Tier)
Backends can be in multiple regions
(Premium Tier)

(Premium Tier)
Load balancer can have multiple backend services and a URL map
Virtual machine backends on Compute Engine
Container-native load balancing using zonal NEGs Two options: Two options: Use standalone NEGs
Self-managed Kubernetes and GKE
External endpoints in internet NEGs as custom origins for Cloud CDN
(Premium Tier)
Cloud Storage in backend buckets
Serverless backends:
  • Cloud Run (fully managed)
  • App Engine
  • Cloud Functions

Health checks

For links to reference information, see Health checks.

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
HTTP health checks
(Legacy)
HTTPS health checks
HTTP/2 health checks
SSL health checks
TCP health checks
Configurable health checks:
  • Port
  • Check intervals
  • Timeouts
  • Healthy and unhealthy thresholds
Configurable request path (HTTP, HTTPS, HTTP/2)
Configurable request string or path (TCP or SSL)
Configurable expected response string

IP addresses

For links to reference information, see Addresses.

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Internal IP address, accessible in your Virtual Private Cloud (VPC) network
Public IP address (global anycast)
(Premium Tier)

(Premium Tier)
Public IP address (regional)
(Standard Tier)

(Standard Tier)
Multiple forwarding rules with the same IP address, each having a unique protocol and port combination
Internet accessible
(including by clients that are in Google Cloud and have internet access)
Privately accessible
Client source IP address preservation X-Forwarded-For header X-Forwarded-For header In TCP Proxy header
IPv6 termination

Network topologies

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Relationships between VPC networks and load balancer backends
Backends must be in the same VPC network
Backends can be located in multiple VPC networks in the same project

(the networks do not have to be connected)

Backends can use a Shared VPC network
Client access to load balancers
Google Cloud or on-premises clients must access the load balancer privately by being either in the same VPC network, in a peered VPC network, or in another network connected using Cloud VPN tunnels or Cloud Interconnect attachments (VLANs)
Google Cloud client VMs require external IP addresses or a NAT solution like Cloud NAT to access the load balancer
On-premises client VMs require internet access to access the load balancer
Google Cloud client VMs can be located in any region
If global access is enabled
Google Cloud client VMs can be located in any project
(subject to other requirements in this table)

Failover

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Automatic failover to healthy backends within same region
Automatic failover to healthy backends in other regions
(Premium Tier)

(Premium Tier)
Behavior when all backends are unhealthy Returns HTTP 503 Returns HTTP 502 Traffic distributed among all backends (configurable) Traffic distributed among all backends Traffic dropped
Configurable standby backends
(with failover backends)

(with backup pools)
Connection draining on failover and failback
(configurable)

Logging and monitoring

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Byte count metrics
Packet count metrics
Round trip time or latency metrics
Connection count metrics
HTTP request count metrics
HTTP request and response attribute logs

Session affinity

For detailed information, see Session affinity.

For links to reference information, see Backend services.

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Client IP address
(two-tuple of source and destination address)

(TCP only)

(TCP only)
Headers
HTTP cookie
Generated cookie
Client IP address, protocol
(TCP only)

(TCP only)
Client IP address, port, protocol
(TCP only)
None (5-tuple hash)

Load balancing methods

For detailed information, see the Backend services overview.

For links to reference information, see Backend services.

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Balancing mode: connection
Balancing mode: rate (requests per second)
Balancing mode: backend utilization
(instance group backends only)
Configurable maximum capacity per backend instance group or NEG
Circuit breaking
Percent of traffic/weight-based
Prefers region closest to client on the internet

When the closest region is at capacity or isn't healthy, prefers next closest region

(Premium Tier)

(Premium Tier)
Within zone/region load balancing policy
Load balancing locality policy

Round robin in a zone

Round robin among all backends in the active pool when failover is configured, or among all backends in the region

Round robin among all VMs in the target pool in the region

Round robin in a zone

Routing and traffic management

For internal HTTP(S) load balancers, see the following links:

For external HTTP(S) load balancers, see the following links:

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
HTTP/Layer 7 request routing Suffix, prefix, and full match on:
  • host name
  • path
  • headers
  • method
  • cookies
  • request parameters
Suffix, prefix, and full match on:
  • host name
  • path
  • headers
  • cookies
  • request parameters
Fault injection
Configurable timeouts
Retries
Redirects
URI rewrites
Request/response header transformations
Traffic splitting
Traffic mirroring
Outlier detection
Retry failed requests

Autoscaling and autohealing

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Managed instance group autoscaling based on load balancer serving capacity
Autohealing (native to managed instance groups and GKE)
Connection draining

Security

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Managed certificates
(SSL proxy only)
CORS
Identity-Aware Proxy (IAP)
Google Cloud Armor
SSL offload
(SSL proxy only)
SSL policies
(TLS version and cipher suites)

(SSL proxy only)

Special features

Feature Internal HTTP(S) External HTTP(S) Internal TCP/UDP External TCP/UDP Network External SSL Proxy and
TCP Proxy
Cloud CDN
(Premium Tier)
External endpoints in internet NEGs as custom origins for Cloud CDN
(Premium Tier)
Internal DNS names
Load balancer as next hop
Specify network interface of a backend VM
(Multi-NIC load balancing)
User-defined request headers
Geo-location information, Smoothed RTT, Client latency

What's next

  • To get an overview of the different load balancing solutions that are available in Google Cloud, see Load balancing overview.
  • To help you determine which Google Cloud load balancer best meets your needs, see Choosing a load balancer.