1-1. 특징
❶ 글로벌 로드 밸런싱 (Global load balancing)
❷ Any cast IP address
: "Global load balancing" means your applications are available to your customers at a single "any cast IP address."
❸ HTTP on port 80 or 8080
❹ HTTPs on port 443
❺ IPv4 또는 IPv6
❻ 오토스케일링 (Auto Scaling)
❼ URL maps
1-2. 아키텍쳐
글로벌 포워딩 룰은 들어오는 리퀘스트를 인터넷으로부터 타깃 HTTP 프록시로 보낸다. 타깃 HTTP 프록시는 URL map에 대항하여 리퀘스트를 위한 적절한 백엔드 서비스를 결정하기 위해 각각의 리퀘스트를 체크한다. 예를 들어, 너가 www.example.com/audio에 대한 리퀘스트를 어떤 오디오 파일을 전송하기로 설정된 인스턴스를 포함하는 백엔드서비스로 전송하고, www.example.com/video에 대한 리퀘스트를 비디오 파일을 전송하기로 설정된 인스턴스를 포함하는 백엔드 서비스로 전송한다. 그 백엔드 서비스는 각각의 리퀘스트를 capacity zone을 해결하는 것과 그것에 연결된 백엔드가 가진 인스턴스를 기반으로 적절한 백엔드로 보낸다.
1-3. Backend services
❶ 헬스체크 (Health check)
❷ 세션 어피니티 Session affinity (optional)
❸ 타임 셋 Time out setting (30-sec default)
❹ One or more backends
1-4. HTTP VS. HTTP(S) load balacing
HTTP와 HTTP(S)의 아키텍쳐는 같은 기본적 구조를 갖는다. 그러나 다음 측면에서 차이가 있다.
❶ HTTP Load Balancing -> Target HTTP Proxy
HTTP(S) Load Balacing -> Target HTTP(S) Proxy
❷ HTTP(s) -> (최소)하나의 지정된 SSL certificate가 설치되어 있어야
❸ HTTP(s) -> Client SSL session terminates at the load balancer
❹ HTTP(s) -> QUIC transport layer protocol 지원
이제부터 HTTP(S)가 아닌 트래픽을 위한 것! HTTP(S) 트래픽의 경우 HTTP(S) 부하 분산을 사용하는 것이 좋다.
❶ Global load balancing for encrypted, non-HTTP traffic
❷ Terminates SSL session at load balancing layer
❸ IPv4 또는 IPv6 clients
❹ 이점
❶ Global load balancing for unencrypted, non-HTTP traffic
❷ Terminates TCP session at load balancing layer
❸ IPv4 또는 IPv6 clients
❹ 이점
❶ Regional, non-proxied load balancer
❷ Forwarding rules (IP Protocol data)
❸ 트래픽
❹ 백엔드
❶ Regional, private load balancing
❷ TCP/ UDP traffic
❸ Reduced latency, simpler configuration
❹ Software defined, fully distributed load balancing
( GCP internal load balancing은 장치나 가상머신 인스턴스에 기반하지 않는 software-defined, fully distributed load balancing 솔루션이다.