[IaC] 02. Configuration 도구의 주요 특징
카테고리: IAC
태그: iac
[IaC] 02. Configuration 도구의 주요 특징
🔔 Configuration 도구의 주요 특징
(1) Agent Pull (Puppet) / Agentless Push (Ansible)

| 구분 | 설명 |
|---|---|
| Pull 기반 | Configuration 도구는 관리하는 서버에 Agent 설치가 필요하고 Agent가 Master에게 요청해서 작업해야하는 업무를 확인하는 방식으로 동작 |
| Push 기반 | Configuration 도구는 Agent를 설치할 필요가 없으며, Master가 직접 관리 대상인 서버에게 명령을 전달하는 방식으로 동작 |
(2) 선언형(Declarative)과 명령형(Imperative)
| 구분 | 설명 |
|---|---|
| 선언형 | 필요한 리소스와 리소스 속성을 포함해 “원하는 시스탬 상태”를 먼저 정의하며, 이 경우 컨피규레이션 도구가 사용자가 지정한 인프라 환겨을 자동으로 구현한다. 선언형으로 인프라를 할당받은 시스템은 현재 상태 목록을 유지하기 때문에 인프라가 중단되더라도 다시 그 상황으로 쉽게 복구할 수 있다. |
| 명령형 | 원하는 설정에 필요한 특정 명령을 정확한 순서로 정의해야 하며, 사양에 대한 전문 지식부터 인프라가 구동되는 순서, 코드 작성까지 모든 부분을 사람이 직접해야 하기 때문에 난이도가 높다. Puppet은 선언형 방식만을 채택하고 있고, Ansible은 선언형과 명령형 2가지 모두를 채택한 컨피규레이션 도구도 있다. |
(3) 멱등성(idempotence)
- 작업을 여러 번 수행해도 항사 결과가 같은 성질을 의미하며, 컨피규레이션 도구는 여러 번 사용하더라도 동일한 결과 값이 나올 수 있도록 제공되어야 한다.
댓글 남기기