๐ŸŒ[AWS] AWS Load Balancer ์ข…๋ฅ˜๋ณ„ ํŠน์ง•

Uk-Jakeยท2024๋…„ 12์›” 4์ผ
0

AWS

๋ชฉ๋ก ๋ณด๊ธฐ
3/5
post-thumbnail

๐Ÿ“ ๋“ค์–ด๊ฐ€๋ฉฐ

Kubernetes๋ฅผ ์‚ฌ์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ณ  ์™ธ๋ถ€์— ๊ณต๊ฐœํ•˜๊ธฐ ์œ„ํ•ด LoadBalancer ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฐฐํฌ ํ›„ LoadBalancer์— HTTPS๋ฅผ ์ ์šฉํ•˜๋ ค๊ณ  ๋ณด๋‹ˆ, ์ƒ์„ฑ๋œ LoadBalancer๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๊ณ  ์žˆ๋Š” ALB๊ฐ€ ์•„๋‹ˆ๋ผ CLB๋กœ ์„ค์ •๋œ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” LoadBalancer ์ข…๋ฅ˜๋ณ„ ํŠน์ง•๊ณผ ์ฐจ์ด์ ์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


ELB (Elastic Load Balancing)

ELB(Elastic Load Balancing)๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๊ฐ€์šฉ ์˜์—ญ(AZ) ๋‚ด์— ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŠธ๋ž˜ํ”ฝ์„ ์ž๋™์œผ๋กœ ๋ถ„์‚ฐํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
AWS์—์„œ๋Š” ELB๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ€์šฉ์„ฑ(High Availability)๊ณผ ํ™•์žฅ์„ฑ(Scalability)์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ AWS ์„œ๋น„์Šค์™€ ์—ฐ๊ณ„ํ•ด ํšจ์œจ์ ์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ” ELB์˜ ์ข…๋ฅ˜

  1. Classic Load Balancer (CLB)
  2. Application Load Balancer (ALB)
  3. Network Load Balancer (NLB)
  4. Gateway Load Balancer (GWLB)

โš™๏ธ ELB์˜ ์ฃผ์š” ํŠน์ง• ๋ฐ ๊ธฐ๋Šฅ

1. ๊ฐ€์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ

  • ELB๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ€์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๋†’์—ฌ์ค๋‹ˆ๋‹ค.
  • EC2, ECS, Lambda ๋“ฑ ๋‹ค์–‘ํ•œ AWS ์„œ๋น„์Šค์™€ ์—ฐ๋™ํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

2. Health Checks

  • ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•˜๋ฉฐ, ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์„œ๋ฒ„๋กœ๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

3. Connection Draining

  • ์„œ๋ฒ„๊ฐ€ Unhealthy ์ƒํƒœ์ผ ๋•Œ๋„, ๊ธฐ์กด ์—ฐ๊ฒฐ์„ ์ง€์ •๋œ ์‹œ๊ฐ„ ๋™์•ˆ ์œ ์ง€ํ•˜๋ฉฐ ์ฒ˜๋ฆฌ ์ค‘์ธ ์š”์ฒญ์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
    • ๊ธฐ๋ณธ์ ์œผ๋กœ ALB์™€ CLB์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ: Connection Draining ์‹œ๊ฐ„์„ 200์ดˆ๋กœ ์„ค์ •ํ•˜๋ฉด, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ํ›„ 200์ดˆ ๋™์•ˆ ๊ธฐ์กด ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

4. Slow Start Configuration

  • ์ƒˆ๋กญ๊ฒŒ ์‹œ์ž‘๋œ ์„œ๋ฒ„์— ํŠธ๋ž˜ํ”ฝ์ด ์ ์ง„์ ์œผ๋กœ ์ „๋‹ฌ๋˜๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ALB์™€ NLB์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
    • ์„œ๋ฒ„๊ฐ€ ๊ณผ๋ถ€ํ•˜์— ๊ฑธ๋ฆฌ์ง€ ์•Š๋„๋ก ์ฒœ์ฒœํžˆ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„๋ฐฐํ•˜์—ฌ ์•ˆ์ •์ ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”Ž ELB์˜ 4๊ฐ€์ง€ ์œ ํ˜•

1. Classic Load Balancer (CLB)

  • HTTP, HTTPS, TCP, SSL ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Layer 4(์ „์†ก ๊ณ„์ธต) ๋ฐ Layer 7(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต)์—์„œ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์ธ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๊ธฐ๋Šฅ๋งŒ ์ œ๊ณตํ•˜๋ฉฐ, ALB์™€ NLB์— ๋น„ํ•ด ๊ธฐ๋Šฅ์ด ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค.
  • ์˜ค๋ž˜๋œ ์„œ๋น„์Šค๋กœ, ์‹ ๊ทœ ์ƒ์„ฑ์—๋Š” ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2. Application Load Balancer (ALB)

  • HTTP/HTTPS ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Layer 7(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต)์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ๊ณ ๊ธ‰ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • Path-Based Routing: URL ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ์š”์ฒญ์„ ๋ผ์šฐํŒ….
      ์˜ˆ: /sports, /shopping
    • Host-Based Routing: ๋„๋ฉ”์ธ ์ด๋ฆ„์— ๋”ฐ๋ผ ์š”์ฒญ์„ ๋ผ์šฐํŒ….
      ์˜ˆ: www1.example.com, www2.example.com
    • ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…: ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด ์กฐ๊ฑด์— ๋”ฐ๋ผ ์š”์ฒญ์„ ๋ผ์šฐํŒ….
      ์˜ˆ: ?lang=en, ?lang=kr
  • Docker ๊ธฐ๋ฐ˜ ์ปจํ…Œ์ด๋„ˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ์˜ ํ†ตํ•ฉ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์ • IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    • NLB๋ฅผ ALB ์•ž๋‹จ์— ๋‘์–ด ๊ณ ์ • IP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋Œ€์ฒด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • Sticky Session ๊ธฐ๋Šฅ ์ง€์›
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋™์ผํ•œ ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

3. Network Load Balancer (NLB)

  • TCP, UDP, TLS ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Layer 4(์ „์†ก ๊ณ„์ธต)์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ๋†’์€ ์„ฑ๋Šฅ๊ณผ ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์ • IP ์ฃผ์†Œ(Elastic IP)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ญ์ƒ ๋™์ผํ•œ IP๋กœ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • Lambda์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(HTTPS ๊ธฐ๋ฐ˜ ํŠธ๋ž˜ํ”ฝ๋งŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ).
    • ALB๋Š” Lambda์™€ ํ†ตํ•ฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • Sticky Session ๊ธฐ๋Šฅ์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

4. Gateway Load Balancer (GWLB)

  • TCP/UDP ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Layer 4(์ „์†ก ๊ณ„์ธต)์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ๋ณด์•ˆ ๊ด€๋ จ ๊ฐ€์ƒ ์–ดํ”Œ๋ผ์ด์–ธ์Šค๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฐฉํ™”๋ฒฝ, ์นจ์ž… ํƒ์ง€ ๋ฐ ๋ฐฉ์ง€ ์‹œ์Šคํ…œ(IDS/IPS), ์‹ฌ์ธต ํŒจํ‚ท ๊ฒ€์‚ฌ ์‹œ์Šคํ…œ๊ณผ ๊ฐ™์€ ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ํŠธ๋ž˜ํ”ฝ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋„๋‹ฌํ•˜๊ธฐ ์ „ ๊ฒ€์‚ฌ ๋ฐ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ

profile
๊ฒฝํ—˜์œผ๋กœ ์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์ง€๋ง์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€