avatar
Published on

HAProxy

Author
  • avatar
    Name
    yceffort

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์ด๋ž€, ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ์œ„ํ•ด์„œ ๊ฐ€์ƒ IP๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋„๋ก ๋ถ„๋ฐฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งํ•œ๋‹ค.

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ๊ธฐ์ˆ ์€

  • NAT(Network Address Translation): ์‚ฌ์„ค IP ์ฃผ์†Œ๋ฅผ ๊ณต์ธ IP ์ฃผ์†Œ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹ ๋ง์˜ ์ฃผ์†Œ ๋ณ€์กฐ๊ธฐ์ด๋‹ค.
  • DSR(Dynamic Source Routing protocol): ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์‚ฌ์šฉ ์‹œ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ฒฝ์šฐ ๋ชฉ์ ์ง€ ์ฃผ์†Œ๋ฅผ ์Šค์œ„์น˜์˜ IP ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ ํด๋ผ์ด์–ธํŠธ์˜ IP ์ฃผ์†Œ๋กœ ์ „๋‹ฌํ•ด์„œ ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๊ฐœ๋…์ด๋‹ค.
  • Tunneling: ์ธํ„ฐ๋„ท์ƒ์—์„œ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š” ํ†ต๋กœ๋ฅผ ๋งŒ๋“ค์–ด ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์บก์Šํ™”ํ•ด์„œ ์—ฐ๊ฒฐ๋œ ์ƒํ˜ธ ๊ฐ„์—๋งŒ ์บก์Šํ™”๋œ ํŒจํ‚ท์„ ๊ตฌ๋ณ„ํ•ด ์บก์Šํ™”๋ฅผ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š”, ๋„คํŠธ์›Œํฌ์—์„œ IP ์ฃผ์†Œ์™€ MAC์ฃผ์†Œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ชฉ์ ์ง€ IP์ฃผ์†Œ๋ฅผ ์ฐพ์•„๊ฐ€๊ณ , ๋‹ค์‹œ ์ถœ๋ฐœ์ง€๋ฅผ ๋˜๋Œ์•„ ์˜ค๋Š” ๊ตฌ์กฐ๋กœ ์ž‘๋™๋œ๋‹ค.

์ถœ์ฒ˜: naver d2

HAProxy

https://i0.wp.com/foxutech.com/wp-content/uploads/2019/01/What-is-HAProxy-and-how-to-install-and-configure-in-Linux.png?fit=2000%2C1000&ssl=1

HAProxy๋Š” reserve proxyํ˜•ํƒœ๋กœ ์ž‘๋™ํ•œ๋‹ค. ํ”ํžˆ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉํ•˜๋Š” proxy๋Š” ํด๋ผ์ด์–ธํŠธ ์•ž์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ, ์ด๋ฅผ forward proxy๋ผ๊ณ  ํ•œ๋‹ค. ๋ฐ˜๋Œ€๋กœ reserve proxy๋Š” ์‹ค์ œ ์„œ๋ฒ„ ์š”์ฒญ์— ๋Œ€ํ•ด ์„œ๋ฒ„ ์•ž๋‹จ์— ์กด์žฌํ•˜๋ฉด์„œ, ์„œ๋ฒ„๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ๋Œ€์‹  ๋ฐ›์•„ ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๊ณ , ์š”์ฒญํ•œ ๊ณณ์— ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์ „๋‹ฌํ•œ๋‹ค.

์ž‘๋™ ํ๋ฆ„

  1. ์ตœ์ดˆ ์ ‘๊ทผ ์‹œ ์„œ๋ฒ„์— ์š”์ฒญ ์ „๋‹ฌ
  2. ์‘๋‹ต ์‹œ ์ฟ ํ‚ค(cookie)์— ์„œ๋ฒ„ ์ •๋ณด ์ถ”๊ฐ€ ํ›„ ๋ฐ˜ํ™˜
  3. ์žฌ์š”์ฒญ ์‹œ proxy์—์„œ ์ฟ ํ‚ค ์ •๋ณด ํ™•์ธ > ์ตœ์ดˆ ์š”์ฒญ ์„œ๋ฒ„๋กœ ์ „๋‹ฌ
  4. ๋‹ค์‹œ ์ ‘๊ทผ ์‹œ ์ฟ ํ‚ค ์ถ”๊ฐ€ ์—†์ด ์ „๋‹ฌ > ํด๋ผ์ด์–ธํŠธ์— ์ฟ ํ‚ค ์ •๋ณด๊ฐ€ ๊ณ„์† ์กด์žฌํ•จ(์ฟ ํ‚ค ์žฌ์‚ฌ์šฉ)

https://d2.naver.com/content../../../images/2015/06/helloworld-284659-1.png