[HAProxy] ์‹œ์ž‘

[์›๋ณธ ๋งํฌ]

HAProxy๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ก์‹œ ์‹œ์Šคํ…œ์ด๋‹ค.

nginx๊ฐ€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์™ธ์—๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋งŒ๋Šฅ ์žฌ์ฃผ๊พผ์ด๋ผ๋ฉด, HAProxy๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๊ธฐ๋Šฅ์—๋งŒ ์ถฉ์‹คํ•˜๊ฒŒ ์ง‘์ค‘ํ•œ ๋…€์„์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

๊ทธ๋ž˜์„œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋กœ์„œ๋Š” ์ด๊ฒŒ ๋” ์šฐ์ˆ˜ํ•˜์ง€๋งŒ, ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์™ธ์—๋„ ๋ญ”๊ฐ€ ๋™์ ์ธ ๊ธฐ๋Šฅ์ด๋‚˜ ๋กœ์ง์„ ์ถ”๊ฐ€ํ•ด์•ผํ•œ๋‹ค๋ฉด ์ด๊ฒƒ๋ณด๋‹จ nginx ๊ฐ™์€ ๋…€์„๋“ค์ด ๋” ๋‚˜์„ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ƒ๊ฐ๋ณด๋‹ค ์—ฐ์‹์ด ๊ฝค ์˜ค๋ž˜๋œ ๋†ˆ์ด๋‹ค. 2006๋…„์— ๋‚˜์™”๋‹ค.
๊ทผ๋ฐ ๋ญ”๊ฐ€ ์„ธ์›”์˜ ํ๋ฆ„์—๋Š” ์ž˜ ๋”ฐ๋ผ๊ฐ€์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. SSL ์ง€์›๋„ ๋งค์šฐ ๋А๋ ธ๊ณ , MSA ๊ธฐ๋Šฅ ์ง€์›๋„ ๋ถ€์‹คํ•˜๋‹ค.




์„ค์น˜ (Linux)

devian ๊ณ„์—ด์˜ ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋ƒฅ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋กœ ๋ฐ”๋กœ ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
์„ค์น˜ํ•˜๊ณ 

sudo apt-get install haproxy

๋ฐ”๋กœ cli๋กœ ํ™•์ธ์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.




๊ธฐ๋ณธ ์„ค์ • ๊ตฌ์„ฑ

haproxy๋Š” nginx์ฒ˜๋Ÿผ ๊น”์•˜๋‹ค๊ณ  ๋ฐ”๋กœ ๋ญ๊ฐ€ ๋œจ์ง„ ์•Š๋Š”๋‹ค.
ํ•œ๋ฒˆ ๋‹ค๋ฅธ ์„œ๋ฒ„๋ฅผ ๋ผ์šฐํŒ…ํ•ด๋ณด์ž.

1111 ํฌํŠธ๋กœ ์„œ๋ฒ„๋ฅผ ๋„์›Œ๋‘”๊ฒŒ ์žˆ๋‹ค.

์ด๊ฑธ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

์„ค์ •ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ๋‹ค.

sudo vi /etc/haproxy/haproxy.cfg

์ดˆ๊ธฐ์—๋Š” ๋Œ€๊ฐ• ์ด๋Ÿฐ์‹์œผ๋กœ ๋˜์–ด์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋ฐ‘์—๋‹ค๊ฐ€ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

frontend test-front
   mode http
   bind *:80
   default_backend test-back

backend test-back
   server master 54.180.123.74:1111

ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ์„ค์ •์„ ๋‘˜๋‹ค ํ•ด์คฌ๋Š”๋ฐ, ๋ฐฑ์—”๋“œ๋งŒ์„ ๋…ธ์ถœํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ํ•ด๋„ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ตœ์ข… export๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

frontend์—์„œ๋Š” ์™ธ๋ถ€๋กœ ๊ณต๊ฐœํ•œ ip์™€ port๋ฅผ ์ง€์ •ํ•˜๊ณ , ๋ผ์šฐํŒ…ํ•  ๋ฐฑ์—”๋“œ๋ฅผ ์ง€์ •ํ•œ๋‹ค.
backend๋Š” ์„œ๋ฒ„ ์›๋ณธ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  systemctl๋กœ ์žฌ์‹œ์ž‘ํ•˜๋ฉด ๋ฐ˜์˜์ด ๋  ๊ฒƒ์ด๋‹ค.

sudo systemctl daemon-reload
sudo systemctl restart haproxy
sudo systemctl status haproxy

์žฌ๋ฐฐํฌ๋˜๋Š” ์‚ฌ์ด์˜ downtime์„ ์—†์• ๊ณ  ์‹ถ๋‹ค๋ฉด restart ๋Œ€์‹  reload ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.


์ž˜ ๋œ๋‹ค.



์ฐธ์กฐ
https://stackoverflow.com/questions/21173496/haproxy-vs-nginx