์—ฌ๋Ÿฌ ๋ฐฑ์—”๋“œ์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜. ์–ด๋А ๊ณ„์ธต์—์„œ ๋ถ„์‚ฐํ•˜๋А๋ƒ(DNS / L4 / L7), VIP๋ฅผ ์–ด๋–ป๊ฒŒ ๋„์šฐ๋А๋ƒ(๊ณ ์ • IP / VRRP / BGP), ํ—ฌ์Šค์ฒดํฌยทfailover๋ฅผ ์–ด๋””์„œ ์ฒ˜๋ฆฌํ•˜๋А๋ƒ๊ฐ€ ์„ค๊ณ„ ์ถ•์ด๋‹ค.

๋ถ„๋ฅ˜

DNS ๋ ˆ๋ฒจ

๋„๋ฉ”์ธ์˜ A ๋ ˆ์ฝ”๋“œ์— ์—ฌ๋Ÿฌ IP๋ฅผ ๋งคํ•‘ํ•ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ›์•„๊ฐ€๋Š” IP๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๋ฐฉ์‹. **DNS Round Robin (DNS RR)**์ด ๋Œ€ํ‘œ์ .

  • ๊ฐ€์žฅ ์›์‹œ์ ์ด๊ณ  ์™ธ๋ถ€ ์˜์กด์„ฑ ์—†์Œ.
  • ํ•œ๊ณ„:
    • ํ—ฌ์Šค์ฒดํฌ ๋ถ€์žฌ: ๋…ธ๋“œ 1๋Œ€๊ฐ€ ๋‹ค์šด๋ผ๋„ DNS๋Š” ๊ทธ IP๋ฅผ ๊ณ„์† ๋ฐ˜ํ™˜. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฃฝ์€ IP๋ฅผ ๋ฐ›์œผ๋ฉด ๊ทธ๋ƒฅ ์‹คํŒจ.
    • DNS ์บ์‹ฑ์œผ๋กœ ๋ถ„์‚ฐ ๋น„๊ท ๋“ฑ: TTL ๋™์•ˆ ๋™์ผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐ™์€ IP์— ๋ฌถ์ž„.
    • ๋™์  failover ๋ถˆ๊ฐ€: DNS ๊ฐฑ์‹ ์ด TTL์— ๋ฌถ์—ฌ ์ฆ‰์‹œ์„ฑ์ด ์—†์Œ.
  • ๋ฐœ์ „ํ˜•: GSLB(Route 53 health check, NS1 ๋“ฑ)๋Š” DNS ์‘๋‹ต์„ ๋™์ ์œผ๋กœ ์กฐ์ •ํ•ด ํ—ฌ์Šค์ฒดํฌยท์ง€์—ญ๋ณ„ ๋ผ์šฐํŒ…์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

L4 (์ „์†ก ๊ณ„์ธต)

IP/TCP/UDP ๋ ˆ๋ฒจ์—์„œ ๋ถ„์‚ฐ. ํŽ˜์ด๋กœ๋“œ๋ฅผ ๋ณด์ง€ ์•Š์œผ๋ฏ€๋กœ ๋น ๋ฅด๊ณ  ํ”„๋กœํ† ์ฝœ ์ค‘๋ฆฝ์ .

  • VIP(Virtual IP) + Failover: ์—ฌ๋Ÿฌ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ IP๋ฅผ ๊ณต์œ ํ•˜๊ณ , ์•กํ‹ฐ๋ธŒ ๋…ธ๋“œ๊ฐ€ ์ฃฝ์œผ๋ฉด ๋‹ค๋ฅธ ๋…ธ๋“œ๊ฐ€ ์ธ๊ณ„.
    • Keepalived / VRRP: ์ „ํ†ต์ ์ธ On-premise ํŒจํ„ด.
    • MetalLB Layer 2 / BGP ๋ชจ๋“œ: On-premise K8s ํ™˜๊ฒฝ์—์„œ ์‚ฌ์‹ค์ƒ ํ‘œ์ค€. BGP ๋ชจ๋“œ๋Š” ๋ผ์šฐํ„ฐ์™€ BGP ํ”ผ์–ด๋งํ•˜์—ฌ ECMP๋กœ ๋ถ„์‚ฐ๊นŒ์ง€ ์ฒ˜๋ฆฌ.
    • kube-vip: ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ VIPยทService VIP ๋ชจ๋‘ ์ฒ˜๋ฆฌ. ARP ๋˜๋Š” BGP ๊ธฐ๋ฐ˜.
  • IPVS / LVS: Linux ์ปค๋„ ๋ ˆ๋ฒจ L4 LB. K8s kube-proxy์˜ ipvs ๋ชจ๋“œ๋„ ๊ฐ™์€ ๊ธฐ์ˆ .
  • ํด๋ผ์šฐ๋“œ ๋งค๋‹ˆ์ง€๋“œ: AWS NLB, GCP Network LB, Azure LB. ํ—ฌ์Šค์ฒดํฌยท์ž๋™ failoverยท๊ณ ๊ฐ€์šฉ์„ฑ์„ ๋งค๋‹ˆ์ง€๋“œ๋กœ ์ œ๊ณต.

L7 (์‘์šฉ ๊ณ„์ธต)

HTTP ํ—ค๋”ยท๊ฒฝ๋กœยทํ˜ธ์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…. URL/path/Host/Header ๋ฃฐ๋กœ ๋ฐฑ์—”๋“œ ์„ ํƒ.

  • ์†Œํ”„ํŠธ์›จ์–ด: NGINX, HAProxy, Envoy, Traefik.
  • K8s: Ingress Controller, Gateway API ๊ตฌํ˜„์ฒด(Envoy Gateway, Istio, NGINX Gateway Fabric, AGC ๋“ฑ).
  • ํด๋ผ์šฐ๋“œ ๋งค๋‹ˆ์ง€๋“œ: AWS ALB, GCP HTTP(S) LB, Azure Application Gateway.

์•Œ๊ณ ๋ฆฌ์ฆ˜

์•Œ๊ณ ๋ฆฌ์ฆ˜๋™์ž‘๋น„๊ณ 
Round Robin์ˆœ์„œ๋Œ€๋กœ ๋ฐฑ์—”๋“œ ์ˆœํ™˜๊ฐ€์žฅ ๋‹จ์ˆœ, ๋ฐฑ์—”๋“œ ๋™์งˆ ๊ฐ€์ •
Least Connectionsํ˜„์žฌ ์—ฐ๊ฒฐ ์ˆ˜ ๊ฐ€์žฅ ์ ์€ ๋ฐฑ์—”๋“œ์—ฐ๊ฒฐ ์‹œ๊ฐ„ ํŽธ์ฐจ ํด ๋•Œ ์œ ํšจ
Source IP Hashํด๋ผ์ด์–ธํŠธ IP ํ•ด์‹œ ๊ธฐ๋ฐ˜ ๊ณ ์ •sticky session ํšจ๊ณผ
Weighted๊ฐ€์ค‘์น˜ ๋น„๋ก€ ๋ถ„์‚ฐ๋ฐฑ์—”๋“œ ์‚ฌ์–‘ ์ฐจ์ด ๋ณด์ •
Maglev / EH์ผ๊ด€์„ฑ ํ•ด์‹ฑ ๊ธฐ๋ฐ˜ (Google)๋…ธ๋“œ ์ถ”๊ฐ€ยท์‚ญ์ œ ์‹œ ์žฌํ• ๋‹น ์ตœ์†Œํ™”

ํ•ต์‹ฌ ๊ณ ๋ ค์‚ฌํ•ญ

  • ํ—ฌ์Šค์ฒดํฌ: ๋ชจ๋˜ LB์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ. DNS RR์ด ๊ฐ€์žฅ ์•ฝํ•จ, ํด๋ผ์šฐ๋“œ LB๊ฐ€ ๊ฐ€์žฅ ๊ฐ•ํ•จ.
  • ์„ธ์…˜ ์œ ์ง€(Sticky Session): ์ƒํƒœ ์žˆ๋Š” ๋ฐฑ์—”๋“œ๋ฅผ ์œ„ํ•œ ํด๋ผ์ด์–ธํŠธ-๋ฐฑ์—”๋“œ ๊ณ ์ •. cookie ๊ธฐ๋ฐ˜(L7) ๋˜๋Š” source IP hash(L4).
  • TLS ์ข…๋‹จ: L7 LB๋Š” ๋ณดํ†ต TLS termination์„ ๋‹ด๋‹น. ๋ฐฑ์—”๋“œ๊นŒ์ง€ TLS๋ฅผ ๋Œ๊ณ  ๊ฐˆ์ง€(end-to-end) ๊ฒฐ์ • ํ•„์š”.
  • PROXY protocol: L4 LB๊ฐ€ ํด๋ผ์ด์–ธํŠธ IP๋ฅผ ๋ฐฑ์—”๋“œ์— ์ „๋‹ฌํ•˜๋Š” ํ‘œ์ค€. NGINXยทHAProxy ๋ชจ๋‘ ์ง€์›.

๊ฒฝํ—˜ ํšŒ๊ณ 

SK hynix On-premise (2021~2024)

๊นกํ†ต ํ”„๋ก์‹œ ๋…ธ๋“œ 3๋Œ€๋ฅผ ๋‘๊ณ , ๋„๋ฉ”์ธ์˜ A ๋ ˆ์ฝ”๋“œ๋ฅผ 3๊ฐœ IP์— ๋งคํ•‘ํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ–ˆ๋‹ค. ํ”„๋ก์‹œ ๋…ธ๋“œ๋Š” ๋ฐฑ์—”๋“œ๋กœ ํฌ์›Œ๋”ฉ๋งŒ ๋‹ด๋‹น.

  • ํด๋ผ์šฐ๋“œ LB๋„ K8s MetalLB/kube-vip๋„ ์—†๋Š” ์ตœ์†Œ ๊ตฌํ˜„์ด์—ˆ๋‹ค.
  • ์ง€๊ธˆ์ด๋ผ๋ฉด: MetalLB BGP ๋˜๋Š” kube-vip๋กœ VIP failover๊นŒ์ง€ ์ž๋™ํ™”ํ•  ์˜์—ญ์ด๋‹ค.