์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

NESDIS(National Environmental Satellite Data Information Service)๋Š” Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜์—ฌ Red Hat Enterprise Linux(RHEL)์˜ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ๋น„์šฉ์„ 35% ์ ˆ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด "์‹คํ–‰ ๋ฐฉ๋ฒ•" ๋น„๋””์˜ค์—์„œ ์‹œ์Šคํ…œ ์—”์ง€๋‹ˆ์–ด์ธ Michael Rau๋Š” ์ด๋Ÿฌํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‚ฌ๋ก€๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ํ•œ SCM์—์„œ ๋‹ค๋ฅธ SCM์œผ๋กœ ์ด๋™ํ•˜๋ฉด์„œ ์–ป์€ ์œ ์šฉํ•œ ํŒ๊ณผ ๊ตํ›ˆ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋น„๋””์˜ค์—์„œ ๋ฐฐ์šธ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Puppet Enterprise์—์„œ Ansible Tower๋กœ์˜ ์ „ํ™˜ ๊ฐ€๋Šฅ์„ฑ์„ ๊ฒฝ์˜์ง„์—๊ฒŒ ์ •๋‹นํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๊ฐ€๋Šฅํ•œ ํ•œ ์›ํ™œํ•˜๊ฒŒ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ „๋žต์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
  • PE ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ Ansible ํ”Œ๋ ˆ์ด๋ถ์œผ๋กœ ํŠธ๋žœ์Šค์ฝ”๋”ฉํ•˜๊ธฐ ์œ„ํ•œ ํŒ
  • Ansible Tower์˜ ์ตœ์  ์„ค์น˜๋ฅผ ์œ„ํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ.

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์ œ ์ด๋ฆ„์€ Michael Rau์ž…๋‹ˆ๋‹ค. ์ €๋Š” NOAA(National Oceanic and Atmospheric Administration) NESDIS ์„œ๋น„์Šค์—์„œ ์ผํ•˜๋Š” ActioNet์˜ ์ˆ˜์„ ์‹œ์Šคํ…œ ์—”์ง€๋‹ˆ์–ด์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ๋ฌธ์ž์—ด ํŠธ๋ฆฌ๋ฐ(Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•œ ๋‚ด ๊ฒฝํ—˜)์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋ ˆ์  ํ…Œ์ด์…˜์˜ ์ฃผ์ œ๋Š” ์ œ๊ฐ€ ์˜ฌํ•ด ์ดˆ ์ „ํ™˜์„ ์ด๋ฃฌ ํ›„ ๋‚จ๊ฒจ์ง„ โ€œ๋‚ด ์ƒ์ฒ˜๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”โ€์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ ํ†ตํ•ด ์ œ๊ฐ€ ๋ฐฐ์šด ๊ฒƒ์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋Ÿฐ ์ผ์„ ๋งก์„ ๋•Œ ๋‚ด ๊ฒฝํ—˜์„ ํ™œ์šฉํ•˜๋ฉด ์ถ”๊ฐ€ ์ž‘์—… ์—†์ด ์ „ํ™˜์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ansible Fest์˜ ๋ชจ๋“  ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์‹œ์ž‘ ๋ถ€๋ถ„์—์„œ ์ด์™€ ์œ ์‚ฌํ•œ ์Šฌ๋ผ์ด๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์Šฌ๋ผ์ด๋“œ์—๋Š” ์šฐ๋ฆฌ ํšŒ์‚ฌ์˜ ์ž๋™ํ™” ์—ญ์‚ฌ์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์„ค๋ช…์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” 2007๋…„๋ถ€ํ„ฐ Puppet/Puppet Enterprise๋ฅผ ์‚ฌ์šฉํ•ด์™”๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธฐ๋Šฅ์ด ์ฒ˜์Œ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ €๋Š” 2016๋…„์— Ansible์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ์ด ์ œํ’ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๋งŽ์€ ์‚ฌ์šฉ์ž๋“ค์ฒ˜๋Ÿผ ๋ช…๋ น์ค„๊ณผ ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ(ํ”Œ๋ ˆ์ด๋ถ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ "ํŠธ๋ฆญ"์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฐ€๋Šฅ์„ฑ์— ๋งค๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2017๋…„ ๋ง์— ์ €๋Š” Ansible Tower๋กœ ์ด์ „ํ•ด์•ผ ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ์ด์œ ์— ๋Œ€ํ•ด ๊ฒฝ์˜์ง„์—๊ฒŒ ๋ฌธ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž ์‹œ ํ›„์— ์ œ๊ฐ€ ์ด ์กฐ์น˜๋ฅผ ์ทจํ•˜๊ฒŒ ๋œ ์ด์œ ์— ๋Œ€ํ•ด ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฒฝ์˜์ง„์˜ ๋™์˜๋ฅผ ๋ฐ›์€ ํ›„ ๊ณ„ํš์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ๋ช‡ ๋‹ฌ์ด ๋” ๊ฑธ๋ ธ๊ณ  ์˜ฌํ•ด XNUMX~XNUMX์›”์— ์ „ํ™˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” Ansible์„ ์„ ํ˜ธํ•˜์—ฌ Puppet์„ ์™„์ „ํžˆ ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ์ •๋ง ์ข‹์€ ์ผ์ž…๋‹ˆ๋‹ค.

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

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

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

์ด๋Š” ์—ฐ๋ฐฉ LAN, ํด๋ผ์šฐ๋“œ MPLS๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ 7๊ฐœ์˜ ๋ฌผ๋ฆฌ์  ์‚ฌ์ดํŠธ, 140๊ฐœ์˜ RHEL ์„œ๋ฒ„(99%๋Š” ๊ฐ€์ƒ(vSphere)), SuperMicro ํ•˜๋“œ์›จ์–ด, NexentaStore ๋„คํŠธ์›Œํฌ ์Šคํ† ๋ฆฌ์ง€, Cisco, Arista ๋ฐ Cumulus ์Šค์œ„์น˜ ์„ธํŠธ ๋ฐ Fortinet UTM ํ†ตํ•ฉ ์œ„ํ˜‘ ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ฐ ์‚ฌ์ดํŠธ์˜ ๋„๊ตฌ.

์—ฐ๋ฐฉ ๋„คํŠธ์›Œํฌ๋Š” ๋ฒ•์ด ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ์ •๋ณด ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Puppet Enterprise๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ถ€ ๊ธฐ๊ด€์ด ์ด ๋น„์šฉ ํ•ญ๋ชฉ์— ์ž๊ธˆ์„ ์กฐ๋‹ฌํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ์˜ˆ์‚ฐ ํ•˜๋“œ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์šฐ๋ฆฌ๊ฐ€ SuperMicro ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ตฌ๋งคํ•˜๊ณ  ๊ฐœ๋ณ„ ๋ถ€ํ’ˆ์œผ๋กœ ์žฅ๋น„๋ฅผ ์กฐ๋ฆฝํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ์œ ์ง€ ๊ด€๋ฆฌ๋Š” ์ •๋ถ€ ๊ณ„์•ฝ์„ ํ†ตํ•ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Linux๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด๊ฒƒ์ด Ansible๋กœ ์ „ํ™˜ํ•˜๋Š” ์ค‘์š”ํ•œ ์ด์œ  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

Puppet๊ณผ ํ•จ๊ป˜ํ•œ ์šฐ๋ฆฌ์˜ ์—ญ์‚ฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

2007๋…„์— ์šฐ๋ฆฌ๋Š” Puppet์„ ๋ฐฐํฌํ•œ 20-25๊ฐœ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ ์†Œ๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ๋ฅผ ๋ณด์œ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๋…ธ๋“œ๋Š” RedHat "๋ฐ•์Šค"์˜€์Šต๋‹ˆ๋‹ค. 2010๋…„์— ์šฐ๋ฆฌ๋Š” 45๊ฐœ ๋…ธ๋“œ์— ๋Œ€ํ•ด Puppet Dashboard ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ณ„์† ํ™•์žฅ๋จ์— ๋”ฐ๋ผ ์šฐ๋ฆฌ๋Š” 2014๋…„์— PE 3.3์œผ๋กœ ์ „ํ™˜ํ•˜์—ฌ 75๊ฐœ ๋…ธ๋“œ์— ๋Œ€ํ•œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์žฌ์ž‘์„ฑ์„ ํ†ตํ•ด ์™„์ „ํ•œ ์ „ํ™˜์„ ์ด๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. Puppet์€ ๊ฒŒ์ž„ ๊ทœ์น™์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ–ˆ์œผ๋ฉฐ ์ด ๊ฒฝ์šฐ ์–ธ์–ด๋ฅผ ์™„์ „ํžˆ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. 3๋…„ ํ›„, Puppet Enterprise ๋ฒ„์ „ 2015.2์— ๋Œ€ํ•œ ์ง€์›์ด ์ข…๋ฃŒ๋˜์ž ์šฐ๋ฆฌ๋Š” ๊ฐ•์ œ๋กœ PE 100๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๊ณ  85๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์˜ˆ์•ฝ๋œ ๋ผ์ด์„ ์Šค๋ฅผ ๊ตฌ๋งคํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹œ์—๋Š” ๋…ธ๋“œ๊ฐ€ XNUMX๊ฐœ๋ฐ–์— ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๊ฒจ์šฐ 2๋…„์ด ์ง€๋‚ฌ๊ณ , ์ƒˆ๋กœ์šด PE 2016.4 ๋ฒ„์ „์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด ๋˜๋‹ค์‹œ ๋งŽ์€ ์ž‘์—…์„ ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” 300๊ฐœ์˜ ๋…ธ๋“œ์— ๋Œ€ํ•œ ๋ผ์ด์„ผ์Šค๋ฅผ ๊ตฌ์ž…ํ–ˆ๋Š”๋ฐ ๋…ธ๋“œ๋Š” 130๊ฐœ๋ฟ์ž…๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์˜ ์–ธ์–ด๋Š” 2015 ๋ฒ„์ „์˜ ์–ธ์–ด์™€ ๊ตฌ๋ฌธ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ๋‹ค์‹œ ํฌ๊ฒŒ ๋ณ€๊ฒฝํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ SCM์€ SVN ๋ฒ„์ „ ๊ด€๋ฆฌ์—์„œ Bitbucket(Git)์œผ๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด Puppet๊ณผ์˜ "๊ด€๊ณ„"์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ €๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ SCM์œผ๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋ฅผ ๊ฒฝ์˜์ง„์—๊ฒŒ ์„ค๋ช…ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ์„œ๋น„์Šค ๊ฐ€๊ฒฉ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. RedHat ์ง์›๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆด๋Š”๋ฐ ๊ทธ๋“ค์€ Ansible Tower๋กœ 300๋…ธ๋“œ ๋„คํŠธ์›Œํฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋น„์šฉ์ด Puppet Enterprise ๋น„์šฉ์˜ ์ ˆ๋ฐ˜์ด๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. Ansible Engine๋„ ๊ตฌ๋งคํ•˜๋ฉด ๋น„์šฉ์€ ๊ฑฐ์˜ ๊ฐ™์ง€๋งŒ PE๋ณด๋‹ค ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์—ฐ๋ฐฉ ์˜ˆ์‚ฐ์œผ๋กœ ์ž๊ธˆ์„ ์ง€์›๋ฐ›๋Š” ๊ตญ์˜ ๊ธฐ์—…์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ์ฃผ์žฅ์ž…๋‹ˆ๋‹ค.

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

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

Ansible Tower ์‹œ์Šคํ…œ์€ ์—์ด์ „ํŠธ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ Cisco ์Šค์œ„์น˜ ๋ฐ ๊ธฐํƒ€ ๋ชจ๋“  ์Šค์œ„์น˜๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด SCM์€ Qubes OS, Linux ๋ฐ 4.NET UTM์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Ansible Tower๋Š” ์˜คํ”ˆ ์†Œ์Šค Unix ๊ธฐ๋ฐ˜ ์šด์˜ ์ฒด์ œ์ธ Illumos ์ปค๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” NexentaStore ๋„คํŠธ์›Œํฌ ์Šคํ† ๋ฆฌ์ง€ ์ปจํŠธ๋กค๋Ÿฌ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ง€์›์ด ๊ฑฐ์˜ ์—†์ง€๋งŒ Ansible Tower๋Š” ์–ด์จŒ๋“  ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

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

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

Ansible Tower์˜ ๋‹ค์Œ ํฐ ์žฅ์ ์€ ๊ธฐ์กด ์ง€์› ์‹œ์Šคํ…œ์„ ํ™œ์šฉํ•˜๊ณ  ๊ธฐ์กด ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด SCM์€ ์ถ”๊ฐ€ ๋‹จ๊ณ„ ์—†์ด ์ธํ”„๋ผ ๋ฐ ํ•˜๋“œ์›จ์–ด, ๊ฐ€์ƒ ๋จธ์‹ , ์„œ๋ฒ„ ๋“ฑ์— ๋Œ€ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. RH Satellite ์„œ๋ฒ„(์žˆ๋Š” ๊ฒฝ์šฐ)์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Puppet์—์„œ๋Š” ๊ฒฐ์ฝ” ์–ป์„ ์ˆ˜ ์—†๋Š” ํ†ตํ•ฉ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋˜ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์„ธ๋ฐ€ํ•œ ์ปจํŠธ๋กค์ด๋‹ค. Puppet์€ ๋ชจ๋“ˆ์‹ ์‹œ์Šคํ…œ์ด๊ณ  ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ํ•˜๋‚˜์˜ ๊ธด ๋งค๋‹ˆํŽ˜์ŠคํŠธ์—์„œ ๋ชจ๋“  ์‹œ์Šคํ…œ์˜ ๊ธฐ์กด ์ธก๋ฉด์„ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์˜ ๊ฐ ๊ฐœ๋ณ„ ์š”์†Œ ์ƒํƒœ๋ฅผ XNUMX๋ถ„๋งˆ๋‹ค ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ ๊ธฐ๊ฐ„์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด Puppet์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

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

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณด์•ˆ ๋ชจ๋“ˆ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Ansible Tower๋Š” ๋งค์šฐ ์ •๋ฐ€ํ•˜๊ณ  ์„ธ์‹ฌํ•˜๊ฒŒ ์ด๋ฅผ ๋†€๋ž๋„๋ก ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ ํŠน์ • ์„œ๋น„์Šค๋‚˜ ํŠน์ • ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” Windows ์ž‘์—…์— ์ต์ˆ™ํ•œ ์ง์›๋“ค๊ณผ ํ•จ๊ป˜ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ Linux ์…ธ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๋“ค์ด ์—…๋ฌด๋งŒ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ž์‹ ๊ณผ ๊ด€๋ จ๋œ ์„œ๋น„์Šค๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก Tower์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

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

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

๋‹ค์Œ์œผ๋กœ, Ansible Tower์—์„œ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€, ์ด ์‹œ์Šคํ…œ์ด ์ •ํ™•ํžˆ ์–ด๋–ค ์—ญํ• ์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

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

๊ทธ๋Ÿฐ ๋‹ค์Œ ์™„๋ฃŒํ•˜๋ ค๋Š” ์ž‘์—…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์™€ ์—ญํ•  ์ž‘์„ฑ์„ ์‹œ์ž‘ํ•˜์„ธ์š”. ์ด๋ฅผ ๊ด€๋ จ ํ”Œ๋ ˆ์ด๋ถ์˜ ๋…ผ๋ฆฌ์  ์ปฌ๋ ‰์…˜์ธ ํ”„๋กœ์ ํŠธ๋กœ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ”„๋กœ์ ํŠธ๋Š” ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ ๊ด€๋ฆฌ์ž์— ๋”ฐ๋ผ ๋ณ„๋„์˜ Git ์ €์žฅ์†Œ ๋˜๋Š” ๋‹ค๋ฅธ ์ €์žฅ์†Œ์— ์†ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋ ˆ์ด๋ถ ์Šคํฌ๋ฆฝํŠธ ๋ฐ ํ”Œ๋ ˆ์ด๋ถ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ Tower ์„œ๋ฒ„์˜ ํ”„๋กœ์ ํŠธ ๊ธฐ๋ณธ ๊ฒฝ๋กœ์— ์ˆ˜๋™์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ฑฐ๋‚˜ Git, Subversion, Mercurial ๋ฐ Red Hat์„ ํฌํ•จํ•˜์—ฌ Tower์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ(SCM) ์‹œ์Šคํ…œ์— ํ”Œ๋ ˆ์ด๋ถ์„ ๋ฐฐ์น˜ํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ†ต์ฐฐ๋ ฅ. ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ ๋‚ด์— ์›ํ•˜๋Š” ๋งŒํผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, RedHat ํ•ต์‹ฌ ์š”์†Œ์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฝํŠธ, Linux ์ฝ”์–ด์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฝํŠธ, ๋‚˜๋จธ์ง€ ๊ธฐ์ค€์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋ณธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—๋Š” ํ•˜๋‚˜์˜ Git ์ €์žฅ์†Œ์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ๋‹ค์–‘ํ•œ ์—ญํ• ๊ณผ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ช…๋ น์ค„์„ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํƒ€์›Œ ์„ค์น˜๋ฅผ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Puppet ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํŠธ๋žœ์Šค์ฝ”๋”ฉ์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์ด์•ผ๊ธฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๊ธฐ๊นŒ์ง€ ์ด ์ž‘์—…์— ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 1 ๋ถ€

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

18:00

์Šค๋ ˆ๋“œ ์ ˆ๋‹จ: Puppet Enterprise์—์„œ Ansible Tower๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜. 2 ๋ถ€

์ผ๋ถ€ ๊ด‘๊ณ  ๐Ÿ™‚

์šฐ๋ฆฌ์™€ ํ•จ๊ป˜์žˆ์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๊ธฐ์‚ฌ๊ฐ€ ๋งˆ์Œ์— ๋“œ์‹ญ๋‹ˆ๊นŒ? ๋” ์žฌ๋ฏธ์žˆ๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด? ์ฃผ๋ฌธํ•˜๊ฑฐ๋‚˜ ์นœ๊ตฌ์—๊ฒŒ ์ถ”์ฒœํ•˜์—ฌ ์šฐ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์‹ญ์‹œ์˜ค. $4.99๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฐœ๋ฐœ์ž์šฉ ํด๋ผ์šฐ๋“œ VPS, ๊ท€ํ•˜๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๊ฐ€ ๋ฐœ๋ช…ํ•œ ๊ณ ์œ ํ•œ ๋ณด๊ธ‰ํ˜• ์„œ๋ฒ„ ์•„๋‚ ๋กœ๊ทธ: VPS(KVM) E5-2697 v3(6์ฝ”์–ด) 10GB DDR4 480GB SSD 1Gbps์— ๋Œ€ํ•œ ์ „์ฒด ์ง„์‹ค ๋˜๋Š” ์„œ๋ฒ„ ๊ณต์œ  ๋ฐฉ๋ฒ•์€? (RAID1 ๋ฐ RAID10์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ์ตœ๋Œ€ 24๊ฐœ ์ฝ”์–ด ๋ฐ ์ตœ๋Œ€ 40GB DDR4).

Dell R730xd๋Š” ์•”์Šคํ…Œ๋ฅด๋‹ด์˜ Equinix Tier IV ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ 2๋ฐฐ ๋” ์ €๋ ดํ•ฉ๋‹ˆ๊นŒ? ์—ฌ๊ธฐ์„œ ๋งŒ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV $199๋ถ€ํ„ฐ ๋„ค๋œ๋ž€๋“œ์—์„œ! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ์ตœ์ € $99! ์— ๋Œ€ํ•ด ์ฝ๋‹ค ์ธํ”„๋ผ ๊ณต์‚ฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•. 730ํŽ˜๋‹ˆ์— 5์œ ๋กœ ์ƒ๋‹น์˜ Dell R2650xd E4-9000 vXNUMX ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค?

์ถœ์ฒ˜ : habr.com

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