중첩 그룹과 children 키워드
그룹 안에 그룹을 계층적으로 구성합니다.
중첩 그룹과 children 키워드은(는) CoddyKit의 무료 Ansible Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ansible Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ansible Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
그룹 안의 그룹
때로는 다른 그룹으로 이루어진 그룹이 필요합니다. Ansible에서는 이를 그룹으로 이루어진 그룹이라고 하며 children 키워드로 구성합니다.
INI의 children 키워드
INI에서 [prod:children] 같은 헤더는 구성원이 호스트가 아니라 다른 그룹 이름인 상위 그룹을 선언합니다.
[prod:children]
web
db하위 그룹을 먼저 정의하기
하위 그룹은 자체 호스트와 함께 먼저 존재해야 합니다. 그런 다음 상위 그룹에서 이름으로 하위 그룹을 간단히 참조합니다.
[web]
web1.example.com
[db]
db1.example.com호스트가 상위 그룹으로 합쳐집니다
prod를 대상으로 지정하면 Ansible이 web과 db 안의 모든 호스트에 접근합니다. 이제 이름 하나로 전체 환경을 지정할 수 있습니다.
ansible prod -i inventory.ini --list-hostsYAML에서 중첩하기
YAML에서는 자연스럽게 중첩할 수 있습니다. 그룹이 자체 children 키 아래에 여러 그룹을 나열하며, 원하는 만큼 깊게 중첩할 수 있습니다.
all:
children:
prod:
children:
web:
db:실제 계층 구성하기
지역과 역할 같은 계층을 결합하세요. datacenter가 prod를 포함하고, prod가 web과 db를 포함하는 방식입니다. 인벤토리가 조직 구조를 반영합니다.
[datacenter:children]
prod
staging호스트는 모든 상위 그룹을 상속합니다
web이 prod의 하위 그룹이라면 web 호스트는 web과 prod, all에 속합니다. 소속 관계가 자동으로 위쪽으로 이어집니다.
변수는 아래로 전달됩니다
상위 그룹에 변수를 설정하면 모든 하위 호스트가 해당 변수를 상속합니다. 더 구체적인 그룹에서 재정의하지 않는 경우에 적용됩니다.
[prod:vars]
env=production순환하는 하위 그룹 피하기
그룹은 직접적으로든 순환 구조를 통해서든 자기 자신의 하위 그룹이 될 수 없습니다. Ansible은 구문을 분석할 때 순환 계층을 거부합니다.
트리 확인하기
인벤토리 그래프를 사용하면 중첩 구조를 명확하게 볼 수 있습니다. --graph 플래그가 상위 그룹과 하위 그룹을 트리로 그려 줍니다.
ansible-inventory -i inventory.ini --graph계층으로 규모 관리하기
중첩된 그룹을 사용하면 prod 또는 web-prod처럼 정확하게 지정할 수 있습니다. 서버 규모가 커져도 children으로 넓은 대상과 정밀한 대상을 모두 지정할 수 있습니다.
빠른 확인
web 그룹과 db 그룹을 구성원으로 갖는 상위 그룹을 만들고 싶습니다. 어떤 INI 헤더를 사용해야 할까요?
복습
children 키워드는 그룹을 계층 구조로 중첩합니다. 호스트는 모든 상위 그룹을 상속하고 그룹 변수는 트리를 따라 아래로 전달됩니다. 🌳
자주 묻는 질문
“중첩 그룹과 children 키워드” 강의는 무료인가요?
네 — “중첩 그룹과 children 키워드” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ansible Academy 강의 전체를 잠금 해제할 수 있습니다. Ansible Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“중첩 그룹과 children 키워드”에서 뭘 배우나요?
그룹 안에 그룹을 계층적으로 구성합니다. 브라우저에서 직접 실행하는 실습 코드로 Ansible Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Ansible Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Ansible Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“중첩 그룹과 children 키워드” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Ansible Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Ansible Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- INI와 YAML 인벤토리 파일
- 호스트 그룹화: web, db, app
- 중첩 그룹과 children 키워드
- 인벤토리의 호스트 및 그룹 변수