티스토리 뷰
위 그림은 앤서블 공식 홈페이지 첫화면으로 앤서블은 “모든 사람을 위한 자동화” 를 지향하는 프로비저닝 툴 입니다.
redhat 에서 제공하고 있으며, python 으로 기술된 오픈소스 프로젝트 입니다. (앤서블 Tower는 유료)
앤서블의 특징은 다음과 같습니다.
1. 쉽다
앤서블은 "모든 사람을 위한 자동화" 라는 이념에 맞게 YAML(야믈 이라고 발음) 이라는 언어 정확히는 데이터 표현 양식을 사용합니다.
이는 특정 기술을 가지고 있지않아도, 개발자가 아니라도 모든 사람이 사용하기 쉬운 포맷을 선택한 것 입니다.
2. 에이전트리스
앤서블만이 가지는 가장 큰 특징이 바로 에이전트리스 입니다. (셰프,퍼펫,솔트스택 모두 에이전트 설치가 필요)
에이전트리스란 실행 대상 머신에 에이전트를 설치할 필요가 없다는 말입니다.
앤서블은 SSH를 이용해 대상 서버에 접속합니다.
따라서 관리서버에 앤서블이 설치되어있으면 모든 준비가 끝납니다.
앤서블은 중앙 머신이 각 실행 대상 머신에 로그인해 실행하는 "PUSH형 아키텍처"를 가집니다.
*에이전트리스가 무조건 좋다고 말할 순 없습니다.
에이전트 형과 에이전트리스의 장단점이 존재합니다.
에이전트 형은 중앙 서버가 실행 대상 머신의 접근 정보를 몰라도 되기 때문에 보안에 강합니다.
반면 앤서블은 ssh 통신 계정정보를 필요로 하기 때문에 보안에 취약해 각별한 관리가 필요합니다.
필요에 따라 계정 정보를 따로 관리하는 방식을 선택할 수 있습니다. (ex)HashiCorp Vault 라는 암호화 프로그램)
*SSH란?
원격지에 있는 컴퓨터를 안전하게 제어하기 위한 프로토콜
ssh client 와 ssh server 의 상호작용
강력한 암호화 방법을 통해 연결되어 있어 기존 telnet , ftp 등 보다 보안이 강화됨
SSH 클라이언트
리눅스,mac 계열의 운영체제는 ssh 클라이언트가 기본으로 설치되어있음
윈도우같은 경우 따로 설치가 필요
putty
xshell
wsl(윈도우10)
ssh 서버
리눅스는 openssh를 사용하는것이 일반적
3. 멱등성
멱등성은 "어떤 작업을 여러 번 실행해도 결과는 항상 동일하다." 는 성질입니다.
멱등선은 앤서블만이 아니라 모든 프로비저닝 툴이 가지는 특징입니다.
'Ansible' 카테고리의 다른 글
1. 앤서블(Ansible) 사전지식 - IaaS, PaaS, SaaS, IaC(Infrastructure as Code) (0) | 2018.04.03 |
---|