Google Cloud Load Balancing
- Cloud Load Balancing distributes user traffic across multiple instances of the applications and reduces the risk that the of performance issues for the applications experience by spreading the load
- Cloud Load Balancing helps serve content as close as possible to the users on a system that can respond to over one million queries per second.
- Cloud Load Balancing is a fully distributed, software-defined managed service. It isn’t hardware-based and there is no need to manage a physical load balancing infrastructure.
Cloud Load Balancing Features
External versus Internal load balancing
- External load balancing
- for internet based applications
- requires Premium Tier of Network Service Tiers
- Types
- External HTTP/S Load Balancing
- SSL Proxy Load Balancing
- TCP Proxy Load Balancing
- External TCP/UDP Network Load Balancing
- Internal load balancing
- for internal clients inside of Google Cloud
- can use Standard Tier
- Types
- Internal HTTP/S Load Balancing
- Internal TCP/UDP Network Load Balancing
Global versus Regional Load Balancing
- Regional load balancing
- for single region applications.
- supports only IPv4 termination.
- Types
- Internal HTTP/S Load Balancing
- External TCP/UDP Network Load Balancing
- Internal TCP/UDP Network Load Balancing
- External HTTP/S Load Balancing (Standard Tier)
- SSL Proxy Load Balancing (Standard Tier)
- TCP Proxy Load Balancing (Standard Tier)
- Global load balancing
- for globally distributed applications
- provides access by using a single anycast IP address
- supports IPv4 and IPv6 termination.
- Types
- External HTTP/S Load Balancing (Premium Tier)
- SSL Proxy Load Balancing (Premium Tier)
- TCP Proxy Load Balancing (Premium Tier)
Pass-through vs Proxy-based load balancing
- Proxy-based load balancing
- acts as a proxy performing address and port translation and terminating the request before forwarding to the backend service
- clients and backends interact with the load balancer
- original client IP, port and protocol is forwarded using
x-forwarded-for
headers - automatically all proxy-based external load balancers inherit DDoS protection from Google Front Ends (GFEs)
- Google Cloud Armor can be configured for external HTTP(S) load balancers
- Types
- Internal HTTP/S Load Balancing
- External HTTP/S Load Balancing
- SSL Proxy Load Balancing
- TCP Proxy Load Balancing
- Pass-through load balancing
- does not modify the request or headers and passes to unchanged to the underlying backend
- Types
- External TCP/UDP Network Load Balancing
- Internal TCP/UDP Network Load Balancing
Layer 4 vs Layer 7
- Layer 4-based load balancing
- directs traffic based on data from network and transport layer protocols, such as IP address and TCP or UDP port
- Layer 7-based load balancing
- adds content-based routing decisions based on attributes, such as the HTTP header and the URI
Traffic type
- Supports various traffic types including HTTP(S), TCP, UDP
- For HTTP and HTTPS traffic, use:
- External HTTP(S) Load Balancing
- Internal HTTP(S) Load Balancing
- For TCP traffic, use:
- TCP Proxy Load Balancing
- Network Load Balancing
- Internal TCP/UDP Load Balancing
- For UDP traffic, use:
- Network Load Balancing
- Internal TCP/UDP Load Balancing
Google Cloud Load Balancing Types
Refer blog post @ Google Cloud Load Balancing Types
Load Balancing Components
Backend services
- A backend is a group of endpoints that receive traffic from a Google Cloud load balancer, a Traffic Director-configured Envoy proxy, or a proxyless gRPC client.
- Google Cloud supports several types of backends:
- Instance group containing virtual machine (VM) instances.
- Zonal NEG
- Serverless NEG
- Internet NEG
- Cloud Storage bucket
- A backend service is either global or regional in scope.
Forwarding Rules
- A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer.
Health Checks
- Google Cloud provides health checking mechanisms that determine if backends, such as instance groups and zonal network endpoint groups (NEGs), are healthy and properly respond to traffic.
- Google Cloud provides global and regional health check systems that connect to backends on a configurable, periodic basis.
- Each connection attempt is called a probe, and each health check system is called a prober. Google Cloud records the success or failure of each probe
- Google Cloud computes an overall health state for each backend in the load balancer or Traffic Director based on a configurable number of sequential successful or failed probes.
- Backends that respond successfully for the configured number of times are considered healthy.
- Backends that fail to respond successfully for a separate number of times are unhealthy.
IPv6 termination
- Google Cloud supports IPv6 clients with HTTP(S) Load Balancing, SSL Proxy Load Balancing, and TCP Proxy Load Balancing.
- Load balancer accepts IPv6 connections from the users, and then proxies those connections to the backends.
SSL Certificates
- Load balancer must have an SSL certificate and the certificate’s corresponding private key.
- Communication between the client and the load balancer remains private – illegible to any third party that doesn’t have this private key.
- Google Cloud uses SSL certificates to provide privacy and security from a client to a load balancer. To achieve this, the
- Allows multiple SSL certificates when serving from multiple domains using the same load balancer IP address and port, and a different SSL certificate for each domain is needed
SSL Policies
- SSL policies provide the ability to control the features of SSL that the SSL proxy load balancer or external HTTP(S) load balancer negotiates with clients
- HTTP(S) Load Balancing and SSL Proxy Load Balancing uses a set of SSL features that provides good security and wide compatibility.
- SSL policies help control the features of SSL like SSL versions and ciphers that the load balancer negotiates with clients.
URL Maps
- URL map helps to direct requests to a destination based on defined rules
- When a request arrives at the load balancer, the load balancer routes the request to a particular backend service or backend bucket based on configurations in a URL map.
GCP Certification Exam Practice Questions
- Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
- GCP services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
- GCP exam questions are not updated to keep up the pace with GCP updates, so even if the underlying feature has changed the question might not be updated
- Open to further feedback, discussion and correction.