Infra & DevOps/Ansible

[Ansible] Shell, Command, Raw ๋ชจ๋“ˆ์˜ ์ฐจ์ด์ 

hyeyeonismm 2024. 3. 28. 20:55

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 ๋ชจ๋“ˆ์€ ํŒŒ์ด์ฌ ์—†์ด๋„ ๋™์ž‘ํ•˜๋ฉฐ, ํŠนํžˆ ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์—์„œ ์œ ์šฉํ•˜์ง€๋งŒ ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ์‹ ์ค‘ํ•ด์•ผ ํ•œ๋‹ค.