์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI ์ž‘์„ฑ์„ ๊ณ„์†ํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ธ€์„ ์“ด ์ง€ 4๋…„ XNUMX์ผ์ด ์ง€๋‚ฌ๋‹ค. ์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•, ์˜ค๋žซ๋™์•ˆ ๊ฑฐ๊ธฐ์— ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๋ณ€ํ™”ํ•˜๊ณ  ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ HAProxy-WI๋Š” ์ด๋Ÿฌํ•œ ์ถ”์„ธ์— ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. XNUMX๋…„ ๋™์•ˆ ๋งŽ์€ ์ž‘์—…์ด ์ด๋ฃจ์–ด์กŒ์œผ๋ฉฐ ์ด์ œ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋ง์”€๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. "๊ณ ์–‘์ด"์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI ์ž‘์„ฑ์„ ๊ณ„์†ํ•˜๋Š” ๋ฐฉ๋ฒ•

1. ๊ฐ€์žฅ ๋จผ์ € ๋ˆˆ์— ๋„๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด๊ฒƒ์€ ๋””์ž์ธ์ž…๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๋” ๋…ผ๋ฆฌ์ ์ด๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๋ฉฐ ๋ฌผ๋ก  ๊ท€์—ฝ์Šต๋‹ˆ๋‹ค :). ๋ฉ”๋‰ด ์„น์…˜์ด ๋”์šฑ ์ฒด๊ณ„ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2. ์„œ๋ฒ„๋ณ„ ํŽ˜์ด์ง€๊ฐ€ ์žˆ์–ด ๊ฐœ๋ณ„ ์„œ๋น„์Šค์˜ ์šด์˜์„ ์ดํ•ดํ•˜๋Š”๋ฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ž…๋‹ˆ๋‹ค.

์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI ์ž‘์„ฑ์„ ๊ณ„์†ํ•˜๋Š” ๋ฐฉ๋ฒ•

3. Nginx ์ง€์› ์ถ”๊ฐ€! ์•ˆํƒ€๊น๊ฒŒ๋„ Nginx-a ๋ฌด๋ฃŒ ๋ฒ„์ „์—์„œ ํ†ต๊ณ„๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์—ด์•…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— HAProxy์™€ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ํ†ตํ•ฉํ•  ์ˆ˜ ์—†์—ˆ์ง€๋งŒ HAProxy์˜ ์ฃผ์š” ๊ธฐ๋Šฅ(๊ตฌ์„ฑ ํŽธ์ง‘, ๋น„๊ต ๋ฐ โ€‹โ€‹๋ฒ„์ „ ๊ด€๋ฆฌ, ์„œ๋น„์Šค ์ž‘์—… ๋ฐ ์„ค์น˜)์€ -WI๋Š” ์—ฌ์ „ํžˆ nginx์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI ์ž‘์„ฑ์„ ๊ณ„์†ํ•˜๋Š” ๋ฐฉ๋ฒ•

4. HAProxy ๋ฐ Nginx์— ๋Œ€ํ•œ ๋ณธ๊ฒฉ์ ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! Grafana, Prometheus, Nginx ๋ฐ HAProxy ๋‚ด๋ณด๋‚ด๊ธฐ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ช‡ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ ๋Œ€์‹œ๋ณด๋“œ์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

5. ์ด์ „ ๊ฒŒ์‹œ๋ฌผ์˜ ๋Œ“๊ธ€์—์„œ bash ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ์ž์‹ ์˜ ๋ฐœ์— ์ด์„ ์˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๋“ค์—๊ฒŒ ๋™์˜ํ•˜๋ฏ€๋กœ ํ˜„์žฌ ๋ชจ๋“  ์„ค์น˜์˜ 95%๊ฐ€ Ansible์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ •๋ง ํŽธ๋ฆฌํ•˜๊ณ  ๋” ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค. ์ฃผ์œ„์— ํ•˜๋‚˜์˜ ์ „๋ฌธ๊ฐ€!

6. ๋ฐ”ํ€ด ์•ˆ์˜ ๋ฐ”ํ€ด๋ฅผ ์–ด๋–ป๊ฒŒ ์žฌ๋ฐœ๋ช…ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋งํ•˜์ž๋ฉด ์ž์ „๊ฑฐ์˜ ์ž์‹... ๊ทธ๋Ÿฐ ์ž‘์€ ์ž์ „๊ฑฐ, ์•„๋งˆ๋„ ์‚ผ๋ฅœ: ํฌํŠธ ๊ฐ€์šฉ์„ฑ, HTTP ์‘๋‹ต์— ๋Œ€ํ•œ ํฌํŠธ๋ฅผ ๋‹จ์ˆœํžˆ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํ‚ค์›Œ๋“œ๋กœ ์‘๋‹ต์„ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ. ๋„ค, ๊ธฐ๋Šฅ์ด ๋งŽ์ง€๋Š” ์•Š์ง€๋งŒ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ์‰ฝ์Šต๋‹ˆ๋‹ค ๐Ÿ™‚

์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI ์ž‘์„ฑ์„ ๊ณ„์†ํ•˜๋Š” ๋ฐฉ๋ฒ•

7. HAProxy RunTime API๋ฅผ ์‚ฌ์šฉํ•œ ๋งค์šฐ ๋ฉ‹์ง„ ์ž‘์—…. ์™œ ๊ทธ๋ ‡๊ฒŒ ๋ฉ‹์ง„๊ฐ€์š”? ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ๋งŒ ์žˆ๊ณ  ... ์•„๋งˆ๋„ ๋ชจ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์•ฝ๊ฐ„ ๊ฐ€์‹์ ์œผ๋กœ ๋“ค๋ฆฌ์ง€๋งŒ ์ž‘๋™ ๋ฐฉ์‹์ด ์ •๋ง ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋ž‘๊ณผ ๋ฏธ์›€์„ ๋™์‹œ์— ๋ฐ›๋Š” ์Šคํ‹ฑ ํ…Œ์ด๋ธ”๊ณผ ์ž‘์—…ํ•˜๋Š” ๋ชจ์Šต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI ์ž‘์„ฑ์„ ๊ณ„์†ํ•˜๋Š” ๋ฐฉ๋ฒ•

์•„๋งˆ๋„ ๋ฉ”์ธ์˜ ๋ชจ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฃน, ์—ญํ• , ๋ณด์•ˆ ๋ฐ ๋ฒ„๊ทธ ๊ฐ์ง€์™€ ๊ด€๋ จ๋œ ๋งŽ์€ ์ž‘์—…์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹คโ€ฆ ๊ทธ๊ฑฐ ์•Œ์•„์š”? ์ง€๊ธˆ ์›น ์‚ฌ์ดํŠธ๊ฐ€์žˆ๋‹ค., HAProxy-WI์˜ ๋ฐ๋ชจ๊ฐ€ ์žˆ๊ณ  ๋ชจ๋“  ๊ฒƒ์„ ์ง์ ‘ ์ฐŒ๋ฅผ ์ˆ˜ ์žˆ๊ณ  ๋ณ€๊ฒฝ ๋กœ๊ทธ๊ฐ€ ์žˆ๋Š” ๊ณณ. "ํ•˜๋ธŒ๋กœ ํšจ๊ณผ"๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‚ฌ์ดํŠธ์™€ ๋ฐ๋ชจ๋ฅผ ์œ„ํ•œ ์ทจ์•ฝํ•œ ์„œ๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งํฌ GitHub์˜

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€