Jump to section

Ansible Playbook이란?

URL 복사

Ansible® Playbook은 IT 솔루션 인벤토리 전반에서 최소한의 수동 작업으로 실행되는 IT 작업인 자동화 태스크를 보여주는 청사진입니다. 플레이북은 Ansible이 어떤 기기어떤 작업을 수행해야 하는지를 알려줍니다.

플레이북을 실행하면 IT 환경 전반에서 수백 또는 수천 개의 유사한 기술에 대해 동일한 작업을 수동으로 적용하지 않고도 라우터 세트와 같이 특정한 유형의 인벤토리에 대해 동일한 작업을 자동으로 완료합니다. 또한 플레이북은 사전에 작성된 코드 프레임워크 역할을 하여 개발자가 임시로 사용하거나 시작 템플릿으로 사용할 수 있습니다.

플레이북은 주로 IT 인프라(예: 운영 체제, 쿠버네티스 플랫폼), 네트워크, 보안 시스템, GitHub와 같은 코드 리포지토리를 자동화하는 데 사용됩니다. Ansible Playbook을 통해 IT 직원은 모든 것을 처음부터 생성하는 수작업 오버헤드 없이 애플리케이션, 서비스, 서버 노드 또는 기타 기기를 프로그래밍할 수 있습니다.

또한 플레이북은 그 안에 포함된 조건, 변수, 태스크와 함께 무기한 저장, 공유 또는 재사용할 수 있습니다. 이를 통해 IT 팀은 더욱 쉽게 운영 지식을 코드화하고 동일한 작업이 일관되게 수행되도록 보장할 수 있습니다.

Ansible Playbook은 특정 인벤토리 또는 호스트 그룹에 대해 자동으로 실행되는 태스크의 목록입니다. 하나 이상의 Ansible 태스크를 결합하여 특정 호스트에 대해 매핑된 정렬된 태스크 그룹인 하나의 플레이를 만들 수 있으며, 태스크는 작성된 순서대로 실행이 됩니다. 플레이북에는 여러 플레이에서 실행되거나 플레이북 전반에서 재사용될 수 있는 태스크 및 관련 자동화 자산의 번들인 Ansible Role은 물론, 하나 이상의 플레이가 포함될 수 있습니다.

태스크는 모듈에 의해 실행되며, 각 모듈은 플레이북에서 특정 태스크를 수행합니다. 모듈에는 태스크가 실행되는 시점과 장소뿐 아니라 태스크를 실행할 사용자도 결정하는 메타데이터가 포함됩니다. 수천 개의 Ansible 모듈로 다음과 같이 수많은 종류의 IT 태스크를 수행할 수 있습니다.

클라우드 관리

oci_vcn은 Oracle Cloud Infrastructure 환경에서 가상 클라우드 네트워크를 생성, 삭제 또는 업데이트합니다. 이와 유사하게 vmware_cluster는 VMware vSphere 클러스터를 추가, 제거 또는 업데이트합니다.

사용자 관리

seloginLinux® 운영 체제(OS) 사용자를 SELinux 사용자에 매핑하고, gitlab_user는 GitLab 사용자를 생성, 업데이트 또는 삭제합니다.

네트워킹

수십 개의 모듈은 애플리케이션 프로그래밍 인터페이스(API), Cisco IOS, NXOS, IOS XR 기기뿐 아니라 F5 BIG-IP 서비스와 Arista EOS 클라우드 네트워크 운영 체제도 처리합니다.

보안

Openssh_cert는 OpenSSH 호스트 또는 사용자 인증서를 생성하고, ipa_config는 전역 FreeIPA 구성 설정을 관리합니다.

구성 관리

pip은 Python 라이브러리 종속성을 관리하는 반면, assemble은 조각의 구성 파일을 통합합니다.

커뮤니케이션

mail은 특정 기준에 따라 이메일을 자동으로 전송할 수 있고, snow_record는 ServiceNow에서 단일 레코드를 생성, 삭제 또는 업데이트합니다.

Ansible은 클라우드 기반 REST API에서 Linux 및 Windows 시스템, 네트워킹 하드웨어 등에 이르는 다양한 범주의 기기와 통신할 수 있습니다. 이것은 2가지 유형의 서버를 자동으로 업데이트하는 2가지 Ansible 모듈의 샘플입니다.

--- - name: Update web servers   hosts: webservers   become: true     tasks:     - name: Ensure apache is at the latest version       ansible.builtin.yum:         name: httpd         state: latest     - name: Write the apache config file       ansible.builtin.template:         src: /srv/httpd.j2         dest: /etc/httpd.conf         mode: "0644"   - name: Update db servers   hosts: databases   become: true     tasks:     - name: Ensure postgresql is at the latest version       ansible.builtin.yum:         name: postgresql         state: latest     - name: Ensure that postgresql is started       ansible.builtin.service:         name: postgresql         state: started 

플레이북에는 다음 2가지 플레이가 포함되어 있습니다. 

  • 첫 번째 플레이는 웹 서버 소프트웨어가 업데이트되어 있는지 여부를 확인하고 필요시 이 업데이트를 실행합니다.
  • 두 번째 플레이는 데이터베이스 서버 소프트웨어가 업데이트되어 있는지 여부를 확인하고 필요시 이 업데이트를 실행합니다.

Ansible은 YAML 구문(Syntax)을 사용합니다. YAML을 yet another markup language로 생각하는 사람도 있고, YAML ain’t markup language(재귀 약어)로 생각하는 사람도 있습니다. 또한 YAML은 완벽하게 통용되는 2개의 서로 다른 파일 확장자, 즉 .yaml과 .yml을 사용합니다. 

Ansible Playbook은 2가지 방식으로 사용할 수 있습니다. 즉, 커맨드라인 인터페이스(CLI)에서 사용하거나 Red Hat® Ansible Automation Platform의 푸시 버튼 배포를 통해 사용할 수 있습니다.

YAML은 사람이 읽을 수 있는 언어이기 때문에 네트워크, 보안, 클라우드 등과 같이 특정 도메인 전문성을 갖춘 IT 전문가의 경우 복잡한 코딩 언어를 학습하지 않아도 플레이북을 작성할 수 있습니다.

CLI에서 사용하기

오픈소스 Ansible 프로젝트 또는 Red Hat Ansible Automation Platform을 설치한 후(Red Hat Enterprise Linux CLI에서 'sudo yum install ansible'을 입력하면 간단히 설치됨) ansible-playbook 명령을 사용해 Ansible Playbook을 실행하기만 하면 됩니다.

플랫폼 내에서 사용하기

Red Hat Ansible Automation Platform 웹 기반 사용자 인터페이스에는 더 큰 작업 또는 작업 템플릿의 일부로 사용되는 푸시 버튼 Ansible Playbook 배포가 포함되어 있습니다. 이 배포는 IT 자동화를 처음 접하거나 CLI에서 작업한 경험이 많지 않은 사용자에게 특히 유용한 부가적인 보호 기능이 함께 제공됩니다.

자동화의 더 큰 가능성을 살펴보세요.

Red Hat Ansible Automation Platform은 인프라, 하이브리드 클라우드, 보안, 네트워크에서 엣지 위치에 이르는 다양한 활용 사례에 대해 IT 도메인 전반의 프로세스 전체를 자동화할 수 있는 통합 플랫폼입니다. Ansible Automation Platform에는 이벤트 기반 솔루션, 플레이북, 분석 등 전사적 자동화를 구현하는 데 필요한 모든 툴이 포함되어 있습니다. 팀은 시각적 대시보드, 역할 기반 액세스 제어, 기타 기능을 통해 IT 인프라를 중앙화하고 제어하여 운영의 복잡성을 줄일 수 있습니다.

Red Hat 서브스크립션을 활용하면 Red Hat과 파트너가 제공하는 지원되는 인증 콘텐츠, 호스팅된 관리 서비스에 대한 액세스, 그리고 조직 전반에서 자동화를 확장하기 위한 라이프사이클 기술 지원을 받을 수 있습니다. 또한 수천 곳의 고객 성공 사례를 통해 쌓은 전문 지식을 활용할 수 있습니다.

IBM watsonx Code Assistant가 통합된 Red Hat Ansible Lightspeed를 도입하면 입문자도 Ansible을 더욱 쉽게 사용할 수 있고 풍부한 경험을 갖춘 자동화 팀은 Ansible Automation Platform 콘텐츠를 더욱 효율적으로 학습, 생성 및 유지 관리할 수 있습니다. 이 생성형 AI 서비스는 사용자가 입력한 프롬프트를 수락한 다음 IBM watsonx 기반 모델과 상호 작용하여 Ansible 모범 사례를 기반으로 한 코드 권장 사항을 생성하므로 SME의 전문성을 활용하여 팀과 도메인 전반에서 확장되는 신뢰할 수 있고 안정적인 Ansible 코드를 만드는 데 도움이 됩니다.

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB Red Hat Ansible Automation Platform의 기본 제공 기능에는 즉시 사용 가능한 가속기가 포함되어 있습니다. 이는 많은 벤더와 파트너도 기술을 설치, 구성 및 유지 관리하기 위한 스크립트를 작성할 때 사용하는 사실상의 표준입니다.

Jesse Amerson

Ulta Beauty, IT 책임자

자동화로 얼마나 많은 시간을 절약할 수 있을까요?

간단한 몇 가지 질문에 묻고 답하면서 Ansible Automation Platform을 사용하여 얼마나 많은 시간을 절약할 수 있는지 알아보세요.

추가 자료

문서

Ansible 기본 사항 학습하기

Ansible은 프로비저닝 및 구성 관리와 같은 IT 프로세스를 자동화합니다. 여기서 소개하는 핵심 개념을 통해 Ansible의 기본 사항을 학습하세요.

문서

비즈니스 프로세스 관리란 무엇일까요?

비즈니스 프로세스 관리(Business Process Management, BPM)는 전략적 비즈니스 목표를 달성하기 위해 엔드 투 엔드 비즈니스 프로세스를 모델링, 분석, 최적화하는 프랙티스입니다.

문서

Red Hat의 자동화를 선택해야 하는 이유

Red Hat Ansible Automation Platform에는 여러 팀에서 자동화를 공유하고 전사적 자동화를 구현하는 데 필요한 모든 툴이 포함되어 있습니다.

자동화에 대한 자세한 내용

제품

다양한 시각으로 고객의 상황을 파악하고 이를 바탕으로 고객의 과제를 분석하여 종합적이고 비용 효율적인 솔루션을 통해 문제를 해결하도록 돕는 전략적인 조언자입니다.

자동화 과정의 어느 단계에 있든지 상관없이 전사적 자동화를 구현할 수 있는 플랫폼입니다.

리소스

교육

무료 교육 과정

Ansible Essentials: Simplicity in Automation Technical Overview

무료 교육 과정

Red Hat Ansible Automation for SAP