GCP Load Balancing & NAT
GCP Load balancing
GCP Load balancing is used to load balance the application traffic to more than one workload, which are behind load balancer.
When we go to GCP console ( https://consol.cloud.google.com) and navigate NETWORKING| Network Services | Load Balancing | Click on Create Load balancer, you will be able to configuration following load balancer options.
- HTTPS Load balancing (External & Internal)
- SSL Proxy Load balancing
- TCP proxy Load balancing
- Network Load balancing
- Internal TCP/UDP Load Balancing
Global Versus Regional Load Balancing
Regional Load balancing means the work loads will resides within one region. Regional Load Balancing supports following types of load Balancer:
- Internal TCP/UDP load balancing
- Network TCP/UDP load balancing
- Internal HTTP(S) Load balancing
Global Load balancing means the workloads will resides across regions. Global Load Balancing supports following types of load Balancer:
- External HTTPS load balancing
- SSL Proxy
- TCP Proxy
Below figure explains Global versus Regional Load Balancing
Load Balancer Types
Below are following Load balancer type, that are being used in GCP.
HTTP(S) load balancing (External)
These External Load balancer is global and allow external connectivity. It supports both IPv4 and IPv6 traffic. It is used only for HTTP and HTTPS traffic, and offers additional features such as following:
- CDN Caching
- Integrates With Cloud Armor
- Supports UEL maps
- Hosts SSL Certificates
- Support Cloud Storage
- Supports Session Affinity
- Supports Quick UDP connections (QUIC) protocol
Internal HTTP(S) Load Balancing
These are regional and assessable only in selected regions of VPC. They do not support Following:
- Cloud CDN
- Cloud Armor
- Storage Buckets
- Google-managed SSL Certificates
- SSL policies
SSL Proxy Load balancing: This SSL Proxy terminates the User SSL (TLS connection) and is intended for a non-HTTP(S) traffic. It is global and allow external connectivity that supports both IPv4 and IPv6. The traffic from the proxy to machine can use either TCP or SSL protocols.
TCP Proxy Load balancing: The TCP proxy terminates non-HTTP traffic that does not require SSL. It is a global and allow external connectivity that supports both IPv4 and IPv6.
Network TCP/UDP Load Balancing: It used packet layer 4 information for load balancing like Source Address, Destination Address, Source Port, Destination port, protocol types. This load balancer is regional and external with support for IPv4 only.
Internal TCP/UDP Load Balancing: It is a non-proxied from of load balancer and is for regional and internal ipv4 traffic only. Example: It can be used for three-tier applications where web services need to load balance an internal connection to application tier.