04. Ansible inventory 작성하기
ansible의 inventory는 배포대상 서버정보를 구성하는 파일입니다.
rpm으로 설치할 경우 기본적으로 구성된 inventory는 /etc/ansible/hosts에서 작성할 수 있는데, playbook 작성에 따라
자체 inventory를 가질 수 있으니 참고만 해주세요.
- inventory에서 작성할 수 있는항목은 group, children, vars 를 자주 사용하는데요.
- 그룹명 web은 하위그룹으로 nginx, apache가 있다고 가정해보죠.
- 192.168.10.10, 192.168.10.15까지는 nginx를 설치할꺼고 192.168.100.10부터 192.168.100.15까지는 apache를 설치할꺼예요.
- playbook 코드도 그룹을 기준으로 설치할꺼예요.
- ansible 접속을 위한 계정은 ansible이고, ssh포트는 2022를 사용할꺼예요
이렇게 구성하기 위한 인벤토리는 다음값으로 설정이 가능합니다. 인벤토리는 /home/ansible/inventory 파일로 작성할게요 -
인벤토리 생성
$> vi /home/ansible/inventory [apache] 192.168.100.10 192.168.100.11 192.168.100.12 192.168.100.13 192.168.100.14 192.168.100.15 #혹은 이렇게 한줄 구성도 가능해요 192.168.100.[10:15] [nginx] 192.168.10.10 192.168.10.11 192.168.10.12 192.168.10.13 192.168.10.14 192.168.10.15 #혹은 이렇게 한줄 구성도 가능해요 192.168.10.[10:15] [web:children] apache nginx [all:vars] ansible_user=ansible ansible_ssh_port=2022 -
인벤토리 구성이 잘 되었는지 한번 테스트 해볼까요?
$> ansible all -m ping -i /home/ansible/inventory #특정 그룹 혹은 inventory에 구성된 정보를 넣으면 all 대신에 그룹명 혹은 서버ip를 기재하면 됩니다. 192.168.10.15 | SUCCESS => { "changed": false, "ping": "pong" } 192.168.10.16 | SUCCESS => { "changed": false, "ping": "pong" } 192.168.100.15 | SUCCESS => { "changed": false, "ping": "pong" } ...
![]() |
|---|
| perplexity에서 생성한 AI이미지 |
작성일: 2026년 7월 11일
,
마지막 업데이트: 2026년 7월 11일
