Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Network Design
- gns3
- BPDU
- Red Hat
- STP
- 하프오픈
- vlan
- 네트워크
- port aggregation protocol
- 네트워크 설계
- stream 9
- 프로그래머스
- rommon mode
- junos os
- 티스토리챌린지
- pvst+
- 방화벽
- ansible playbook
- 네이티브 vlan
- eigrp
- freeradius
- Ansible
- Packet Tracer
- Cisco
- SQL
- ospf
- 오블완
- LACP
- pagp
- centos
Archives
- Today
- Total
Doctor Pepper
[Ansible] 커뮤니티 앤서블과 레드햇 앤서블 본문
728x90
1. Ansible의 두 가지 버전
Ansible은 IT 자동화 도구로, 다음과 같이 두 가지 주요 버전으로 나뉜다.
커뮤니티 Ansible | 오픈소스 형태로 배포되며, 리눅스 운영체제가 설치된 환경에서 자유롭게 설치하여 사용할 수 있음. |
Red Hat Ansible Automation Platform |
Red Hat에서 제공하는 상용 제품으로, 서브스크립션 기반으로 지원과 다양한 부가 기능을 제공함. |
2. 커뮤니티 Ansible 아키텍처
Ansible은 제어 노드(Control Node)와 관리 노드(Managed Node)로 구성된다. 주로 제어 노드에서 실행되며, 기본적으로 Python 환경이 필요하다.

- 주요 구성 요소
제어 노드 (Control Node) |
- Ansible이 설치되고 실행되는 시스템 - 리눅스 운영체제에서 동작하며, Python이 설치되어 있어야 함 |
관리 노드 (Managed Node) |
- 제어 노드에서 관리하는 원격 시스템 또는 호스트 - 리눅스, 윈도우, 또는 클라우드 환경에서 생성된 가상 서버 등이 될 수 있음 - 관리 노드는 에이전트 설치가 필요하지 않지만, 제어 노드와 SSH 통신이 가능해야 하며, Python이 설치되어 있어야 함 |
인벤토리 (Inventory) |
- 제어 노드가 관리하는 관리 노드의 목록을 정의한 파일임 - 관리 노드를 성격별로 그룹화할 수 있음 |
모듈 (Modules) |
- 관리 노드에서 특정 작업을 수행하는 스크립트 - SSH를 통해 모듈을 전송하고 실행하며, 작업 완료 후 제거됨 - 모듈은 시스템의 상태를 정의하는 매개변수를 허용함 |
플러그인 (Plugins) |
- Ansible의 핵심 기능을 확장하는 컴포넌트 - 데이터 변환, 로그 출력, 인벤토리 확장 등 다양한 옵션을 제공함 - 제어 노드에서 실행됨 |
플레이북 (Playbook) |
- 관리 노드에서 수행할 작업을 YAML 문법으로 정의한 파일 - 자동화의 핵심이며, 사용자가 작성함 - 플레이북은 작업의 순서를 정의하고 역할(roles)을 지정할 수 있음 |
- 인벤토리 예
$ vi inventory 192.168.10.101 [WebServer] web1.example.com web2.example.com [DBServer] db1.example.com db2.example.com |
- 플레이북 예
--- - hosts: webservers serial: 5 # 한 번에 5대의 머신을 업데이트하라는 의미 roles: - common - webapp - hosts: content_servers roles: - common - content |
3. Red Hat Ansible Automation Platform (AAP)
Red Hat Ansible Automation Platform은 커뮤니티 Ansible과 동일한 기본 구성 요소를 기반으로 하며, 대규모 IT 환경에서의 관리와 자동화 효율성을 강화한다. AAP는 Configuration Management Database(CMDB)를 통해 자원을 체계적으로 관리하고, 웹 UI와 REST API를 제공하여 관리 편의성을 높인다.

- 주요 기능
CMDB | - 인벤토리, 인증 정보, 실행 환경 등의 메타데이터를 체계적으로 관리 |
웹 UI (Automation Controller) |
- 기존의 Ansible Tower로 불리던 웹 기반 관리 인터페이스 - 사용자, 팀, 인증 정보, 작업 일정 등을 손쉽게 관리 가능 |
REST API | - 자동화를 외부 애플리케이션 및 시스템과 통합 가능 |
다양한 환경 지원 | - 호스트, 애플리케이션, 클라우드(퍼블릭/프라이빗), 네트워크 장비 등을 포함한 다양한 환경에서 작업 수행 |
- 구성 요소
Automation Controller | - AAP의 관리 웹 UI로, 작업 관리와 실행을 담당. - 사용자와 팀, 인증 정보 등을 중앙에서 관리. |
Execution Environment | - Ansible 모듈과 플러그인이 포함된 컨테이너 기반 실행 환경. - 작업을 컨테이너에서 독립적으로 실행. |
PostgreSQL | - CMDB 역할을 수행하며, 인벤토리, 인증 정보, 실행 환경의 메타데이터를 저장 및 관리. |
Automation Hub (선택적 구성 요소) |
- Red Hat에서 지원하는 Ansible 컬렉션 서비스를 제공. - 내부 환경에서도 컬렉션을 사용할 수 있도록 지원. |
- 아키텍처 유형

All-in-One | 기본 구성으로 모든 필수 요소(Automation Controller, Execution Environment, PostgreSQL)가 하나의 노드에 배치 소규모 환경에 적합 |
AAP with External DB | PostgreSQL을 별도의 노드로 분리하여 사용 Automation Controller와 Execution Environment는 동일 노드에서 실행 데이터베이스를 분리함으로써 안정성과 확장성을 높임 |
Private Automation Hub | External DB 구성에 Automation Hub를 추가한 형태 주로 인터넷에 접근할 수 없는 환경에서 내부 컬렉션 관리 용도로 사용 |
- 특징
확장성 | 다양한 아키텍처 구성으로 환경 규모와 요구에 따라 선택 가능 |
편의성 | 웹 UI 및 REST API를 통해 직관적인 관리와 외부 통합 지원 |
안정성 | CMDB와 외부 데이터베이스 연동으로 메타데이터 관리 강화 |
유연성 | 퍼블릭/프라이빗 클라우드, 네트워크 장비 등 다양한 IT 자원과 연계 |
728x90
'Network 심화 > Ansible' 카테고리의 다른 글
[Ansible] 실제 장비를 이용한 Ansible 구축 (1) | 2025.03.27 |
---|---|
[Ansible] CML을 이용한 Ansible 구축 (1) | 2025.03.27 |
[Ansible] 대상 호스트 선정 (0) | 2024.12.22 |
[Ansible] Ansible 구성하기 (1) | 2024.12.09 |
[Ansible] Ansible 개념 (0) | 2024.12.09 |