๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ธฐ์  ์—†์ด ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์Šค๋ฆด๋Ÿฌ

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

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

์ƒˆ๋กœ์šด ์„œ๋ฒ„์˜ ์‹œ์šด์ „์€ ๋งˆ๊ฐ์ผ์— ์—„๊ฒฉํ•˜๊ฒŒ ๋ฌถ์—ฌ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์ด๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ˆ˜์‹ญ์–ต ๊ฐœ์˜ ์„ ๋ฌผ ๋ฐฐ์†ก๊ณผ ์‹œ์Šคํ…œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋ชจ๋‘ ์œ„ํƒœ๋กœ์›Œ์ง€๋Š” ๊ฒƒ์„ ์˜๋ฏธํ–ˆ์Šต๋‹ˆ๋‹ค. Frost ์‹ ๋ถ€์™€ ์‚ฐํƒ€ํด๋กœ์Šค๋กœ ๊ตฌ์„ฑ๋œ ํŒ€์กฐ์ฐจ๋„ ๋‚ ์งœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ฐฝ๊ณ  ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด SAP ์‹œ์Šคํ…œ์„ 31๋…„์— ํ•œ ๋ฒˆ๋งŒ ์ด์ „ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1์›” 20์ผ๋ถ€ํ„ฐ 15์›” XNUMX์ผ๊นŒ์ง€ ์ถ•๊ตฌ์žฅ XNUMX๊ฐœ ํฌ๊ธฐ์— ๋‹ฌํ•˜๋Š” ์ด ์†Œ๋งค์—…์ฒด์˜ ๊ฑฐ๋Œ€ํ•œ ์ฐฝ๊ณ ๋Š” XNUMX์‹œ๊ฐ„ ๋™์•ˆ ์ž‘์—…์„ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ์‹œ์Šคํ…œ์„ ์ด๋™ํ•˜๋Š” ์œ ์ผํ•œ ๊ธฐ๊ฐ„์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฅผ ๋„์ž…ํ•  ๋•Œ ์‹ค์ˆ˜ํ•  ์—ฌ์ง€๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๋ถ„๋ช…ํžˆ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด ์ œ ์ด์•ผ๊ธฐ๋Š” ์šฐ๋ฆฌ ํŒ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ์™€ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ๊ด€๋ฆฌ ์ปดํ”Œ๋ ‰์Šค๋Š” ์—ฌ๋Ÿฌ ์ˆ˜์ค€์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ๋Š” CMS ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์‚ฐ์—… ์šด์˜์—์„œ ์ˆ˜์ค€ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์—†์œผ๋ฉด ํ•„์—ฐ์ ์œผ๋กœ ๋ถˆ์พŒํ•œ ๊ธฐ์ ์ด ๋ฐœ์ƒํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

OS ์„ค์น˜ ๊ด€๋ฆฌ

์ฒซ ๋ฒˆ์งธ ์ˆ˜์ค€์€ ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„์™€ ๊ฐ€์ƒ ์„œ๋ฒ„์˜ ์šด์˜ ์ฒด์ œ ์„ค์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ธ์  ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๊ธฐ๋ณธ OS ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์ž๋™ํ™”์— ์ ํ•ฉํ•œ OS๊ฐ€ ํฌํ•จ๋œ ํ‘œ์ค€ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. "์Ÿ์•„์ง€๋Š”" ๋™์•ˆ ๊ทธ๋“ค์€ ์ตœ์†Œํ•œ์˜ ๋กœ์ปฌ ์‚ฌ์šฉ์ž ์„ธํŠธ์™€ ๊ณต๊ฐœ SSH ํ‚ค๋Š” ๋ฌผ๋ก  ์ผ๊ด€๋œ OS ๊ตฌ์„ฑ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” CMS๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  OS ์ˆ˜์ค€์—์„œ "์•„๋ž˜"์— ๋†€๋ผ์šด ์ผ์ด ์—†๋‹ค๊ณ  ํ™•์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์˜ "์ตœ๋Œ€" ์ž‘์—…์€ BIOS/ํŽŒ์›จ์–ด ์ˆ˜์ค€์—์„œ OS๊นŒ์ง€ ์„œ๋ฒ„๋ฅผ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งŽ์€ ๋ถ€๋ถ„์€ ์žฅ๋น„ ๋ฐ ์„ค์ • ์ž‘์—…์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์ด๊ธฐ์ข… ์žฅ๋น„์˜ ๊ฒฝ์šฐ ๋‹ค์Œ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ๋“œํ”ผ์‰ฌ API. ๋ชจ๋“  ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•œ ๊ณต๊ธ‰์—…์ฒด์˜ ์ œํ’ˆ์ธ ๊ฒฝ์šฐ ๊ธฐ์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ(์˜ˆ: HP ILO Amplifier, DELL OpenManage ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ํŽธ๋ฆฌํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ฆฌ์  ์„œ๋ฒ„์— OS๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ์šด์˜ ์„œ๋น„์Šค์™€ ํ•ฉ์˜๋œ ์„ค์น˜ ํ”„๋กœํ•„ ์„ธํŠธ๋ฅผ ์ •์˜ํ•˜๋Š” ์ž˜ ์•Œ๋ ค์ง„ Cobbler๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ธํ”„๋ผ์— ์ƒˆ ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ์—”์ง€๋‹ˆ์–ด๋Š” ์„œ๋ฒ„์˜ MAC ์ฃผ์†Œ๋ฅผ Cobbler์˜ ํ•„์ˆ˜ ํ”„๋กœํ•„์— ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ถ€ํŒ…ํ•  ๋•Œ ์„œ๋ฒ„๋Š” ์ž„์‹œ ์ฃผ์†Œ์™€ ์ƒˆ๋กœ์šด OS๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋Œ€์ƒ VLAN/IP ์ฃผ์†Œ ์ง€์ •์œผ๋กœ ์ „์†ก๋˜์–ด ๊ทธ๊ณณ์—์„œ ๊ณ„์† ์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ, VLAN์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐ๋Š” ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ  ์กฐ์ •์ด ํ•„์š”ํ•˜์ง€๋งŒ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ์‹ค์ˆ˜๋กœ ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด ์ถ”๊ฐ€์ ์ธ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Hashiะกorp Packer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค€๋น„๋œ ํ…œํ”Œ๋ฆฟ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ€์ƒ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์œ ๋Š” ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. OS ์„ค์น˜ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์  ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„์™€ ๋‹ฌ๋ฆฌ Packer๋Š” PXE, ๋„คํŠธ์›Œํฌ ๋ถ€ํŒ… ๋ฐ VLAN ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๊ฐ€์ƒ ์„œ๋ฒ„๋ฅผ ๋”์šฑ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ธฐ์  ์—†์ด ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์Šค๋ฆด๋Ÿฌ
์Œ€. 1. ์šด์˜ ์ฒด์ œ ์„ค์น˜๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋น„๋ฐ€ ๊ด€๋ฆฌ

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

์ฒ˜์Œ๋ถ€ํ„ฐ ์ด๋Ÿฌํ•œ ๋น„๋ฐ€์„ ์ €์žฅํ•  ์œ„์น˜์™€ ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ •๋ณด ๋ณด์•ˆ ์š”๊ตฌ ์‚ฌํ•ญ์˜ ์‹ฌ๊ฐ๋„์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ €์žฅ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ตฌ์„ฑ ์ œ์–ด ์ฝ”๋“œ ๋˜๋Š” ์ €์žฅ์†Œ์˜ ํŒŒ์ผ์—์„œ ์ง์ ‘;
  • ์ „๋ฌธ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ(์˜ˆ: Ansible Vault)
  • CI/CD ์‹œ์Šคํ…œ(Jenkins/TeamCity/GitLab/๋“ฑ) ๋˜๋Š” ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(Ansible Tower/Ansible AWX)
  • ๋น„๋ฐ€์€ "์ˆ˜๋™์œผ๋กœ" ์ „์†ก๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ง€์ •๋œ ์œ„์น˜์— ๋ฐฐ์น˜๋œ ๋‹ค์Œ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์œ„์˜ ๋‹ค์–‘ํ•œ ์กฐํ•ฉ.

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

์šฐ๋ฆฌ๋Š” ์ค‘์•™ ์ง‘์ค‘์‹ ๋น„๋ฐ€ ์ €์žฅ์†Œ์ธ HashiCorp Vault๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

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

์šฐ๋ฆฌ๋Š” ์‹œ์Šคํ…œ์— ๋น„๋ฐ€ ๊ด€๋ฆฌ ๋ฐ ์ค‘์•™ ์ธ์ฆ/๊ถŒํ•œ ๋ถ€์—ฌ๋ผ๋Š” ๋˜ ๋‹ค๋ฅธ ์ˆ˜์ค€์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ธฐ์  ์—†์ด ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์Šค๋ฆด๋Ÿฌ
์Œ€. 2. ๋น„๋ฐ€ ๊ด€๋ฆฌ.

๊ตฌ์„ฑ ๊ด€๋ฆฌ

์šฐ๋ฆฌ๋Š” ํ•ต์‹ฌ์ธ CMS ์‹œ์Šคํ…œ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ์ด๋Š” Ansible๊ณผ Red Hat Ansible AWX์˜ ์กฐํ•ฉ์ž…๋‹ˆ๋‹ค.

Ansible ๋Œ€์‹  Chef, Puppet, SaltStack์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ค€์— ๋”ฐ๋ผ Ansible์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

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

ํ•˜์ง€๋งŒ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ Ansible๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์•ก์„ธ์Šค๋ฅผ ์ œํ•œํ•˜๊ณ  ๊ด€๋ฆฌ์ž์˜ ์ž‘์—…์„ ๊ฐ์‚ฌํ•˜๋Š” ๋ฐ ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ์„ ์ œํ•œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ฒฐ๊ตญ ๊ฐ ๋ถ€์„œ๋Š” "์ž์ฒด" ์„œ๋ฒ„ ์„ธํŠธ๋ฅผ ๊ด€๋ฆฌ(์ฝ๊ธฐ: Ansible ํ”Œ๋ ˆ์ด๋ถ ์‹คํ–‰)ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ์ง์›๋งŒ ํŠน์ • Ansible ํ”Œ๋ ˆ์ด๋ถ์„ ์‹คํ–‰ํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด Ansible์„ ์‹คํ–‰ํ•˜๋Š” ์„œ๋ฒ„์™€ ์žฅ๋น„์— ๋Œ€ํ•œ ๋งŽ์€ ํ˜„์ง€ ์ง€์‹์„ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ  ๋ˆ„๊ฐ€ ํ”Œ๋ ˆ์ด๋ถ์„ ์‹œ์ž‘ํ–ˆ๋Š”์ง€ ์ถ”์ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด๋Ÿฌํ•œ ๋ฌธ์ œ์˜ ๋Œ€๋ถ€๋ถ„์€ Red Hat์— ์˜ํ•ด ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์•ค์„œ๋ธ” ํƒ€์›Œ, ๋˜๋Š” ๊ทธ์˜ ์˜คํ”ˆ ์†Œ์Šค ์—…์ŠคํŠธ๋ฆผ ํ”„๋กœ์ ํŠธ ์•ค์„œ๋ธ” AWX. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๊ณ ๊ฐ์„ ์œ„ํ•ด ๊ทธ๊ฒƒ์„ ์„ ํ˜ธํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  CMS ์‹œ์Šคํ…œ์˜ ์ดˆ์ƒํ™”๋ฅผ ํ•œ ๋ฒˆ ๋” ํ„ฐ์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Ansible ํ”Œ๋ ˆ์ด๋ถ์€ ์ฝ”๋“œ ์ €์žฅ์†Œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ์ €์žฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค ๊นƒ๋žฉ CE.

๋”ฐ๋ผ์„œ ๊ตฌ์„ฑ ์ž์ฒด๋Š” Ansible/Ansible AWX/GitLab์˜ ์กฐํ•ฉ์œผ๋กœ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 3 ์ฐธ์กฐ). ๋ฌผ๋ก  AWX/GitLab์€ ๋‹จ์ผ ์ธ์ฆ ์‹œ์Šคํ…œ์œผ๋กœ ํ†ตํ•ฉ๋˜๊ณ , Ansible ํ”Œ๋ ˆ์ด๋ถ์€ HashiCorp Vault์™€ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์€ ๋ชจ๋“  "๊ฒŒ์ž„์˜ ๊ทœ์น™"์ด ์ง€์ •๋˜๋Š” Ansible AWX๋ฅผ ํ†ตํ•ด์„œ๋งŒ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์ฆ‰, ๋ˆ„๊ฐ€ ๋ฌด์—‡์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”์ง€, CMS์šฉ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์ฝ”๋“œ๋ฅผ ์–ด๋””์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๋“ฑ์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ธฐ์  ์—†์ด ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์Šค๋ฆด๋Ÿฌ
์Œ€. 3. ๊ตฌ์„ฑ ๊ด€๋ฆฌ.

ํ…Œ์ŠคํŠธ ๊ด€๋ฆฌ

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

์ด ์ž‘์—…์ด ์ฆ‰์‹œ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์œผ๋ฉด ๊ตฌ์„ฑ์„ ์œ„ํ•ด ์ž‘์„ฑ๋œ ์—ญํ• ์€ ์ง€์› ๋ฐ ์ˆ˜์ •์ด ์ค‘๋‹จ๋˜๊ฑฐ๋‚˜ ํ”„๋กœ๋•์…˜์—์„œ ์‹œ์ž‘์ด ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ด ํ†ต์ฆ์— ๋Œ€ํ•œ ์น˜๋ฃŒ๋ฒ•์€ ์•Œ๋ ค์ ธ ์žˆ์œผ๋ฉฐ ์ด ํ”„๋กœ์ ํŠธ์—์„œ ์ž…์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

์ฝ”๋“œ ๊ฐœ๋ฐœ ๋ฐ ๊ตฌ์„ฑ ๊ด€๋ฆฌ๋Š” ๋”์šฑ ์ฐจ๋ถ„ํ•ด์ง€๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ง€์†์ ์ธ ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด GitLab CI/CD ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜๊ณ  ์•ค์„œ๋ธ” ๋ถ„์ž.

๊ตฌ์„ฑ ๊ด€๋ฆฌ ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค GitLab CI/CD๋Š” Molecule์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

  • ์ฝ”๋“œ ๊ตฌ๋ฌธ์„ ํ™•์ธํ•˜๊ณ ,
  • Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์˜ฌ๋ฆฌ๊ณ ,
  • ์ƒ์„ฑ๋œ ์ปจํ…Œ์ด๋„ˆ์— ์ˆ˜์ •๋œ ์ฝ”๋“œ๋ฅผ ์ ์šฉํ•˜๊ณ ,
  • ์—ญํ• ์˜ ๋ฉฑ๋“ฑ์„ฑ์„ ํ™•์ธํ•˜๊ณ  ์ด ์ฝ”๋“œ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค(์—ฌ๊ธฐ์„œ ์„ธ๋ถ„์„ฑ์€ Ansible ์—ญํ•  ์ˆ˜์ค€์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆผ 4 ์ฐธ์กฐ).

์šฐ๋ฆฌ๋Š” Ansible AWX๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๊ตฌ์„ฑ์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ์šด์˜ ์—”์ง€๋‹ˆ์–ด๋Š” ์‚ฌ์ „ ์ •์˜๋œ ํ…œํ”Œ๋ฆฟ์„ ํ†ตํ•ด ๊ตฌ์„ฑ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. AWX๋Š” ์‚ฌ์šฉ๋  ๋•Œ๋งˆ๋‹ค GitLab ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์—์„œ ์ตœ์‹  ๋ฒ„์ „์˜ ์ฝ”๋“œ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ "์š”์ฒญ"ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์˜ค๋ž˜๋œ ์ฝ”๋“œ์˜ ์‚ฌ์šฉ์„ ์ œ์™ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ์ฝ”๋“œ๋Š” ํ…Œ์ŠคํŠธ, ๊ฒ€ํ†  ๋ฐ ์Šน์ธ ํ›„์—๋งŒ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ์ž…๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ธฐ์  ์—†์ด ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์Šค๋ฆด๋Ÿฌ
์Œ€. 4. GitLab CI/CD์˜ ์—ญํ•  ์ž๋™ ํ…Œ์ŠคํŠธ.

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

๊ฒฐ๊ณผ์ ์œผ๋กœ ์ˆ˜๋™ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ๋™์ผํ•œ ์œ ํ˜•์˜ ์žฅ๋น„์—์„œ ๊ตฌ์„ฑ์— ๋ถˆ์ผ์น˜๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค(์˜ˆ: sysctl ์„ค์ •์ด HA ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ์—์„œ ๋‹ค๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋จ). ๋˜๋Š” ์žฅ๋น„์˜ ์‹ค์ œ ๊ตฌ์„ฑ์ด CMS ์ฝ”๋“œ์— ์ง€์ •๋œ ๊ตฌ์„ฑ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ง€์†์ ์ธ ํ…Œ์ŠคํŠธ ์™ธ์—๋„ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๊ตฌ์„ฑ ๋ถˆ์ผ์น˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์˜ต์…˜์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ณ„ํš๋œ ๊ตฌ์„ฑ๊ณผ ์‹ค์ œ ๊ตฌ์„ฑ ๊ฐ„์˜ ๋ชจ๋“  ๋ถˆ์ผ์น˜๋ฅผ ์•Œ๋ฆฌ๋Š” "๋ชจ์˜ ์‹คํ–‰" ๋ชจ๋“œ์—์„œ CMS ๊ตฌ์„ฑ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์—์„œ "-check" ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  Ansible ํ”Œ๋ ˆ์ด๋ถ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์ด๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ธ์ œ๋‚˜ ๊ทธ๋ ‡๋“ฏ์ด Ansible AWX๋Š” ํ”Œ๋ ˆ์ด๋ถ์„ ์‹œ์ž‘ํ•˜๊ณ  ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 5 ์ฐธ์กฐ).

๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ธฐ์  ์—†์ด ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์Šค๋ฆด๋Ÿฌ
์Œ€. 5. Ansible AWX์—์„œ ๊ตฌ์„ฑ ๋ถˆ์ผ์น˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ™•์ธ ํ›„ AWX๋Š” ๋ถˆ์ผ์น˜ ๋ณด๊ณ ์„œ๋ฅผ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ตฌ์„ฑ์„ ์—ฐ๊ตฌํ•œ ๋‹ค์Œ ์กฐ์ •๋œ ํ”Œ๋ ˆ์ด๋ถ์„ ํ†ตํ•ด ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๊ตฌ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ฉฐ CMS๋Š” ํ•ญ์ƒ ์ตœ์‹  ์ƒํƒœ๋กœ ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” CMS ์ฝ”๋“œ๊ฐ€ "ํ”„๋กœ๋•์…˜" ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ๋  ๋•Œ ๋ถˆ์พŒํ•œ "๊ธฐ์ "์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ Ansible AWX/GitLab/Molecule์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ค‘์š”ํ•œ ํ…Œ์ŠคํŠธ ๊ณ„์ธต์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆผ 6).

๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ธฐ์  ์—†์ด ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์Šค๋ฆด๋Ÿฌ
์Œ€. 6. ํ…Œ์ŠคํŠธ ๊ด€๋ฆฌ.

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

์˜ค๋Š˜๋‚  ์„œ๋ฒ„ ๋ฐ ํ™˜๊ฒฝ ์„ค์ •์—๋Š” "๋น„๋ฐ€ ์ง€์‹"์ด ์—†์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ชจ๋“  ๊ธฐ๋Šฅ์€ ํ”Œ๋ ˆ์ด๋ถ์— ๋ฐ˜์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ์ฐฝ์˜์„ฑ์ด๋‚˜ ๋ชจํ˜ธํ•œ ์ง€์นจ์ด ์—†์Šต๋‹ˆ๋‹ค. โ€œ์ผ๋ฐ˜ Oracle์ฒ˜๋Ÿผ ์„ค์น˜ํ•˜์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ sysctl ์„ค์ •์„ ์ง€์ •ํ•˜๊ณ  ํ•„์ˆ˜ UID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šด์˜ํ•˜๋Š” ์‚ฌ๋žŒ๋“คํ•œํ…Œ ๋ฌผ์–ด๋ณด๋ฉด ๋‹ค ์•Œ์ž–์•„์š”".

๊ตฌ์„ฑ ๋ถˆ์ผ์น˜๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์‚ฌ์ „์— ์ˆ˜์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋งˆ์Œ์˜ ํ‰ํ™”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ์—†์œผ๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค. ์–ด๋Š ๋‚  ์ƒ์‚ฐ์— "์ดฌ์˜"๋  ๋•Œ๊นŒ์ง€ ๋ฌธ์ œ๊ฐ€ ๋ˆ„์ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณด๊ณ ๊ฐ€ ์ˆ˜ํ–‰๋˜๊ณ  ๊ตฌ์„ฑ์ด ํ™•์ธ๋˜๊ณ  ์ˆ˜์ •๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์‚ฌ์ดํด์€ ๋‹ค์‹œ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค

๋ฌผ๋ก , ์šฐ๋ฆฌ๋Š” ์„œ๋ฒ„ ์ถœ์‹œ๋ฅผ ๋ฉฐ์น ์—์„œ ๋ช‡ ์‹œ๊ฐ„์œผ๋กœ ๊ฐ€์†ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

์Œ, ์ƒˆํ•ด ์ „์•ผ์— ์•„์ด๋“ค์ด ์ฆ๊ฒ๊ฒŒ ์„ ๋ฌผ ํฌ์žฅ์„ ํ’€๊ณ  ์–ด๋ฅธ๋“ค์ด ์ข…์†Œ๋ฆฌ๋ฅผ ๋“ค์œผ๋ฉฐ ์†Œ์›์„ ๋นŒ๊ณ  ์žˆ์„ ๋•Œ ์šฐ๋ฆฌ ์—”์ง€๋‹ˆ์–ด๋“ค์€ SAP ์‹œ์Šคํ…œ์„ ์ƒˆ ์„œ๋ฒ„๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฐํƒ€ํด๋กœ์Šค๋„ ์ตœ๊ณ ์˜ ๊ธฐ์ ์€ ์ž˜ ์ค€๋น„๋œ ๊ธฐ์ ์ด๋ผ๊ณ  ๋งํ•  ๊ฒƒ์ด๋‹ค.

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

์ €์ž: Sergey Artemov, ๋ถ€์„œ ์„ค๊ณ„์ž DevOps ์†”๋ฃจ์…˜ "์ œํŠธ ์ธํฌ์‹œ์Šคํ…œ์ฆˆ"

์ถœ์ฒ˜ : habr.com

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