앤서블 인벤토리는 서버 형상관리를 할 대상 서버 호스트를 관리하는 파일이다.
인벤토리는 그룹 기능을 지원한다. 따라서 한 호스트가 여러 호스트에 속할 수 있다.
인벤토리는 static 인벤토리와 dynamic 인벤토리가 있다.
이번 시간에는 static 인벤토리에 대해 알아보자
실제 인벤토리 파일은 다음과 같다.
https://github.com/tedilabs/fastcampus-devops/tree/main/2-ansible/01-inventory
GitHub - tedilabs/fastcampus-devops: 🚀 패스트캠퍼스 데브옵스 초격차 코스 자료
🚀 패스트캠퍼스 데브옵스 초격차 코스 자료. Contribute to tedilabs/fastcampus-devops development by creating an account on GitHub.
github.com
먼저 amazon.inv를 보면 지난 시간에 만든 ec2 아마존 리눅스 인스턴스의 퍼블릭 ip주소가 있다.
ubuntu.inv를 보면 ec2 우분투 인스턴스의 퍼블릭 IPv4 도메인이 있다.
simple.inv는 ec2 인스턴스의 퍼블릭 ip주소와 퍼블릭 IPv4 도메인이 그룹 기능으로 있다.
그룹 기능은 대괄호( "[ ]" )를 이용해서 표현한다.
all이라는 기본 그룹은 인벤토리에 있는 모든 그룹(amazon, ubuntu)을 포함한다.
alias.inv에서는 별칭 기능을 이용해서 간략하게 호스트를 지정했다.
마지막으로 vars.inv에서는 ansible_user라는 옵션이 추가됐다.
ansible은 agentless 해서 ssh를 통해 원격 명령을 수행한다.
이 원격명령을 수행하기 위해서는 대상 서버에 로그인을 해야 한다. ssh로그인을 하려면 해당 인스턴스의 사용자 정보를 알아야 한다. 아마존 리눅스의 기본사용자는 ec2-user이고 우분투의 기본사용자는 ubuntu이다.
[linux:children]은 하위그룹기능으로 linux라는 그룹은 amazon과 ubuntu라는 그룹을 포함한다.
'AWS > Part 4. Ch04 앤서블을 이용한 서버 형상 관리' 카테고리의 다른 글
CH04_06. 핸들러 (Handler) (0) | 2022.06.17 |
---|---|
CH04_05. 모듈 (Module) (0) | 2022.06.16 |
CH04_04. 플레이북 (Playbook) (0) | 2022.06.16 |
CH04_03. 애드혹 명령어 (Ad-hoc Command) (0) | 2022.06.10 |
CH04_01. 앤서블 소개 (0) | 2022.06.09 |