Google Cloud Platform (GCP) TCP Proxy Load Balancing allows you to use a single IP address for all users around the world. GCP TCP proxy load balancing automatically routes traffic to the instances that are closest to the user.
Note that global load balancing requires that you use the Premium Tier of Network Service Tiers, which is the default tier. Otherwise, load balancing is handled regionally.
TCP Proxy Load Balancing supports both IPv4 and IPv6 addresses for client traffic. Client IPv6 requests are terminated at the load balancing layer, then proxied over IPv4 to your backends.
When you use TCP Proxy Load Balancing for your TCP traffic, you can terminate your customers’ TCP sessions at the load balancing layer, then forward the traffic to your virtual machine instances using TCP or SSL.
TCP Proxy Load Balancing can be configured as a global load balancing service. With this configuration, you can deploy your instances in multiple regions, and global load balancing automatically directs traffic to the region closest to the user. If a region is at capacity, the load balancer automatically directs new connections to another region with available capacity. Existing user connections remain in the current region.
TCP Proxy Load Balancing advantages:
- Intelligent routing — the load balancer can route requests to backend locations where there is capacity. In contrast, an L3/L4 load balancer must route to regional backends without paying attention to capacity. Use of smarter routing allows provisioning at N+1 or N+2 instead of x*N.
- Security patching — If vulnerabilities arise in the TCP stack, we will apply patches at the load balancer automatically in order to keep your instances safe.
- TCP Proxy Load Balancing supports the following ports: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222
- TCP Proxy Load Balancing can handle HTTP traffic, but this is not recommended. You should instead use HTTP load balancing for HTTP traffic.
TCP Proxy Load Balancing Example
With TCP proxy, traffic coming over a TCP connection is terminated at the load balancing layer, then proxied to the closest available instance group.
In this example, the traffic from the users in Iowa and Boston is terminated at the load balancing layer, and a separate connection is established to the selected backend instance.