1. GSLB 는 SLB와 무엇이 다른가?
- SLB : Server Load Balancing
- GSLB : Global Server Load Balancing
-
GSLB는 DNS + SLB
- 일반적인 DNS 기능 + LB Method 적용이 가능
- DNS는 단순 R/R 으로 IP만 응답함
- 위치(topology)를 기반으로 응답을 다르게 주거나
- Ratio를 줘서 6:4 등의 비율로 나누어 주거나
- 하는 등의 제어가 가능
2. SLB
- 구성단위는 VIP
- VIP에 여러대의 서버를 바인딩
- 즉, LB가 실제 트래픽을 받는 구조, 때문에 트래픽 규모에 따른 한계가 있을 수 있다.
✔️ Traffic Flow
- 클라이언트는 DNS에서 도메인 주소의 IP 주소를 질의하여 얻어옴
- 레코드 타입: A (도메인에 IPv4 주소를 연결하는 방식)
- 이때 IP는 미리 등록한 SLB VIP
- 클라이언트는 DNS 질의를 통해 얻어온 VIP로 접속을 시도
- 해당 VIP를 가진 SLB는 Method에 따라 Client의 요청을 서버로 분배
✔️ Health Check
3. GSLB
- 구성단위는 도메인
- 도메인에 여러개의 서버 IP 혹은 VIP를 바인딩
- 도메인으로 들어오는 질의에 대해 GSLB에서 서버 IP 혹은 VIP를 응답
-
즉, GSLB는 DNS의 쿼리만 받음
- 클라이언트에서는 응답받은 서버 IP 혹은 VIP로 트래픽 전송
- 트래픽의 규모와는 직접적으로 연관이 없음
- DNS 질의양(QPS)에 따른 영향은 있을 수 있으나, 큰 문제가 되는 경우는 적음
✔️ Traffic Flow
- 클라이언트는 DNS에서 서비스 도메인 주소를 질의하여 얻어옴
- 레코드 타입: CNAME (Alias 형태로 다른 도메인을 연결하는 방식)
- 이때는 결과값은 GSLB의 도메인
- 클라이언트는 DNS 질의를 통해 얻어온 GSLB 도메인으로 다시 질의
- 요청을 받은 GSLB는 Method에 따라 VIP 또는 서버 IP를 응답
- 클라이언트는 질의를 통해 얻어온 VIP 또는 서버 IP로 접속을 시도
5-1. VIP로 시도했다면, 해당 VIP를 가진 SLB는 Method에 따라 Client의 요청을 서버로 분배
5-2. 서버 IP로 시도했다면, 바로 서버로 접근
✔️ Health Check
- DNS는 H/C 가 안되지만, GSLB는 바인딩된 VIP 혹은 서버 IP에 대해 SLB H/C 가 가능
4. 도메인 구성은 어떻게 해야 하는데?
서비스 도메인 > CNAME : GSLB 도메인 > VIP 또는 서버IP
5. H/C 는 어떻게 동작하고 있는거지?
아래 L4, L7 H/C 동작을 보면, L4는 80포트 커넥션 확인만, L7는 HTTP 요청까지 진행한다.
뭐가 더 좋을까?
✔️ L4 H/C
- GSLB ↔ SLB, SLB ↔ 서버 각각 H/C 를 진행한다.
✔️ L7 H/C
- GSLB ↔ 서버 H/C 진행도 가능하다.
- 때문에, 최종 endpoint 까지의 H/C 가 가능하다는 점에서 L7 H/C 가 매력적으로 보인다.
✔️ L7 H/C를 사용하는게 항상 좋을까?
- SRV#2가 H/C에 실패하면
- GSLB도 SLB#1 H/C를 실패로 간주할 수 있고,
- 실패로 간주되면 GSLB에서 VIP1이 다운이되어 Datacenter#1 로 트래픽 요청이 끊길 수 있다는 점을 고려해야하기 때문에 보통은 L4 H/C를 사용한다.