[Ansible] Shell, Command, Raw ๋ชจ๋์ ์ฐจ์ด์
Ansible์์๋ shell, command, raw ๋ชจ๋์ ์ฌ์ฉํ์ฌ ์๊ฒฉ ํธ์คํธ์์ ๋ช ๋ น์ ์คํํ ์ ์๋ค. ์ด ์ธ ๊ฐ์ง ๋ชจ๋์ ์๋ก ๋น์ทํ์ง๋ง, ๊ฐ ๋ชจ๋์ ํน์ฑ์ ๋ฐ๋ผ ์ ํฉํ ์ํฉ์ด ๋ฌ๋ผ์ง๋ค.
1. Shell ๋ชจ๋
shell ๋ชจ๋์ ์๊ฒฉ ํธ์คํธ์ ์
ธ ํ๋กฌํํธ ํ๊ฒฝ์์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ค. ์ด ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ํ์ดํ๋ผ์ธ๊ณผ ๊ฐ์ ์
ธ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค.
์๋ฅผ ๋ค์ด grep, cut๊ณผ ๊ฐ์ ๋ช
๋ น์ ํ์ดํ(|)๋ก ์ฐ๊ฒฐํ์ฌ ๋ณต์กํ ์์
์ ์ฒ๋ฆฌํ ์ ์๋ค. ๊ทธ๋ฌ๋ ๋ณด์์ ์ธ ์ธก๋ฉด์์ ์ทจ์ฝํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผ ํ๋ค. (ex. shell Injection ..)
- name: Shell ๋ชจ๋ ์์
shell: cat somefile.txt | grep something
2. Command ๋ชจ๋
command ๋ชจ๋์ ์ ธ์ ๊ฑฐ์น์ง ์๊ณ ๋ช ๋ น์ ์ง์ ์คํํ๋ค. ์ด ๋๋ฌธ์ ํ์ดํ๋ผ์ธ, ๋ฆฌ๋๋ ์ , ๋ณ์ ํ์ฅ๊ณผ ๊ฐ์ ์ ธ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ง๋ง ๋ณด์์ ์ข ๋ ๊ฐํ๋๋ค. command ๋ชจ๋์ ์ ธ์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์ ธ ์ธ์ ์ ์ํ์ด ์ค์ด๋ค๋ฉฐ, Ansible์ด ์ค์น๋ ์์คํ ์ด ์๋ ๋จ์ํ SSH ์ฐ๊ฒฐ์ ํตํด์๋ ์ฌ์ฉํ ์ ์๋ค.
- name: Command ๋ชจ๋ ์์
command: cat somefile.txt
3. Raw ๋ชจ๋
raw ๋ชจ๋์ Ansible์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋๋ก ์๊ฒฉ ์์คํ ์ ํ์ด์ฌ์ด ์ค์น๋์ง ์์ ๊ฒฝ์ฐ์๋ ์ฌ์ฉํ ์ ์๋ค. ์ค์ ๋ก๋ ๋จ์ํ SSH๋ฅผ ํตํด ๋ช ๋ น์ ๊ทธ๋๋ก ์ ๋ฌํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค. ๋ณด์์ด ๋ฐ์ด๋์ง๋ ์์ง๋ง, ํ์ด์ฌ์ด ์๋ ๋ ๊ฑฐ์ ์์คํ ์ด๋ ํ ๋ท ํ๊ฒฝ์์ ์ ์ฉํ๋ค. ์ด ๋ชจ๋๋ shell ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ผ๋ฉฐ, ๋จ์ํ ๋ช ๋ น์ ์ ๋ฌํ๋ ์ญํ ๋ง ์ํํ๋ค.
- name: Raw ๋ชจ๋ ์์
raw: ifconfig
๊ฒฐ๋ก
- shell ๋ชจ๋์ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ ์ ์์ง๋ง, ๋ณด์์ ์ทจ์ฝํ๋ค. ํ์ด์ฌ์ด ํ์ํ๋ค.
- command ๋ชจ๋์ ๋ณด์์ฑ์ด ๋ฐ์ด๋์ง๋ง, ์ ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค. raw ๋ชจ๋๊ณผ ์ ์ฌํด๋ณด์ด์ง๋ง, raw ๋ชจ๋์ SSH๋ฅผ ํตํด ๋ช ๋ น์ ์ ๋ฌํ๋ ๊ฒ๋ง ๊ฐ๋ฅํ๋ค.
- raw ๋ชจ๋์ ํ์ด์ฌ ์์ด๋ ๋์ํ๋ฉฐ, ํนํ ๋ ๊ฑฐ์ ์์คํ ์์ ์ ์ฉํ์ง๋ง ๋ณด์ ์ธก๋ฉด์์ ์ ์คํด์ผ ํ๋ค.