본문 바로가기
기타잡담/도서리뷰

[도서리뷰] 앤서블로 시작하는 인프라 자동화

by Geunny 2023. 10. 28.
반응형

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

이전 리뷰를 진행했던 테라폼(https://url.kr/etclfh) 도서에 이어 이번에는 앤서블 도서를 리뷰하게 되었다.

이책은 앤서블의 기본개념(1부) 에 대한 설명과 앤서블 플레이북을 작성하기 위한 문법및 지식(2부)을 다룬다. 이후 앞선 문법을 통해 문제분석과 플레이북 설계 및 트러블슈팅등 실무에서 발생할 수 있는 다양한 상황(3부)을 다룬다.

 

해당 책에서 사용되는 코드는 아래 링크에서 확인 가능하다. link(https://github.com/naleejang/Easy-Ansible)

 

GitHub - naleeJang/Easy-Ansible: Project for Ansible Automaion Platform

Project for Ansible Automaion Platform. Contribute to naleeJang/Easy-Ansible development by creating an account on GitHub.

github.com

 

먼저 앤서블이란 오픈소스 IT  자동화 도구이다. 수작업으로 진행하던 프로비저닝, 환경설정, 애플리케이션 배포 등의 업무를 코드 기반으로 작성하여 여러 환경에 동일하게 적용될수 있도록 돕는다. 

 

앤서블에는 기본적으로 노드개념이 있고 크게는 제어노드와 관리노드로 나뉜다. 또한 제어노드에는 관리노드의 목록을 관리하는 인벤토리라는 것이 있다. 각 관리노드의 작업은 SSH 을 통해 수행되며 앤서블모듈 이라는 스크립트를 푸쉬하여 작동한다. 마지막으로 각 노드에서 수행할 작업들을 YAML 문법을 이용해 순서대로 작성해 놓은 플레이북을 제어노드에서 관리한다.

각 관리노드에서 스크립트는 python을 기반으로 동작한다.

 

이 책을 통해 앤서블의 플레이북 작성에 있어서 기본적인 문법이 존재한다. 변수와 조건문 반복문 등 YAML 을 기반으로 문법을 작성하여 수행하게 된다. YAML을 통한 플레이북의 작성은 문법적으로 한눈에 들어올 뿐만 아니라 각 요소가 블록으로 처리되어 있어 사람이 이해하기에도 쉽다고 느껴진다. 

 

2부에서는 앤서블을 통해 자동화를 할수 있는 여러 케이스를 설명해 준다. 환경설정 자동화, 보안설정 자동화, 모니터링 자동화 크게 3가지로 구성되어있으며 실행 스크립트와 각스크립트에 따른 앤서블결과 스크립트도 함께 보여주어 쉽게 따라갈수 있게 구성되어 있다.

 

마지막으로 3부에서는 앤서블 오토메이션 플랫폼을 통해 앤서블을 활용하는 방안을 보여준다. 앞서 진행되었던 스크립트를 통한 앤서블 활용보다 플랫폼에서는 웹 UI를 제공해 주어 조금더 쉽고 사람이 이해할수 있게 앤서블을 활용할수 있게 된다. 

 

개발을 진행하면서 각 인프라 설정은 매번 할때마다 수행하는 것이 아니라 앤서블과 같은 프로버저닝 툴을 이용한다면 안정적으로 서버를 관리할수 있다는 생각을 안겨준 좋은 도서였다. 앤서블을 활용하고 싶다면 쉽게 따라갈수 있는 책이다!

댓글