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์ ์ต์ ์ค์น๋ฅผ ์ํ ๊ถ์ฅ ์ฌํญ.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ ์ด๋ฆ์ 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์ ์์ ํ ๋ฒ๋ ธ์ต๋๋ค. ์ ๋ง ์ข์ ์ผ์ ๋๋ค.
Ansible์์ ๊ฐ์ฅ ๋งค๋ ฅ์ ์ธ ์ ์ ์ญํ ๊ณผ ํ๋ ์ด๋ถ์ ์์ฑํ๊ณ ์ฌ์ฉํ๋ ๋ฅ๋ ฅ์
๋๋ค. ์ญํ ์ ๊ณ ์ ํ์ง๋ง ๊ด๋ จ๋ ์์
์ ๋ง๋ค๊ณ ํด๋น ์์
๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ ๊ณณ์ ๋ณด๊ดํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ํ๋ ์ด๋ถ์ ํ๋ ์ด์์ ํธ์คํธ์ ๋ํ ์์
์ ์ค๋ช
ํ๋ YAML ๊ตฌ๋ฌธ, ์คํฌ๋ฆฝํธ ํ์ผ์
๋๋ค. ์ ๋ ์ฃผ๋ก ์ํํธ์จ์ด ๊ฐ๋ฐ์์๊ฒ ์ด๋ฌํ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช
ํฉ๋๋ค. Ansible Tower๋ "์๋์, ์
ธ ์ก์ธ์ค ๊ถํ์ ์์ง๋ง ๋ชจ๋ Tower ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ณ ํ์ํ ๋ ์๋น์ค๋ฅผ ๋ค์ ์์ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค"๋ผ๊ณ ๋งํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์์
ํ๊ฒฝ๊ณผ ์ฌ์ฉ์ฅ๋น์ ๋ํด ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ด๋ ์ฐ๋ฐฉ LAN, ํด๋ผ์ฐ๋ MPLS๋ฅผ ํตํด ์ฐ๊ฒฐ๋ 7๊ฐ์ ๋ฌผ๋ฆฌ์ ์ฌ์ดํธ, 140๊ฐ์ RHEL ์๋ฒ(99%๋ ๊ฐ์(vSphere)), SuperMicro ํ๋์จ์ด, NexentaStore ๋คํธ์ํฌ ์คํ ๋ฆฌ์ง, Cisco, Arista ๋ฐ Cumulus ์ค์์น ์ธํธ ๋ฐ Fortinet UTM ํตํฉ ์ํ ๊ด๋ฆฌ์
๋๋ค. ๊ฐ ์ฌ์ดํธ์ ๋๊ตฌ.
์ฐ๋ฐฉ ๋คํธ์ํฌ๋ ๋ฒ์ด ์ ๊ณตํ๋ ๋ชจ๋ ์ ๋ณด ๋ณด์ ์กฐ์น๋ฅผ ์ฌ์ฉํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. Puppet Enterprise๋ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋๋ถ๋ถ์ ํ๋์จ์ด๋ฅผ ์ง์ํ์ง ์๋๋ค๋ ์ ์ ๋ช ์ฌํด์ผ ํฉ๋๋ค. ์ ๋ถ ๊ธฐ๊ด์ด ์ด ๋น์ฉ ํญ๋ชฉ์ ์๊ธ์ ์กฐ๋ฌํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ์์ฐ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ ์๋ฐ์ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ SuperMicro ํ๋์จ์ด๋ฅผ ๊ตฌ๋งคํ๊ณ ๊ฐ๋ณ ๋ถํ์ผ๋ก ์ฅ๋น๋ฅผ ์กฐ๋ฆฝํ๋ ์ด์ ์ ๋๋ค. ์ ์ง ๊ด๋ฆฌ๋ ์ ๋ถ ๊ณ์ฝ์ ํตํด ๋ณด์ฅ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ Linux๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ด๊ฒ์ด Ansible๋ก ์ ํํ๋ ์ค์ํ ์ด์ ์ค ํ๋์ ๋๋ค.
Puppet๊ณผ ํจ๊ปํ ์ฐ๋ฆฌ์ ์ญ์ฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
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์ 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์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
Ansible Tower๋ก ๋ ์ฝ๊ฒ ์ ํํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ ์ํํด์ผ ํ ์์
์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฐ์ ์ฅ๋น๋ฅผ ์ค๋นํด์ผ ํฉ๋๋ค. ์ธํ๋ผ์ ์ผ๋ถ ์์๊ฐ ์์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ผ๋ฉด ํด๋น ์์๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ํน์ฑ์ด ๋ณ๊ฒฝ๋์ง ์์ Puppet ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ์์คํ
์ด ์์ง๋ง Tower๋ก ์ด๋ํ๊ธฐ ์ ์ ํด๋น ์์คํ
์ ์ถ๊ฐํ์ง ์์ผ๋ฉด ์ฌ๋ฌ ๊ฐ์ง ์ด์ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด๋ "๋๋ฌ์ด" ์๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์ผ ์ ์์ง๋ง ๋ณด์ ํ๊ณ ์๋ ๋ชจ๋ ์ฅ๋น์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ์ธํ๋ผ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋์ผ๋ก ํธ์ํ๋ ๋์ ํ๋์จ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Ansible์ ์ ์์คํ
์ ์ด๋ค ํธ์คํธ๊ฐ ์์ด์ผ ํ๋์ง ์ ์ ์์ต๋๋ค. ์ถ๊ฐํ ํธ์คํธ์ ๋ ์ด์ ์กด์ฌํ์ง ์๋ ํธ์คํธ๋ฅผ ์ด SCM์ ์๋ฆด ํ์๊ฐ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ์๋์ผ๋ก ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๊ฐ ๋ง์์๋ก Ansible์ ์ ์ฉ์ฑ๊ณผ ์ ์ฐ์ฑ์ ๋์ฑ ๋์์ง๋๋ค. ์ด๋ ๋จ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋์จ์ด ์ํ ๋ฐ์ฝ๋๋ฅผ ์ฝ๋ ๊ฒ์ฒ๋ผ ์๋ํฉ๋๋ค.
Ansible์ ๋ช ๋ น์ค์ ์ต์ํด์ง๋ ๋ฐ ์๊ฐ์ ํฌ์ํ์ธ์. ์ผ๋ถ ์ฌ์ฉ์ ์ ์ ๋ช ๋ น์ ์คํํ์ฌ ํ๋์จ์ด ์คํฌ๋ฆฝํธ๋ฅผ ํ ์คํธํ๊ณ , ๊ฐ๋จํ์ง๋ง ์ ์ฉํ ํ๋ ์ด๋ถ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑ ๋ฐ ์คํํ๊ณ , ์ ์ ํ ๊ฒฝ์ฐ Jinja2 ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ญ์์ค. ์ผ๋ฐ์ ์ด๊ณ ํํ ๋ฐ์ํ๋ ํ๋์จ์ด ๊ตฌ์ฑ์ ์ฌ์ฉํ์ฌ ๋ณต์กํ ๋ค๋จ๊ณ ํ๋ก์ธ์ค์ ๋ํ ์ญํ ๊ณผ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด ๋ณด์ธ์. ์ด๊ฒ๋ค์ ๊ฐ์ง๊ณ ๋๊ณ , ์ด๋ป๊ฒ ์๋ํ๋์ง ํ ์คํธํด๋ณด์ธ์. ์ด๋ ๊ฒ ํ๋ฉด Tower์์ ์ฌ์ฉ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฑ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค. ์ ํ์ ์ค๋นํ๋ ๋ฐ ์ฝ 3๊ฐ์์ด ๊ฑธ๋ ธ๋ค๊ณ ์ด๋ฏธ ๋ง์๋๋ ธ์ต๋๋ค. ๋ด ๊ฒฝํ์ ๋ฐํ์ผ๋ก ์ด ์์ ์ ๋ ๋นจ๋ฆฌ ์ํํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด ์๊ฐ์ ๋ญ๋นํ๋ค๊ณ ์๊ฐํ์ง ๋ง์ญ์์ค. ๋์ค์ ์ํํ ์์ ์ ๋ชจ๋ ์ด์ ์ ๊ฒฝํํ๊ฒ ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค์์ผ๋ก, Ansible Tower์์ ๊ธฐ๋ํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง, ์ด ์์คํ ์ด ์ ํํ ์ด๋ค ์ญํ ์ ํด์ผ ํ๋์ง ๊ฒฐ์ ํด์ผ ํฉ๋๋ค.
๋ฒ ์ด ํ๋์จ์ด, ๋ฒ ์ด ๊ฐ์ ๋จธ์ ์ ์์คํ
์ ๋ฐฐํฌํด์ผ ํฉ๋๊น? ์๋๋ฉด ๊ธฐ์กด ์ฅ๋น์ ์๋ ์๋ ์กฐ๊ฑด๊ณผ ์ค์ ์ ์ ์งํ๊ณ ์ถ์ต๋๊น? ์ด๋ ์์ฅ ๊ธฐ์
์๊ฒ ๋งค์ฐ ์ค์ํ ์ธก๋ฉด์ด๋ฏ๋ก ๊ธฐ์กด ๊ตฌ์ฑ์์ Ansible์ ๋ง์ด๊ทธ๋ ์ด์
ํ๊ณ ๋ฐฐํฌํ ์ ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์๋ํํ๋ ค๋ ์ผ์์ ์ธ ๊ด๋ฆฌ ํ๋ก์ธ์ค๋ฅผ ์๋ณํฉ๋๋ค. ์ ์์คํ
์ ํน์ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์๋น์ค๋ฅผ ๋ฐฐํฌํด์ผ ํ๋์ง ์์๋ณด์ธ์. ํ๊ณ ์ถ์ ์ผ์ ๋ชฉ๋ก์ ์์ฑํ๊ณ ์ฐ์ ์์๋ฅผ ์ ํ์ธ์.
๊ทธ๋ฐ ๋ค์ ์๋ฃํ๋ ค๋ ์์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์คํฌ๋ฆฝํธ ์ฝ๋์ ์ญํ ์์ฑ์ ์์ํ์ธ์. ์ด๋ฅผ ๊ด๋ จ ํ๋ ์ด๋ถ์ ๋ ผ๋ฆฌ์ ์ปฌ๋ ์ ์ธ ํ๋ก์ ํธ๋ก ๊ฒฐํฉํฉ๋๋ค. ๊ฐ ํ๋ก์ ํธ๋ ์ฌ์ฉํ๋ ์ฝ๋ ๊ด๋ฆฌ์์ ๋ฐ๋ผ ๋ณ๋์ Git ์ ์ฅ์ ๋๋ ๋ค๋ฅธ ์ ์ฅ์์ ์ํฉ๋๋ค. ํ๋ ์ด๋ถ ์คํฌ๋ฆฝํธ ๋ฐ ํ๋ ์ด๋ถ ๋๋ ํฐ๋ฆฌ๋ฅผ Tower ์๋ฒ์ ํ๋ก์ ํธ ๊ธฐ๋ณธ ๊ฒฝ๋ก์ ์๋์ผ๋ก ๋ฐฐ์นํ๊ฑฐ๋ Git, Subversion, Mercurial ๋ฐ Red Hat์ ํฌํจํ์ฌ Tower์์ ์ง์ํ๋ ๋ชจ๋ ์์ค ์ฝ๋ ๊ด๋ฆฌ(SCM) ์์คํ ์ ํ๋ ์ด๋ถ์ ๋ฐฐ์นํ์ฌ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ํต์ฐฐ๋ ฅ. ํ๋์ ํ๋ก์ ํธ ๋ด์ ์ํ๋ ๋งํผ ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐ์นํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, RedHat ํต์ฌ ์์์ ๋ํ ์คํฌ๋ฆฝํธ, Linux ์ฝ์ด์ ๋ํ ์คํฌ๋ฆฝํธ, ๋๋จธ์ง ๊ธฐ์ค์ ๋ํ ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฐ์นํ๋ ํ๋์ ๊ธฐ๋ณธ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์์ต๋๋ค. ๋ฐ๋ผ์ ํ๋์ ํ๋ก์ ํธ์๋ ํ๋์ Git ์ ์ฅ์์์ ๊ด๋ฆฌ๋๋ ๋ค์ํ ์ญํ ๊ณผ ์๋๋ฆฌ์ค๊ฐ ์์์ต๋๋ค.
๋ช ๋ น์ค์ ํตํด ์ด๋ฌํ ๋ชจ๋ ์์ ์ ์คํํ๋ ๊ฒ์ ํด๋น ๊ธฐ๋ฅ์ ํ ์คํธํ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ์ ์ค์น๋ฅผ ์ค๋นํ ์ ์์ต๋๋ค.
Puppet ๋งค๋ํ์คํธ ํธ๋์ค์ฝ๋ฉ์ ๋ํด ์กฐ๊ธ ์ด์ผ๊ธฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ค์ ๋ก ์ํํด์ผ ํ ์์ ์ด ๋ฌด์์ธ์ง ์์๋ด๊ธฐ๊น์ง ์ด ์์ ์ ๋ง์ ์๊ฐ์ ์๋นํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์ ๋งํ๋ฏ์ด Puppet์ ๋ชจ๋ ์ค์ ๊ณผ ํ๋์จ์ด ์ต์
์ ํ๋์ ๊ธด ๋งค๋ํ์คํธ์ ์ ์ฅํ๋ฉฐ, ์ด ๋งค๋ํ์คํธ๋ ์ด SCM์ด ์ํํด์ผ ํ๋ ๋ชจ๋ ์์
์ ์ ์ฅํฉ๋๋ค. ์ ํํ ๋ ๋ชจ๋ ์์
์ ํ๋์ ๋ชฉ๋ก์ ๋ด์ ํ์๋ ์์ต๋๋ค. ๋์ ์ญํ , ์คํฌ๋ฆฝํธ, ํ๊ทธ, ๊ทธ๋ฃน ๋ฐ ๊ฑฐ๊ธฐ์ ํฌํจ๋ ํญ๋ชฉ ๋ฑ ์ ์์คํ
์ ๊ตฌ์กฐ์ ๋ํด ์๊ฐํด ๋ณด์ธ์. ์์จ ๋คํธ์ํฌ ์์ ์ค ์ผ๋ถ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ ์๋ ๊ทธ๋ฃน์ผ๋ก ๊ทธ๋ฃนํ๋์ด์ผ ํฉ๋๋ค. ์์ฒด ํฌํจ ํด๋์ค๋ฅผ ํฌํจํ์ฌ ๋ง์ ๋ฆฌ์์ค๋ฅผ ํฌํจํ๋ ๋ณด๋ค ๋ณต์กํ ์ธํ๋ผ ์์๋ฅผ ์ญํ ๋ก ๊ฒฐํฉํ ์ ์์ต๋๋ค. ๋ง์ด๊ทธ๋ ์ด์
ํ๊ธฐ ์ ์ ์ด๋ฅผ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. ํ ํ๋ฉด์ ๋ง์ง ์๋ ๋๊ท๋ชจ ์ญํ ์ด๋ ์๋๋ฆฌ์ค๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ ์ธํ๋ผ์ ํน์ ๋ถ๋ถ์ ์บก์ฒํ ์ ์๋๋ก ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
18:00
์ผ๋ถ ๊ด๊ณ ๐
์ฐ๋ฆฌ์ ํจ๊ป์์ด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ฐ๋ฆฌ ๊ธฐ์ฌ๊ฐ ๋ง์์ ๋์ญ๋๊น? ๋ ์ฌ๋ฏธ์๋ ์ฝํ
์ธ ๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด? ์ฃผ๋ฌธํ๊ฑฐ๋ ์น๊ตฌ์๊ฒ ์ถ์ฒํ์ฌ ์ฐ๋ฆฌ๋ฅผ ์ง์ํ์ญ์์ค.
Dell R730xd๋ ์์คํ
๋ฅด๋ด์ Equinix Tier IV ๋ฐ์ดํฐ ์ผํฐ์์ 2๋ฐฐ ๋ ์ ๋ ดํฉ๋๊น? ์ฌ๊ธฐ์ ๋ง
์ถ์ฒ : habr.com