Post

๐Ÿน ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

Proxy๋ž€?

: ๋‚จ์„ ๋Œ€์‹ ํ•ด์„œ ์ผ์„ ์ฒ˜๋ฆฌ

Proxy Server

: ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์˜ ์ค‘๊ณ„ ์„œ๋ฒ„๋กœ ํ†ต์‹ ์„ ๋Œ€๋ฆฌ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋ฒ„(๋„คํŠธ์›Œํฌ์ƒ ์˜๋ฏธ)

์บ์‹œ/๋ณด์•ˆ/ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ ๋“ฑ ์—ฌ๋Ÿฌ ์žฅ์ ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ

Proxy์˜ ์ข…๋ฅ˜

Forward Proxy / Reverse Proxy

Forward Proxy

์ผ๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋งํ•˜๋Š” proxy๋Š” forward proxy๋ฅผ ๋งํ•จ

Forward Proxy๋ž€ ํด๋ผ์ด์–ธํŠธ์™€ ์ธํ„ฐ๋„ท ์‚ฌ์ด์— ์œ„์น˜ํ•œ๋‹ค. Forward Proxy๊ฐ€ ์‚ฌ์ด์—์„œ ํ๋ฆ„์„ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค.

Forward Proxy์˜ ํŠน์ง• 1 - ์บ์‹ฑ

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ๋‚ด์šฉ์„ ์บ์‹ฑ

  • ์บ์‹ฑ์„ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด
    1. 3๊ฐœ์˜ ํด๋ผ์ด์–ธํŠธ ์กด์žฌ
    2. 1๋ฒˆ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์˜ค๋Š˜์˜ ๋‚ ์”จ ์ •๋ณด ์งˆ๋ฌธ
    3. ์„œ๋ฒ„๊ฐ€ ์˜ค๋Š˜์˜ ๋‚ ์”จ๋ฅผ ์‘๋‹ตํ•ด์ค€ ํ›„ 1๋ฒˆ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด 1๋ฒˆ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌ (์ด๋•Œ ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ์˜ค๋Š˜์˜ ๋‚ ์”จ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ €์žฅ)
    4. 2๋ฒˆ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์˜ค๋Š˜์˜ ๋‚ ์”จ ์š”์ฒญ
    5. ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ €์žฅํ•ด๋‘์—ˆ์œผ๋ฏ€๋กœ ์›น์„œ๋ฒ„์— ์š”์ฒญํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‘๋‹ต๊ฐ’์„ ๋ฐ˜ํ™˜
    6. ์ดํ›„์˜ ๋ชจ๋“  ๊ฐ™์€ ์งˆ๋ฌธ์— 5๋ฒˆ๊ณผ ๊ฐ™์ด ์ง„ํ–‰

[ ์žฅ์  ]

  • ์ „์†ก ์‹œ๊ฐ„ ์ ˆ์•ฝ
  • ๋ถˆํ•„์š”ํ•œ ์™ธ๋ถ€ ์ „์†ก X
  • ์™ธ๋ถ€ ์š”์ฒญ ๊ฐ์†Œ โ†’ ๋„คํŠธ์›Œํฌ ๋ณ‘๋ชฉ ํ˜„์ƒ ๋ฐฉ์ง€

Forward Proxy์˜ ํŠน์ง• 2 - ์ต๋ช…์„ฑ

์ต๋ช…์„ฑ : ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์„ ๊ฐ์ถค

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ์ง์ ‘ ํ˜ธ์ถœํ•  ๋•Œ๋Š” ์šฐ๋ฆฌ(ํด๋ผ์ด์–ธํŠธ)๊ฐ€ ์š”์ฒญํ•˜๋ผ๊ณ  ํ•˜๋Š” ์ •๋ณด๋ฅผ ์„œ๋ฒ„์— ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•ด์ค€๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด IP๋ฅผ ๋ฐ›๊ฑฐ๋‚˜, ์žฅ๋น„ ์ •๋ณด, OS ์ •๋ณด ๋“ฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ์ค‘๊ฐ„์— Proxy ์„œ๋ฒ„๋ฅผ ๋„ฃ๊ฒŒ ๋˜๋ฉด

์šฐ๋ฆฌ(ํด๋ผ์ด์–ธํŠธ)๊ฐ€ ์š”์ฒญํ–ˆ์ง€๋งŒ ๋งˆ์น˜ Forward Proxy๊ฐ€ ์š”์ฒญ์„ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์„œ๋ฒ„๋“ค์—๊ฒŒ Forward Proxy์˜ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ด ์ค„ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

โ‡’ Server๋Š” ์‘๋‹ต ๋ฐ›์€ ์š”์ฒญ์„ ๋ˆ„๊ฐ€ ๋ณด๋ƒˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. (์ต๋ช…์„ฑ)

โ‡’ Server๊ฐ€ ๋ฐ›์€ ์š”์ฒญ IP = Proxy IP

Reverse Proxy

Forward Froxy์™€ ๋‹ค๋ฅด๊ฒŒ ์ธํ„ฐ๋„ท๊ณผ ์„œ๋ฒ„๋“ค ์‚ฌ์ด์— ์œ„์น˜ํ•œ๋‹ค.

Reverse Proxy์˜ ํŠน์ง• 1 - ์บ์‹ฑ

: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ๋‚ด์šฉ์„ ์บ์‹ฑ

Forward Proxy์™€ ๋™์ผ

Reverse Proxy์˜ ํŠน์ง• 2 - ๋ณด์•ˆ

: ์„œ๋ฒ„ ์ •๋ณด๋ฅผ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์ˆจ๊น€

1) ํด๋ผ์ด์–ดํŠธ ์ž…์žฅ์—์„œ ์ง„์งœ ์„œ๋ฒ„๋ฅผ ์•Œ์ง€ ๋ชปํ•˜๊ณ , Reverse Proxy์—๊ฒŒ ์š”์ฒญ์„ ์ „๋‹ฌํ•œ๋‹ค.

2) Reverse Proxy๊ฐ€ ์ž์‹ ์ด ์•Œ๊ณ  ์žˆ๋Š” ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ์ „๋‹ฌํ•œ๋‹ค.

Client๋Š” Reverse Proxy๋ฅผ ์‹ค์ œ ์„œ๋ฒ„๋ผ๊ณ  ์ƒ๊ฐํ•˜์—ฌ ์š”์ฒญํ•œ๋‹ค.

โ‡’ ์‹ค์ œ ์„œ๋ฒ„์˜ IP๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค.

Reverse Proxy์˜ ํŠน์ง• 3 - Load Balancing

์ด๊ฒƒ์€ ์„ ํƒ์ ์œผ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ , ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.

Load Balancing

: ๋ถ€ํ•˜ ๋ถ„์‚ฐ(ํ•ด์•ผํ•  ์ž‘์—…์„ ๋‚˜๋ˆ„์–ด ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๊ฒƒ)

์ธ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ : ์™ธ๋ถ€์—์„œ ์„œ๋ฒ„ ๋‚ด๋ถ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ž…๋  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ (๋ฐ˜๋Œ€๋Š” ์•„์›ƒ ๋ฐ”์šด๋“œ)

์œ„ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋Š” ์„œ๋ฒ„๋“ค์—๊ฒŒ ์š”์ฒญ์„ ๋‚˜๋ˆ„์–ด ์ค€๋‹ค.

Load Balancer๊ฐ€ ๋‚˜ํƒ€๋‚œ ๋ฐฐ๊ฒฝ

์„œ๋ฒ„ 1๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ์„œ๋น„์Šค

  1. ์„œ๋น„์Šค ์‚ฌ์šฉ์ž๋Š” 1๋ช…์ด์—ˆ๋‹ค.
  2. ์‚ฌ์šฉ์ž๊ฐ€ ๋Š˜์–ด๋‚˜๊ฒŒ ๋˜๋ฉด์„œ ์„œ๋ฒ„๋Š” ๋ถ€ํ•˜๊ฐ€ ์ƒ๊น€
  3. Scale Up์„ ํ•˜์ž! (์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๊ฒƒ) โ†’ ๊ณ ๊ธ‰ ์„œ๋ฒ„๋กœ ๋ณ€๊ฒฝ
  4. ๋‹ค์‹œ ์š”์ฒญ์„ ์ž˜ ์†Œํ™”ํ•˜๊ณ  ์žˆ์Œ
  5. ๋‹ค์‹œ ์‚ฌ์šฉ์ž๊ฐ€ ๋งค์šฐ ๋งŽ์•„์ง
  6. ๋‹ค์‹œ Scale Up์„ ํ•˜์ž! โ†’ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฝ‚์„ ์ˆ˜ ์žˆ๋Š” ์†Œ์ผ“์ด ํ•œ์ •์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆ๊ฐ€๋Šฅ
  7. ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ๋‚˜๋ˆ ์„œ ์ผ์„ ํ•˜๊ฒŒ ๋” ๋งŒ๋“ค์ž! (Scale Out)
  8. ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ ์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๋’ค์— ์—ฌ๋Ÿฌ ๋Œ€๋ฅผ ๋‘์—ˆ๋‹ค.

โ‡’ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ๋ถ„์‚ฐ(๋‚˜๋ˆ„์–ด) ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์š”์ฒญ์„ ๋‚˜๋ˆ„์–ด์ฃผ๋Š” ์„œ๋น„์Šค

Load Balancer ์ข…๋ฅ˜

OSI 7 Layer ๊ธฐ์ค€์œผ๋กœ ์–ด๋–ค ๊ฒƒ์„ ๋‚˜๋ˆ„๋Š”์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฆ„

L2, L3, L4, L7

  • L2 : Mac ์ฃผ์†Œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‚˜๋ˆ”
  • L3 : IP์ฃผ์†Œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‚˜๋ˆ”
  • L4 : Transport Layer(IP & Port) Level์—์„œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ (TCP/UDP)

    ex) https://www.naver.com/๋กœ ์ ‘๊ทผ ์‹œ ์„œ๋ฒ„ A, ์„œ๋ฒ„ B๋กœ ์š”์ฒญ์„ ๊ณ ๋ฅด๊ฒŒ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ(๋‚˜๋ˆ ์คŒ)

  • L7 : Application Layer(User Request) Level์—์„œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ (HTTPS/HTTP/FTP)

    ex) https://www.naver.com/๋กœ ์ ‘๊ทผ ์‹œ /category์™€ /search๋ฅผ ๋‹ด๋‹น ์„œ๋ฒ„๋“ค๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ(๋‚˜๋ˆ ์คŒ)

    โ†’ url์— ๋”ฐ๋ผ ํ˜น์€ query param์— ๋”ฐ๋ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์š”์ฒญ ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ์–ด๋–ค ์„œ๋ฒ„๋กœ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ํ•  ์ง€ ๊ฒฐ์ •

Load Balancing ์•Œ๊ณ ๋ฆฌ์ฆ˜

1) ์ •์  ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ

  1. ๋ผ์šด๋“œ ๋กœ๋นˆ ๋ฐฉ์‹(Round Robin Method)

    ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„์— ์ˆœ์ฐจ์ ์œผ๋กœ ๋ถ„๋ฐฐํ•˜๋Š” ๋ฐฉ์‹.

    ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ˆœ์„œ๋Œ€๋กœ ๋ถ„๋ฐฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋“ค์ด ๋™์ผ ์ŠคํŽ™์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ(์„ธ์…˜)์ด ์˜ค๋ž˜ ์ง€์†๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํ™œ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•˜๋‹ค.

    • A, B, C์˜ ์„œ๋ฒ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๊ฒฝ์šฐ A โ†’ B โ†’ C โ†’ A ์ˆœ์„œ๋Œ€๋กœ ์ˆœํšŒ
  2. ๊ฐ€์ค‘์น˜ ๊ธฐ๋ฐ˜ ๋ผ์šด๋“œ ๋กœ๋นˆ ๋ฐฉ์‹(Weighted Round Robin Method)

    ๊ฐ๊ฐ์˜ ์„œ๋ฒ„๋งˆ๋‹ค ๊ฐ€์ค‘์น˜(Weight)๋ฅผ ๋งค๊ธฐ๊ณ  ๊ฐ€์ค‘์น˜๊ฐ€ ๋†’์€ ์„œ๋ฒ„์— ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋จผ์ € ๋ฐฐ๋ถ„.

    ์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ๊ฐ™์€ ์‚ฌ์–‘์ด ์•„๋‹ˆ๊ณ , ํŠน์ • ์„œ๋ฒ„์˜ ์ŠคํŽ™์ด ๋” ์ข‹์€ ๊ฒฝ์šฐ ํ•ด๋‹น ์„œ๋ฒ„์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๋†’๊ฒŒ ๋งค๊ฒจ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋‹ค.

    • ์„œ๋ฒ„ A์˜ ๊ฐ€์ค‘์น˜=8, ์„œ๋ฒ„ B์˜ ๊ฐ€์ค‘์น˜=2, ์„œ๋ฒ„ C์˜ ๊ฐ€์ค‘์น˜=3 โ†’ ์„œ๋ฒ„ A์— 8๊ฐœ, ์„œ๋ฒ„ B์— 2๊ฐœ, ์„œ๋ฒ„ C์— 3๊ฐœ์˜ Request๋ฅผ ํ• ๋‹น
  3. IP ํ•ด์‹œ ๋ฐฉ์‹(IP Hash Method)

    ํด๋ผ์ด์–ธํŠธ IP ์ฃผ์†Œ์— ๋Œ€ํ•ด ํ•ด์‹ฑ์ด๋ผ๊ณ  ํ•˜๋Š” ์ˆ˜ํ•™์ ์ธ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰

    ํด๋ผ์ด์–ธํŠธ IP ์ฃผ์†Œ๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋‹ค์Œ ๊ฐœ๋ณ„ ์„œ๋ฒ„์— ๋งคํ•‘

    ์‚ฌ์šฉ์ž IP๋ฅผ ํ•ด์‹ฑํ•˜์—ฌ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•œ ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ๋ณด์žฅ

2) ๋™์  ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ

  1. ์ตœ์†Œ ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•(Least Connection Method)

    ํ™œ์„ฑ ์—ฐ๊ฒฐ์ด ๊ฐ€์žฅ ์ ์€ ์„œ๋ฒ„๋ฅผ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ์„œ๋ฒ„๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†ก

    ์ด ๋ฐฉ๋ฒ•์—์„œ๋Š” ๋ชจ๋“  ์—ฐ๊ฒฐ์— ๋ชจ๋“  ์„œ๋ฒ„์— ๋Œ€ํ•ด ๋™์ผํ•œ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

  2. ์ตœ์†Œ ์‘๋‹ต ์‹œ๊ฐ„ ๋ฐฉ๋ฒ•(Least Response Time Method)

    ์„œ๋ฒ„์˜ ํ˜„์žฌ ์—ฐ๊ฒฐ ์ƒํƒœ์™€ ์‘๋‹ต ์‹œ๊ฐ„์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜์—ฌ, ๊ฐ€์žฅ ์งง์€ ์‘๋‹ต ์‹œ๊ฐ„์„ ๋ณด๋‚ด๋Š” ์„œ๋ฒ„๋กœ ํŠธ๋ž˜ํ”ฝ์„ ํ• ๋‹น

    ๊ฐ ์„œ๋ฒ„์˜ ๊ฐ€์šฉ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์†Œ์Šค์™€ ์„ฑ๋Šฅ, ์ฒ˜๋ฆฌ ์ค‘์ธ ๋ฐ์ดํ„ฐ์–‘ ๋“ฑ์ด ์ƒ์ดํ•  ๊ฒฝ์šฐ ์ ํ•ฉํ•˜๋‹ค. ์กฐ๊ฑด์— ์ž˜ ๋“ค์–ด๋งž๋Š” ์„œ๋ฒ„๊ฐ€ ์žˆ์„ ์‹œ ์—ฌ์œ  ์žˆ๋Š” ์„œ๋ฒ„๋ณด๋‹ค ๋จผ์ € ํ• ๋‹น๋œ๋‹ค. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š” ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ๋น ๋ฅธ ์„œ๋น„์Šค๋ฅผ ๋ณด์žฅํ•œ๋‹ค.

AWS ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์œ ํ˜•

1) ALB(Application Load Balancer)

๋ณต์žกํ•œ ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” ๋‹จ์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋Šฅ์„ ์ „๋‹ดํ•˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋ฅผ ํฌํ•จํ•˜๋Š” ์„œ๋ฒ„ ํŒœ(Server Farm)์ด ์žˆ๋‹ค. Application Load Balancer๋Š” HTTP ํ—ค๋” ๋˜๋Š” SSL ์„ธ์…˜ ID์™€ ๊ฐ™์€ ์š”์ฒญ ์ฝ˜ํ…์ธ ๋ฅผ ํ™•์ธํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ „์ž ์ƒ๊ฑฐ๋ž˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” ์ œํ’ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ฐ ๊ฒฐ์ œ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

Application Load Balancer๊ฐ€ ์—ฐ๊ฒฐ๋œ ์ „์ž ์ƒ๊ฑฐ๋ž˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ด๋ฏธ์ง€์™€ ๋น„๋””์˜ค ๊ฐ™์€ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ, ์‚ฌ์šฉ์ž์˜ ์—ฐ๊ฒฐ์„ ๊ณ„์† ์œ ์ง€ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์—์„œ ์ œํ’ˆ์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ALB๋Š” ์ด ๊ฒ€์ƒ‰ ์š”์ฒญ์„ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ์„œ๋ฒ„๋กœ ์ „์†กํ•œ๋‹ค. ์ด์— ๋น„ํ•ด ๋งŽ์€ ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์„ ์œ ์ง€๊ฐ€ ํ•„์š”ํ•œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋žซ๋™์•ˆ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ์ „์†กํ•œ๋‹ค.

  • ALB๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์—์„œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, HTTP/HTTPS ํŠธ๋ž˜ํ”ฝ์— ์ ํ•ฉํ•จ
  • L7 ๊ธฐ๋ฐ˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ง€์›ํ•˜๋ฉฐ SSL ์ ์šฉ์ด ๊ฐ€๋Šฅํ•จ

2) NLB(Network Load Balancer)

Network Load Balancer๋Š” IP ์ฃผ์†Œ ๋ฐ ๊ธฐํƒ€ ๋„คํŠธ์›Œํฌ ์ •๋ณด๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ์ตœ์ ์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ํ•œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŠธ๋ž˜ํ”ฝ์˜ ์†Œ์Šค๋ฅผ ์ถ”์ ํ•˜๊ณ  ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๊ณ ์ • IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. Network Load Balancer๋Š” ์ •์  ๋ฐ ๋™์  ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๋กœ๋“œ๋ฅผ ๋ฐฐํฌํ•œ๋‹ค.

NLB๋Š” ๊ณ ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ๋ถ€ํ•˜๋ถ„์‚ฐ์— ์ ํ•ฉํ•œ ์†”๋ฃจ์…˜์ด๋‹ค. ๋‚ฎ์€ latency๋กœ ์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ ๊ฑด์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ํŠธ๋ž˜ํ”ฝ ์ฆ๋Œ€ ๋ฐ ๋ณ€ํ™”์—๋„ ์ตœ์ ํ™”๋˜์–ด ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ง€์ ์ด๊ณ  ์ตœ์ ํ™”๋œ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค, ํ™”์ƒ ํšŒ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ์ฑ„ํŒ… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” NLB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์กฐ๊ธˆ ๋” ์ ํ•ฉํ•˜๋‹ค. NLB๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ์จ ์„ธ์…˜ ์ง€์†์„ฑ์„ ํšจ๊ณผ์ ์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • NLB๋Š” ๋„คํŠธ์›Œํฌ ๋ ˆ๋ฒจ์—์„œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ œ๊ณตํ•˜๊ณ , TCP/UDP ํŠธ๋ž˜ํ”ฝ์— ์ ํ•ฉํ•จ
  • L4 ๊ธฐ๋ฐ˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ง€์›

3) ELB(Elastic Load Balancer)

Elastic Load Balancer๋Š” ๋‘˜ ์ด์ƒ์˜ ๊ฐ€์šฉ ์˜์—ญ์—์„œ EC2 ์ธ์Šคํ„ด์Šค ์ปจํ…Œ์ด๋„ˆ, IP ์ฃผ์†Œ ๋“ฑ ์—ฌ๋Ÿฌ ๋Œ€์ƒ์— ๊ฑธ์ณ ์ˆ˜์‹ ๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ž๋™์œผ๋กœ ๋ถ„์‚ฐํ•œ๋‹ค. ELB์˜ ๊ฒฝ์šฐ L4์™€ L7์— ๋Œ€ํ•œ ๋ถ€ํ•˜๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„์˜ ๊ธฐ๋ณธ ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋ฉฐ ํ•˜๋‚˜์˜ ์ฃผ์†Œ์— ํ•˜๋‚˜์˜ ํƒ€๊ฒŸ ๊ทธ๋ฃน์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ํƒ€๊ฒŸ ๊ทธ๋ฃน์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ๋” ๋งŽ์€ ์ˆ˜์˜ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ํ•„์š”ํ•˜๊ณ  ๋น„์šฉ๋„ ๊ทธ๋งŒํผ ๋” ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.

  • ELB๋Š” AWS ํ™˜๊ฒฝ์—์„œ ์ œ๊ณตํ•˜๋Š” 4๊ฐ€์ง€ ์œ ํ˜•์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ง€์›ํ•จ
  • ELB๋Š” ๋›ฐ์–ด๋‚œ ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•ด ์‚ฌ์šฉ์ž์˜ ๋‹ค์–‘ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ํ™˜๊ฒฝ์— ๋งž์ถœ ์ˆ˜ ์žˆ์Œ
This post is licensed under CC BY 4.0 by the author.