[Network] GSLB (Global Server Load Balancing)
GSLB λ Global server load balancing, λλ Global service load balancing μ μ½μ΄λ‘, λλ©μΈμ μ΄μ©ν λ‘λλ°Έλ°μ± ꡬν κΈ°μ μ΄λ€. κ°λ μ ꡬ체μ μΌλ‘ μμ보기 μ μ λ¨Όμ λ‘λλ°Έλ°μ±μ μλ―Έμ μ’ λ₯λΆν° κ°λ΅ν μμ보μ.
β¨ λ‘λλ°Έλ°μ± κ°μ
λ‘λλ°Έλ°μ±μ΄λ "λΆν λΆμ°"μΌλ‘, μ€μ μ₯μΉμμ μμ λλ λΆνλ₯Ό μ¬λ¬ κ°λ‘ λλμ΄ μ€μ μμ μ μ²λ¦¬νλ κΈ°μ μ΄λ€. κ°λ Ή, νλμ μλ²μ λͺ¨λ μμ²μ΄ λͺ°λ¦¬μ§ μλλ‘ μ€κ°μμ μμ²μ μΌμ νκ² λλμ΄ μ¬λ¬ λμ μμλλ‘ λ³΄λ΄μ£Όλ μλ²κ° μλ€λ©΄, ν΄λΉ μλ²κ° λ‘λλ°Έλ°μμ μν μ νλ κ²μ΄λ€.
λ‘λλ°Έλ°μ± κΈ°μ μ κΈ°λ₯κ³Ό μν μ λ°λΌ ν¬κ² 3κ°μ§ μ’ λ₯λ‘ λλλ€.
π SLB (Server Load Balancing)
- νλμ μλ²μ νΈλν½μ΄ μ§μ€λλ κ²μ λΆμ°μν€κΈ° μν μ€μμΉ κΈ°μ μ΄λ€.
- OSI L4, L7 κ³μΈ΅μ μ€μμΉλ₯Ό μ΄μ©νλ€.
- SLB - NLB (Network Load Balancing): L4μμ μ΄λ£¨μ΄μ§λ λΆν λΆμ°μΌλ‘, IP μ£Όμλ λͺ©μ μ§ ν¬νΈ λ±μ μ 보μ λ°λΌ λΌμ°ν μ λ¬λ¦¬ νλ κΈ°μ μ΄λ€.
- SLB - ALB (Application Load Balacing) : L7μμ μ΄λ£¨μ΄μ§λ λΆν λΆμ°μΌλ‘, HTTP ν€λμ κ°μ μμλ₯Ό κ³μ°νμ¬ μμ²μ λΆμ°μν€λ κΈ°μ μ΄λ€.
π FWLB (FireWall Load Balancing)
- λ°©νλ²½: 미리 μ μλ 보μ κ·μΉμ κΈ°λ°νμ¬ λ€νΈμν¬ νΈλν½μ λͺ¨λν°λ§νκ³ μ μ΄νλ 보μ μμ€ν μ΄λ€. (μ λ’°ν μ μλ λ€νΈμν¬ νμ©, μ λ’°ν μ μλ λ€νΈμν¬ κ±°λΆ/κ²μ΄ λ±)
- FWLB λ μ¬λ¬ λμ λ°©νλ²½μ μΆκ°νμ¬ ν΅μ νλ¦μ μμ μ μΌλ‘ μ μ§ν΄μ£Όλ μν μ νλ€.
- μ£Όλ‘ λ΄/μΈλΆ SLB μ¬μ΄μ μμΉνλ€.
π GSLB (Global Server Load Balancing λλ Multi-site Load Balancing)
μ΄λ² κΈμμ λ€λ£¨κ² λλ λ‘λλ°Έλ°μ± κΈ°μ μ΄λ€. (μΆν μμ )
β¨ λ‘λλ°Έλ°μ± μκ³ λ¦¬μ¦
λ‘λλ°Έλ°μ±μ μννλ λ‘λλ°Έλ°μλ€μ μ λ§λ€ μ¬μ μ μ ν΄μ§ μκ³ λ¦¬μ¦λλ‘ μμ²μ μ²λ¦¬νλ€. μ£Όμ λ‘λλ°Έλ°μ± μκ³ λ¦¬μ¦μ λ€μκ³Ό κ°λ€.
π Round Robin
κ°μ₯ λ¨μνκ³ , λ§μ΄ μ¬μ©λλ μκ³ λ¦¬μ¦μ΄λ€. μΈμ μ μμ°¨μ μΌλ‘ λ§Ίμ΄μ£Όλ λ°©μμ΄λ©°, μΈμ μ λ°κ² λλ μλ²κ° νμ¬ μ²λ¦¬νκ³ μλ μμ²μ μμλ κ΄μ¬νμ§ μλλ€. κ·Έμ ν (queue) μ 첫 λ²μ§Έ μμμ μλ μλ²μ ν λΉν λ€, ν΄λΉ μλ²λ₯Ό νμ λ§μ§λ§μΌλ‘ 보λ΄λ λ°©μμ΄λ€. λ€λ§ Weighting μ΅μ μ΄ μ§μλλ round robin μκ³ λ¦¬μ¦μ κ²½μ°, μλ²λ³ νΉμ§ (μμ² μν λ₯λ ₯, ν¬κΈ° λ±)μ κ°μνμ¬ κ°μ€μΉλ₯Ό λμ΄ λΆμ°μ μ§ννλ€.
π Least Connections
νΈλν½μ΄ κ°μ₯ μ μ μλ²μκ² μμ²μ μ λ¬νλ μκ³ λ¦¬μ¦μ΄λ©°, λΆνκ° λͺ°λ¦΄ λ μ±λ₯μ μ΅μ νκΈ°μ μ μΌ μ ν©νλ€. μμ²μ΄ λ€μ΄μ€λ μκ°μ μλ²μ μ ν¨ν (open) μΈμ μλ₯Ό μΌ λ€μ, κ°μ₯ μ μ μμ Open session μ κ°μ§ μλ²μ μΈμ μ λΆκ³Όνλ λ°©μμ΄λ€. Round robin κ³Ό λ§μ°¬κ°μ§λ‘ weighting μ΅μ μ΄ μ§μλλ€.
π Least Response Time
Least Connection μκ³ λ¦¬μ¦μ μλ΅ μλ κ³μ°μ μΆκ°ν μκ³ λ¦¬μ¦μ΄λ€. μ¦, νΈλν½μ΄ κ°μ₯ μ κ³ μλ΅ μλκ° λΉ λ₯Έ μλ²λ₯Ό μ΅μ°μ μΌλ‘ λκ³ , μλ΅ μλκ° λλ¦° μͺ½μΌλ‘ μΈμ μ μ κ² λ³΄λΈλ€. μλ²λ³ μμμ΄λ λ°μ΄ν° μμ΄ λ€λ₯Έ κ²½μ° μμ£Ό μ¬μ©λλ€.
π Hashed IP
IP μ£Όμλ§λ€ μμ²μ λ³΄λΌ μλ²λ₯Ό κ³ μ μμΌλκ³ μμ²μ΄ λ€μ΄μ¬λλ§λ€ ν΄λΉ μλ²λ‘λ§ μ λ¬νλ μκ³ λ¦¬μ¦μ΄λ€. μ¦, μΆλ°μ§μ λͺ©μ μ§ IP μ£Όμλ₯Ό μ‘°ν©νμ¬ μ μΌν ν΄μκ°μ μμ±ν ν, ν΄λΉ ν΄μκ°μ΄ ν λΉλμ΄ μλ μλ²λ₯Ό 맀μΉνλ λ°©μμ΄λ€. μ μν μ μ μ μκ° λ§μ κ²½μ°, λΆν λΆμ°μ΄ κ³¨κ³ λ£¨ μ΄λ£¨μ΄μ§λ€.
π Minimum Misses
Hashed IP μ μ μ¬ν λ°©μμΌλ‘, μλ² ν λκ° μ¬λΌμ§λ κ²½μ° ν΄λΉ μλ²μ ν λΉλμλ μ¬μ©μ (λλ IP) μ λν΄ μ¬ν λΉ μμ μ νλ μκ³ λ¦¬μ¦μ΄λ€. μ¬ν λΉ λμμ΄ λλ IP μ£Όμλ₯Ό (32bit) λ¨μ μλ²μ λμλ‘ λλ λλ¨Έμ§ κ°μΌλ‘ μλ²λ₯Ό κ²°μ νλ€.
π Bandwidth Based
λ€νΈμν¬ λμνμ κ³ λ €νμ¬ μΈμ μ ν λΉνλ μκ³ λ¦¬μ¦μ΄λ€.
β¨ GSLB κ°μμ λμ λ°©μ
DNS μμ 보κ΄νκ³ κ΄λ¦¬νλ λλ©μΈμλ λ€μν λ΄μ©μ 맀νν μ μλ λ μ½λκ° μ‘΄μ¬νλ€. κ·Έ μ€ κΈ°λ³Έ λ μ½λμΈ A(IPv4) λ μ½λλ λλ©μΈ μ£Όμλ₯Ό IP μ£Όμλ‘ λ³ννλ λ μ½λμ΄λ€. νλμ λλ©μΈ μ£Όμλ νλμ IP μ£Όμμ 맀νλλλ°, μ΄λ μ¬λ¬ κ°μ λλ©μΈ μ£Όμκ° νλμ λμΌν IP μ£Όμμ μ°κ²°λ μλ μκ³ (A), μ¬λ¬ κ°μ IP μ£Όμκ° νλμ λμΌν λλ©μΈμ μ°κ²°λ μλ μλ€ (B).
Bμ κ²½μ°, νλμ λλ©μΈμ ν΅ν΄ μ¬λ¬ κ³³μ IP μ£Όμλ‘ μμ²μ΄ μ λ¬λλ―λ‘ μ΄ λν μΌμ’ μ λ‘λλ°Έλ°μ± κΈ°μ μ΄λ€. κ·Έλ¬λ μΌλ° DNS μλ²μμλ μ°κ²°λ IP μ£Όμμ μλ² μνλ₯Ό νμΈνμ§ λͺ»νκΈ° λλ¬Έμ μλ²μ λ¬Έμ κ° λ°μνμ λμλ μμ²μ΄ κ³μ λ€μ΄κ°κ² λλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ GSLB κ° κ΅¬νλμλ€.
GSLB λ DNS μλ²μ λ‘λλ°Έλ°μμ μν μ λμμ μννλ€κ³ λ³Ό μ μλ€. λ‘λλ°Έλ°μλ DNS μλ²μμ μ 곡νμ§ μλ ν¬μ€μ²΄ν¬ (Health Check) κΈ°λ₯μ μ 곡νλ€. ν¬μ€μ²΄ν¬λ μ°κ²°λ λ€μμ μλ²μ μνλ₯Ό μ£ΌκΈ°μ μΌλ‘ νμΈνμ¬ (ν¨ν· μ μ‘) μλ²μ μνκ° ν΅μ λΆκ°λ₯μΈ κ²½μ° μλΉμ€μμ μ μΈν΄, μλΉμ€λ₯Ό μννκ² μ 곡νκΈ° μν κΈ°λ₯μ΄λ€.
GSLB μμ ν¬μ€μ²΄ν¬λ₯Ό νλ€λ κ²μ, μ°κ²°λ λλ©μΈμ΄ μ μμ μΌλ‘ μλνκ³ μλμ§λ₯Ό νμΈνλ κ²μ΄λ€. GSLB λ μ£ΌκΈ°μ μΌλ‘ ν¬μ€ 체ν¬λ₯Ό μνν¨μΌλ‘μ¨ μ μμ μΌλ‘ μλΉμ€λλ IP μ£Όμλ‘λ§ μλ΅μ 보λ΄κ² λλ€. μ΄λ¬ν μν μ μννκΈ° λλ¬Έμ GSLBλ₯Ό 'μΈν 리μ μ€ DNS' (Intelligent DNS) λΌκ³ μΉνκΈ°λ νλ€.
π‘ ν¬μ€ 체ν¬λ μ΄λ»κ² μ΄λ£¨μ΄μ§λκ°?
μ¬μ©μκ° μ€μ ν μ£ΌκΈ°μ λ°λΌ GSLB μλ²μμ μ ν΄μ§ IP μ£Όμλ‘ λ€νΈμν¬ ν¨ν·μ μ μ‘νκ² λλ€. μ΄λ μ μμ μΈ μλ΅μ΄ λμμ€λ©΄ ν΄λΉ IP μ£Όμλ μ¬μ© κ°λ₯ μνλ‘ λ¨κ²¨λμ§λ§, μλ΅μ΄ λμμ€μ§ μκ±°λ μ€λ₯κ°μ΄ λ°νλ κ²½μ°μλ ν¨ν·μ μ¬μ μ‘νλ€. μ ν΄μ§ μ¬μ μ‘ νμ μ΄λ΄μ μ μμ μΈ μλ΅μ΄ λμμ€μ§ μλ κ²½μ°, ν΄λΉ IP μ£Όμλ μ¬μ© λΆκ° μνκ° λλ€.
π GSLB λμ λ°©μ
λ€μ κ·Έλ¦Όμ ν΅ν΄ GSLB κ° λΆνλ₯Ό λΆμ°νλ λ°©λ²μ μμ보μ.
<μλλ¦¬μ€ μ€λͺ
>
1. ν΄λΌμ΄μΈνΈλ λΈλΌμ°μ μ°½μ λλ©μΈμ μ
λ ₯νλ€. μ΄λ, ν΄λΌμ΄μΈνΈμμ LDNS (Local DNS) μ DNS 쿼리λ₯Ό λ λ¦°λ€.
- ν΄λΌμ΄μΈνΈ: "LDNS μΌ, web.google.com μ IP μ£Όμ μλ?"
2. LDNSμ IP μ£Όμκ° μμΌλ©΄, μ°κ²°λμ΄ μλ DNS μλ²μ λμΌν DNS 쿼리λ₯Ό λ λ¦°λ€.
- LDNS: "λ μλλ°, DNS μΌ λ μλ?"
3. DNS μ ν΄λΉ λλ©μΈμ λν μ λ³΄κ° μ‘΄μ¬νλ κ²½μ°, μ 보λ₯Ό ν¬ν¨ν μλ΅μ λ°ννλ€.
- DNS: "web.google.com μ λν κΆνμ GSLB μ μμνμ΄, GSLB νν
λ¬Όμ΄λ³Ό μ μλλ‘ GSLB μ IP μ£Όμλ₯Ό μ€κ²"
4. LDNS λ DNS λ‘λΆν° λ°μ μ 보λ₯Ό ν λλ‘ GSLB μ 쿼리λ₯Ό λ λ¦°λ€.
- LDNS: "GSLB λμκ² web.google.com μ λν μ λ³΄κ° μλ€λ κ²μ λ€μλ€. IP μ£Όμ λ΄λλΌ"
5. GSLB λ ν΄λΉ λλ©μΈκ³Ό μ°κ²°λ λͺ¨λ IP μ£Όμμ λν΄ ν¬μ€μ²΄ν¬λ₯Ό μννκ³ , μκ³ λ¦¬μ¦ κ²°κ³Όμ λ°λΌ IP μ£Όμλ₯Ό λ°ννλ€.
- GSLB: "μ IP μ£Όμκ° μ΄ 10κ° μλλ°, λ°©κΈ νμΈν΄λ³Έ κ²°κ³Ό 5κ°λ§ μ΄μμλ€. κ·Έ μ€μ μ°λ¦¬ μκ³ λ¦¬μ¦ κ²°κ³Όκ° λ±μ΄λΈ μ΄ IP μ£Όμλ₯Ό μ€κ²"
6. LDNS λ GSLB λ‘λΆν° web.google.com μ IP μ£Όμλ₯Ό λ°κ³ , μΊμ±μ ν λ€, ν΄λΌμ΄μΈνΈμκ² μ λ¬νλ€.
7. ν΄λΌμ΄μΈνΈλ μ΅μ’
μλ΅λ°μ IP μ£Όμλ‘ ν¨ν·μ 보λΈλ€.
π‘GSLB μ λΆν λΆμ° μκ³ λ¦¬μ¦
GSLB μμ μμ μ€λͺ νλ λ‘λλ°Έλ°μμ μ¬λ¬ λΆν λΆμ° μκ³ λ¦¬μ¦ μ€ νλλ₯Ό μ ννμ¬ λ‘λλ°Έλ°μ±μ μννλ€. λ¬Όλ‘ GSLB μ νΉμ±μ λμ± μμ£Ό μ¬μ©λλ μκ³ λ¦¬μ¦μ΄ μμΌλ©°, μ΄λ λ€μκ³Ό κ°λ€.
- μλΉμ€ μλ΅ μκ° / μ§μ° (RTT/Latency) : μμ²μ λν μλ΅, μ§μ°μ κ²ν ν΄ λΆμ° μ²λ¦¬
- IP μ λν μ§λ¦¬ μ 보 (Geolocation) : μλΉμ€ μ κ³΅μ΄ κ°λ₯ν κ° IP μ μ§λ¦¬μ μμΉλ₯Ό νμΈν΄ κ°κΉμ΄ κ³³μΌλ‘ λΆμ° μ²λ¦¬ (Multi CDN μ μ¬μ©νλ κ²½μ°, μ¬μ©μμκ² κ°μ₯ κ°κΉμ΄ region μ μ£Όμλ₯Ό λ°νν μ μμ)
π GSLB ꡬμ±
DNS μλ "λ μ½λ" κ°λ€μ΄ μ‘΄μ¬νλ€. λ μ½λλ DNS μμμ λλ©μΈμ κ΄ν μ€μ μ νκΈ° μν΄ μ¬μ©λλ λ¬Έμλ€λ‘, λ μ½λμ μΌλΆλ₯Ό GSLB μ λ±λ‘νλ, μ λΆλ₯Ό λ±λ‘νλμ λ°λΌ GSLB μ κ΅¬μ± λ°©μμ΄ λ¬λΌμ§λ€.
1. λλ©μΈμ λͺ¨λ λ μ½λλ₯Ό GSLB μμ κ΄λ¦¬ (λλ©μΈ μ체λ₯Ό GSLB λ‘ μ¬μ©)
2. λλ©μΈ λ΄μ νΉμ λ μ½λλ§ GSLB μμ μ¬μ©
μΌμ΄μ€ 1μ κ²½μ° λλ©μΈμ λν λ€μ μλ²λ₯Ό GSLB λ‘ μ§μ νκ³ , ν΄λΉ GSLB μμ λͺ¨λ λ μ½λλ₯Ό λ±λ‘ν΄ μ²λ¦¬νκ² λλ€. μ΄ κ²½μ° λͺ¨λ λ μ½λμ λν μ§μκ° GSLB μ λ€μ΄μ€κΈ° λλ¬Έμ μ€νλ € GSLB μ λΆνκ° λμ΄λ μ μλ λ¬Έμ κ° λ°μνλ€.
μΌμ΄μ€ 2μ κ²½μ° GSLB λ₯Ό μ¬μ©νκ³ μ νλ λ μ½λλ§ GSLB μ λ±λ‘ν μ μλ€. μ΄λ κ² μΌλΆλ§ GSLB λ‘ μ΄κ΄νλ λ°©μ μμ λ κ°μ§μ΄λ€.
2-1. CNAME λ μ½λ μ¬μ©: λ³μΉ (Alias)
- CNAME λ μ½λ: λ³μΉ μ΄λ¦μ μ¬μ©νκ² ν΄μ£Όλ λ μ½λ, λλ©μΈκ³Ό λλ©μΈ μ£Όμλ₯Ό 맀νν¨
- ex) www.google.com <-> google.com
2-2. NS λ μ½λ μ¬μ©: μμ (Delegation)
- NS λ μ½λ: λλ©μΈμ λν κΆνμ΄ μλ λ€μ μλ² μ 보λ₯Ό μ€μ νλ λ μ½λ
κ·Έλ¦Ό 1μ λ€μ μ°Έμ‘°νλ©° μΌμ΄μ€ 2-1, 2-2 κ° λμνλ λ°©μμ μμ보μ.
<2-1>
1. ν΄λΌμ΄μΈνΈ -> LDNS μ§μ
2. google.comμ DNS μλ² μ£Όμλ₯Ό λ°κ³ , DNS μλ²λ‘ μ§μ
3. DNS μμ google.com μ 맀ν μ 보 νμΈ, CNAME λ μ½λμΈ www.google.com μλ΅
4. LDNS λ λ€μ www.google.com μ λν DNS μ§μ
5. DNS μλ²μμ www.google.com μ GSLB μμ κ΄λ¦¬νκ³ μλ€λ μ 보 μλ΅ -> ν΄λΉ GSLB μ°Ύμκ°
6. μ΄ν κ·Έλ¦Ό 1μ 5~7λ² μλ리μ€μ λμΌν¨
<2-2>
μΌμ΄μ€ 2-2λ 2-1κ³Ό κ±°μ λΉμ·νμ§λ§, 3λ² λ¨κ³μμ CNAME μ΄ μλ ν΄λΉ λλ©μΈμ λν GSLB IP λ₯Ό λ°λ‘ λ°ννλ€λ μ μμ μ°¨μ΄κ° μλ€. NS λ μ½λλ₯Ό μ¬μ©νλ μμμ μ₯μ μ κ³μΈ΅νλ λλ©μΈμ λν΄ μΌκ΄μ μΈ μ²λ¦¬κ° κ°λ₯νλ€λ κ²μ΄λ€. μλ₯Ό λ€μ΄ web.google.com μ νΉμ GSLB μ μμνλ€λ©΄ a.web.google.com λ, b.web.google.com λ μ λΆ κ°μ GSLB μμ μ²λ¦¬λλ€.
π GSLB vs LB
GSLB μ μΌλ° λ‘λλ°Έλ°μμ μ°¨μ΄μ μ΄ λ¬΄μμΈμ§ μ 보μ΄μ§ μμ μ μλ€. νμ§λ§ GSLB μ λ³Έμ§μ μ¬λ¬ κ°μ λ°μ΄ν°μΌν° μ€ μ΄λ κ³³μ νΈλν½μ μ λ¬ν μ§ κ²°μ νλ κ²μ΄λ©°, μΌλ° λ‘λλ°Έλ°μμ λ³Έμ§μ νλμ λ°μ΄ν°μΌν° λ΄μ μμΉν μ¬λ¬ λμ μλ²μ νΈλν½μ λΆμ°μν€λ κ²μ΄λ€. λν, GSLB λ κ²½λ‘λ₯Ό μ§μ ν΄μ£Όλ κ²μλ§ κ΄μ¬νλ©°, μ°κ²°μ΄ μ±λ¦½λ λ€λ‘λ ν΄λΌμΈνΈ-μ ν리μΌμ΄μ κ° μ§μ μ μΈ ν΅μ μ΄ μ΄λ£¨μ΄μ§λ€.
β¨ μ°Έκ³ μλ£
- IT μμ§λμ΄λ₯Ό μν λ€νΈμν¬ μ λ¬Έ (κΈΈλ²)
- What is GSLB?
- GSLBλ?
- Load Balancer and Types
- It wiki - λΆν λΆμ°