์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์˜ ํ˜„๋Œ€ ์„ธ๊ณ„๋Š” ์šฐ๋ฆฌ๋ฅผ ์•„๋ฆ„๋‹ค์šด ์›น ํŽ˜์ด์Šค๋กœ ๋„ˆ๋ฌด ๊ฒŒ์œผ๋ฅด๊ฒŒ ๋งŒ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ๋ฐ”๋กœ ์ด "๋‚จ์ž"๊ฐ€ ์—†๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. (๋…์‹คํ•œ ์Šคํ‹ฐ์ฒ˜์—์„œ ๋Œ์ด ๋‚ ์•„๊ฐˆ ๊ฒƒ ๊ฐ™์€ ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค) , ๋ญ, ๊ณ„์†ํ•ด์„œ ์ค„์„ ํƒ€๊ณ  ์˜ค๋ฅด๋Š” ๊ฑด ์•„๋‹ˆ๊ฒ ์ฃ ? ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ตฌ์„ฑํ•˜๊ณ  ์žŠ์–ด๋ฒ„๋ฆฐ ๊ฒฝ์šฐ์—๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€์†์ ์œผ๋กœ ๊ฑฐ๊ธฐ์— ์˜ฌ๋ผ๊ฐ€์„œ ํŽธ์ง‘ํ•ด์•ผ ํ•˜๊ณ  ๋ฌผ๋ก  ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•œ ๋กœ๊ทธ๊ฐ€ ์—†์œผ๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ๋งค๋ฒˆ cp cfg cfg_back์„ ์“ฐ์ง€ ๋งˆ์„ธ์š”. ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋‹น์‹ ์€ ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œ์ง€๊ณ  ์ด ๋ฌธ์ œ๋ฅผ ์žŠ์–ด๋ฒ„๋ฆฌ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

์ˆ˜๋…„ ์ „์— ๋‚˜๋Š” Haproxy์™€ ๊ฐ™์€ ํ›Œ๋ฅญํ•œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋งŒ๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ํ›Œ๋ฅญํ•˜๊ณ  ์•„๋ฆ„๋‹ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒŒ ๋งŽ์•„์„œ GUI๋ฅผ ์ฐพ์•„๋ณผ๊นŒ ๊ณ ๋ฏผํ–ˆ๋Š”๋ฐ ๋†€๋ž๊ฒŒ๋„ ๊ทธ๋Ÿฐ ๊ฒŒ ์—†์—ˆ์–ด์š”. ๋งค์šฐ ์ธ๊ธฐ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๊ณ  ๊ฝค ์˜ค๋ž˜๋˜์—ˆ์ง€๋งŒ, ์ €๋Š” ์ œ๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” vi์—์„œ ํŽœ์„ ํŽธ์ง‘ํ•˜๊ณ  ๋ชจ๋“  ํ™œ์„ฑ ์„œ๋ฒ„์˜ ํ†ต๊ณ„๊ฐ€ ํฌํ•จ๋œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ด๋ฆฐ ํƒญ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๊ณ„์†ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋•Œ๊ฐ€ ์™”๊ณ  ๋‚˜๋Š” http๋ฅผ ํ†ตํ•ด ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์˜ "์›ํ•˜๋Š” ๊ฒƒ"์„ ์ถฉ์กฑ์‹œ์ผœ์•ผ ํ–ˆ๊ณ , ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ์ผ์ด ํฅ๋ฏธ๋กœ์›Œ์ง€๋Š” ์ง€์ ์ด์—ˆ์Šต๋‹ˆ๋‹คโ€ฆ

์†์ด ๊ฐ€๋ ต๊ณ  ๋ˆˆ์ด ๋ฐ์•„์ง€๋ฉด์„œ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ •ํ™•ํ•˜๊ฒŒ๋Š” ์˜ค๋žซ๋™์•ˆ ์žŠํ˜€์ง„ PHP๋ฅผ ๊ธฐ์–ตํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์—‡์„ ์จ์•ผํ• ์ง€ ์ƒ๊ฐํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ์™ ์ง€ ์›ํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ์ด ๋ฌธ์ œ์— ์ „ํ˜€ ์ ํ•ฉํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์„ ํƒ์€ Python์œผ๋กœ ๋–จ์–ด์กŒ๊ณ  ์•ž์œผ๋กœ๋Š” ํ™•์‹คํžˆ ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ •๋ณด๋ฅผ ํก์ˆ˜ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

๊ทธ๋ฆฌ๊ณ  ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด์— ์˜์กดํ•˜๋Š” ํ’ˆ์œ„ ์žˆ๋Š” UNIX ๊ด€๋ฆฌ์ž๋กœ์„œ ์ €๋Š” ์ด๋ฅผ ์ „ ์„ธ๊ณ„์™€ ๊ณต์œ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด๊ฒƒ์ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ๋„ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ํ•˜์ง€๋งŒ ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์ฝ”๋“œ์— ๋“ค์–ด๊ฐˆ ํ•„์š” ์—†์ด ์ตœ๋Œ€ํ•œ ๊ตฌ์„ฑ ๋ฒ„ํŠธ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. (์ด์ œ ๋Œ€๋ถ€๋ถ„์˜ ์„ค์ •์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ํŽธ์ง‘ํ•˜๊ธฐ๊ฐ€ ๋” ํŽธ๋ฆฌํ•ด์ง€๋ฉฐ ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†์–ด ์—…๋ฐ์ดํŠธํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•œ ๋‹ฌ ํ›„, ๋‚˜๋Š” ๋ณ„ ๊ธฐ๋Œ€ ์—†์ด ๋‚ด ์ž‘ํ’ˆ์„ Github์— ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ—›๋˜์ด ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ์•ฝ๊ฐ„ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜์—ˆ๊ณ  ์žฌ๋ฏธ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค... ํ™œ์„ฑ "์—…๋ฐ์ดํŠธ"๊ฐ€ ๊ฑฐ์˜ XNUMX๋…„ ๋™์•ˆ ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ํฌ๊ธฐํ•˜๊ณ  ์‹ถ์€ ์š•๋ง๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด... ๋‚ด ์š”๊ตฌ ์‚ฌํ•ญ์€ ์˜ค๋žซ๋™์•ˆ ์ถฉ์กฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„๋ฐ–์— ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์›น์„ ํ†ตํ•ด ์—ฐ๊ฒฐ ์œ ์ง€ ๋ฐ HAProxy๊ฐ€ ํฌํ•จ๋œ "ํด๋Ÿฌ์Šคํ„ฐ"๋ฅผ ๋ฐฐํฌํ•  ๊ธฐํšŒ๊ฐ€ ์™œ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ํ•˜์ง€๋งŒ ์‚ฌ๋žŒ๋“ค์ด ๊ทธ๊ฒƒ์„ ํ•„์š”๋กœ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ๊ณ , ๋‚˜๋Š” ๊ด€์‹ฌ์ด ์žˆ๊ณ , ํ•  ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  Haproxy์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ฐ™์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๊ธฐ์—… ๋ชจ๋‹ˆํ„ฐ๋ง๋„ ์žˆ์ง€๋งŒ ๊ฝค ์˜ค๋žซ๋™์•ˆ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„๋“ค๋„ ๊ณ„์‹œ๊ฑฐ๋“ ์š”. + ์™œ๋ƒ๋ฉด... ์šฐ๋ฆฌ ๋ถ€์„œ๋Š” ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ด€๋ฃŒ์ฃผ์˜๋ฅผ ํ†ต๊ณผํ•  ๋งŒํผ ์˜ค๋žซ๋™์•ˆ ๋‚˜ํƒ€๋‚˜๊ณ  ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

์‹ค์ˆ˜๋กœ Haproxy์šฉ Web-GUI๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

์ผ๋ฐ˜์ ์œผ๋กœ ์ด๊ฒƒ์ด ์œ ์ผํ•œ ๋ฌด๋ฃŒ GUI๋ผ๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ๊ธฐ ๋•Œ๋ฌธ์— ๊ณต์œ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ทธ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? GitHub์— ์—ฐ๊ฒฐ.

์ถœ์ฒ˜ : habr.com

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