앤서블의 단점을 꼽자면? Ansible의 장점은 너무나도 많지만, 제가 생각하는 가장 큰 단점은 다른 사람과의 협업이 불편하다고 생각합니다. 왜냐하면 앤서블은 agentless방식으로 ssh로만 동작하기 때문에 버전관리 및 권한관리가 어렵습니다. 플레이북을 Git을 통해 형상관리를 할 수는 있지만, 사용자의 권한을 제약하고 플레이북을 실행을 추적하는 데 있어서 어려움이 존재합니다. 앤서블은 CLI로 동작하기 때문에 사용하는 데 있어서 어느 정도 러닝커브가 있기도 하며 플레이북을 실행시킬 수 있는 서버를 제공해야 합니다. 하지만, 세마포어(Semaphore)라는 앤서블 UI 오픈소스를 사용하면 아래와 같은 기능들로 앤서블의 단점들을 보완할 수 있다고 생각합니다 (뮤텍스와 세마포어의 세마포어가 아님주의) 빌..
Automation/Ansible
국내의 경우, 서버를 운영 환경에서 관리하다보면 한국인터넷진흥원에서 등에서 제공하는 보안 취약점 항목들을 마주칠 것입니다. 입사 1년차때가 생각이 납니다. 선임을 도와 CSAP 인증을 진행하고 있었습니다. 수십대의 서버를 다루고 항목이 워낙 많다보니 결국 권한을 잘못 부여하였고, 설정파일을(pwquality.conf)을 잘못 수정하여 SSH 접속이 되지 않는 큰 실수를 해버렸습니다.( chown -R 명령어를 / 하위에 해버렸다.. 다행히 Snapshot이 있어, 복구는 했었다.) 그때, 앤서블을 활용하였다면 시간과 실수를 많이 줄일 수 있었는데 말입니다. 이번주차는 앤서블을 통해 보안설정 및 모니터링을 자동화 실습을 해보도록 하겠습니다.1. 보안설정 자동화1.1 패스워드 변경 주기 설정하기(chage)..
앤서블 롤(Roles) 롤은 관리/재사용의 목적으로 "플레이북 내용을 기능 단위로 나눈 모듈 단위를 말합니다. 앤서블 갤럭시를 통해 롤을 공유하고 사용자들이 만든 잘 짜인 롤을 가져올 수도 있습니다. 롤 생성하기 ansible-galaxy 명령어로 롤을 생성하고 확인할 수 있습니다. # 롤 생성 # : ansible-galaxy role init --init-path mkdir roles ansible-galaxy role init --init-path ./roles myrol # 롤 생성 확인 role list --roles-path roles - myrole, (unknown version) tree roles 앤서블 롤의 구조는 다음과 같은 구성요소로 구성되어 있습니다. 앤서블 롤은 용도에 맞게 디..
1. 반복문 Ansible Loops 반복문을 사용하면 동일한 모듈을 사용하는 작업을 여러 번 작성하지 않아도 됩니다. ex) 서비스에 필요한 여러 개의 포트를 방화벽에 추가할 때, 1.1 단순 반복문 반복문을 사용하여 ansible.builtin.service 모듈을 통해 여러 개의 서비스를 구동해봅니다. loop 작업을 반복해야 하는 목록을 정의합니다. {{ item }} 해당하는 값을 item 변수로 사용할 수 있습니다. check-services.yml --- - hosts: all tasks: - name: Check sshd and rsyslog state ansible.builtin.service: name: "{{ item }}" state: started loop: - sshd - rsy..
가시다님의 주관하시는 앤서블 스터디(a101)의 내용 정리입니다. 앤서블로 시작하는 인프라 자동화 책의 내용이 포함되어 있습니다. Ansible이란? 테라폼과 함께 가장 인기 있는 오픈소스 IT자동화 도구로, IT업무를 코드 기반으로 작성하여 환경이 다르더라도 동일하게 적용될 수 있도록 돕는 역할을 합니다. 2015년 10월 레드햇이 인수하여 개발하고 관리하고 있습니다. 실습을 위해 제어노드(Control Node) 1대와 관리노드(Manged Node) 3대를 구성하고, Ansible 설정과 기본 사용을 해봅니다. Ansible의 다음과 같은 특징이 있습니다. No 에이전트(Agentless) 기존 자동화 도구(Puppet, Chef)와 같이 자동화 관리 대상 서버(Manged Node)에 별도의 에이..