로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

앤서블 시작과 실행

   
지은이 로린 혹스테인, 르네 모저   |   출판사 에이콘  |   발행일 2019년 06월 28일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 35,000원31,500원 10%
마일리지 5% 1,750원
발행일 2019-06-28
ISBN 1161753214 | 9791161753218
기타정보 번역서 | 548쪽 | 일반
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
일반
   
이 책의 원서
  Ansible: Up and Running: Automating Configuration Management and Deployment the Easy Way
O'Reilly Media | Lorin Hochstein
 

★ 요약 ★



환경설정 배포가 손쉬운 자동화 툴 앤서블(Ansible)은 에이전트(Agent) 기반이 아닌 SSH 기반으로 SSH 연결을 통해 코드를 전송하고 스크립트를 실행한다. 베이그란트를 실험 머신으로 설정하고 앤서블과 연동되도록 설치 및 설정한다. 플레이북의 기능을 설명하고 한 대 또는 여러 대의 베이그란트 실험 머신에 파이썬 웹 애플리케이션을 배포한다. 앤서블의 기본 기능인 변수 및 팩트, 플레이, 롤, 태스크뿐 아니라 고급 필터, 룩업, 루프, 핸들러, 콜백 핸들러, 사용자 정의 모듈 등을 다룬다. 플레이북 디버깅 방법과 아마존 EC, 도커, 윈도우 호스트, 네트워크 장비에서 앤서블 사용 방법을 살펴보고 마지막으로 앤서블 타워를 설명한다.






★ 이 책에 쏟아진 찬사 ★

이 책의 초판 원고를 집중해서 읽었다. 로린이 앤서블의 모든 부분을 설명하는 놀랄 만한 일을 진행했다. 그리고 로린이 르네와 힘을 합쳤다는 소식을 듣고 흥분했다. 2판에서 두 저자는 믿을 수 없을 정도로 유용한 유틸리티를 좋은 용도로 사용하는 방법을 탁월한 결과물로 보여준다. 두 저자가 앤서블을 깊이 다루지 않은 내용이 없다고 생각한다.
- 장-피에르 멘즈(Jan-Piet Mens), 컨설턴트

이 책에서 앤서블의 기능을 인상적으로 다룬다. 또한 앤서블을 시작할 때 참고하기 좋을 책일뿐만 아니라 고급 기능을 사용하는 방법을 이해할 때에도 유용하다. 이 책은 여러분의 앤서블 기술을 높일 수 있는 환상적인 자료다.
- 맷 제인스(Matt Jaynes), High Velocity Ops 수석 기술자

앤서블의 장점은 바로 시작할 수 있다는 점이다. 쉬운 프로토타입을 작성해 빨리 진행하고 완료할 수 있다. 그러나 시간이 지나면서 앤서블에 대한 지식과 이해의 간격으로 이어지기 쉽고 이로 인해 어려움을 겪을 수 있다.
그러나 이 책은 기본적인 내용부터 YAML과 진자2를 함께 작업하는 복잡성에 대한 답을 설명하며 그 간격을 채우기 때문에 매우 유용한 자료라고 말할 수 있다. 그리고 이 책에서는 배우고 구축할 수 있는 많은 기초적인 예시를 제공하기에 사람들이 환경을 자동화하는 방법에 대한 통찰력을 가질 수 있다. 지난 몇 년 동안의 교육과 실습을 진행할 때면 항상 이 책을 동료와 고객에게 권한다.
- 다그 위어스(Dag Wieers), 프리랜서 리눅스 시스템 엔지니어, 오랜 기간 앤서블 컨트리뷰터이자 컨설턴트

이 책은 모든 사람이 앤서블을 쉽게 시작할 수 있도록 도울 뿐만 아니라 앤서블 설정 관리에 대해 자세히 설명한다. 많은 힌트와 방법을 제공하며 AWS, 윈도우, 도커와 같은 광범위한 사용 사례를 다룬다.
- 잉고 요하임(Ingo Jochim), 지능형 GMS/CIS를 담당하는 Cloud Implementation 매니저

로린과 르네는 이 책을 만드는 놀라운 일을 해냈다. 두 저자는 직접 사용자를 붙잡고 적절하게 설계된 앤서블 프로젝트를 생성하고 관리하는 모든 중요한 단계를 수행하도록 돕는다. 이 책은 공식 문서에서 누락된 일부 중요한 개념 주제를 다루기 때문에 앤서블을 간단히 참조하는 것 이상의 책이다. 앤서블 초보자를 위한 훌륭한 자료이지만 기존 앤서블을 사용하는 사람에게는 많은 실용적인 개념과 팁을 포함한다.
- 도미닉 바튼(Dominique Barton), confirm IT solutions의 데브옵스 엔지니어





★ 이 책에서 다루는 내용 ★



■ 윈도우 컴퓨터를 관리하고 네트워크 장치 설정 자동화하기

■ 웹 브라우저에서 앤서블 타워를 사용해 많은 장비 관리하기

■ 앤서블이 여타 설정 관리 시스템과 다른 점 이해하기

■ 사용자 정의 플레이북을 작성하기 위한 YAML 파일 포맷 사용하기

■ 완전한 예시로 작업해 중요한 애플리케이션 배포하기

■ 아마존 EC2 및 기타 클라우드 플랫폼에 애플리케이션 배포하기

■ 도커 이미지를 생성하고 도커 컨테이너 배포하기





★ 이 책의 대상 독자 ★



이 책은 리눅스 또는 유닉스 계열의 서버를 다뤄야 하는 사람들을 위한 책이다. 시스템 관리, 운영, 배포, 설정 관리, 데브옵스(DevOps)라는 용어를 사용한 적이 있다면 여기에서 가치를 찾아야 한다.





★ 이 책의 구성 ★



이 책은 처음부터 끝까지 읽을 수 있도록 작성됐고 이전 장을 기반으로 다음 장이 작성됐다. 주로 튜토리얼 형태로 작성됐기에 사용자의 컴퓨터로 따라 할 수 있다. 대부분의 예시는 웹 애플리케이션에 집중하고 있다.





★ 지은이의 말 ★



로린은 인기 있는 파이썬 기반 프레임 워크인 장고(Django)를 사용해 첫 번째 웹 애플리케이션을 개발할 때 애플리케이션이 데스크톱에서 마침내 작동할 때 성취감을 느꼈다. django manage.py runserver를 실행하고 브라우저에서 URL을 http://localhost:8000으로 지정하면 웹 애플리케이션이 기쁘게도 잘 동작했다.
단지 리눅스 서버에서 실행되는 멋진 애플리케이션을 얻고 싶었을 뿐인데, 애플리케이션을 제대로 실행하려면 해야 할 많은 작업들이 있다는 것을 알게 됐다. 장고와 애플리케이션을 서버에 설치하는 것 외에 아파치 서버(Apache Http 서버)와 장고 애플리케이션을 실행할 수 있는 mod_python 모듈을 설치해야 했다. 그 다음에 올바른 아파치 설정 파일을 알아내야만 애플리케이션을 실행하고 정적 콘텐츠를 제대로 제공할 수 있었다.
사실 어떤 것도 쉽지 않았다. 그 모든 세부 사항을 제대로 이해하는 것이 고통이었다. 설정 파일에 많은 노력을 들이고 싶지 않았다. 그냥 애플리케이션을 실행하고 싶었다. 일단 애플리케이션을 실행하면 잘 동작했다. 하지만 몇 달 후 다른 서버에서 애플리케이션을 실행하는 작업을 다시 해야 되는 상황이 오면 이전의 과정을 다시 진행해야 했다.
마침내 나는 진행 과정이 잘못됨을 알게 됐다. 이런 종류의 작업을 하는 올바른 방법은 이름이 있는데 그 이름은 설정 관리(configuration management)다. 설정 관리 사용의 가장 좋은 점은 항상 최신 상태로 유지되는 지식을 포착하는 방법이라는 것이다. 올바른 문서 페이지를 찾거나 이전 노트를 검색하지 않아도 된다.
마침내 로린은 진행 과정이 잘못됐음을 알게 됐다. 이런 종류의 작업을 하는 올바른 방법은 이름이 있는데, 그것은 설정 관리(configuration management)다. 설정 관리 사용의 가장 좋은 점은 항상 최신 상태로 유지되는 지식을 포착하는 방법이라는 것이다. 올바른 문서 페이지를 찾거나 이전 노트를 검색하지 않아도 된다.


1장. 소개
__버전 정보
__앤서블: 어디에 사용하면 좋을까?
__앤서블의 동작 방식
__앤서블의 어떤 부분이 훌륭한가?
__앤서블이 너무 간단한가?
__내가 알아야 할 내용은 무엇인가?
__다루지 않는 내용
__앤서블 설치
__테스트용 서버 설정
__요약


2장. 플레이북: 시작
__준비 사항
__아주 간단한 플레이북
__플레이북 실행하기
__플레이북은 YAML이다
__플레이북 분석
__무엇이 변경됐는가? 호스트 상태 추적하기
__더 좋은 기능: TLS 지원


3장. 인벤토리: 서버 설명
__인벤토리 파일
__준비 사항: 여러 대의 베이그런트 머신
__동작 인벤토리 매개변수
__그룹과 그룹과 그룹
__호스트와 그룹 변수: 인벤토리 내부
__호스트 변수와 그룹 변수: 사용자 정의 파일을 갖는다
__동적 인벤토리
__여러 파일로 인벤토리 분할
__런타임에 add_host와 group_by 사용해 항목을 추가하기


4장. 변수와 팩트
__플레이북에서 변수 정의하기
__변숫값 보기
__변수 등록하기
__팩트
__새 변수를 정의하기 위해 set_fact를 사용하기
__내장 변수
__커맨드라인에서 변수 설정하기
__우선순위


5장. 메자닌 소개: 테스트 애플리케이션
__상용 환경에 배포하는 것이 복잡한 이유
____PostgreSQL: 데이터베이스
____Gunicorn: 애플리케이션 서버
____엔진엑스: 웹 서버
____수퍼바이저: 프로세스 관리자


6장. 앤서블을 사용해 메자닌 배포하기
__플레이북의 태스크 출력하기
__배포된 파일의 설정
__변수와 비밀 변수
__반복문(with_items)을 사용해 여러 패키지 설치하기
__태스크에 Become 절 추가하기
__apt-cache 업데이트하기
__깃을 사용해 프로젝트 체크아웃하기
__메자닌과 기타 패키지를 virtualenv에 설치
__태스크의 복잡한 매개변수: 간략한 설명
__데이터베이스 설정하기
__템플릿에서 local_settings
__django-manage 커맨드 실행하기
__애플리케이션의 컨텍스트에서 사용자 지정 파이썬 스크립트 실행하기
__엔진엑스 설정 활성화하기
__TLS 인증서 설치
__트위터 크론잡 설치하기
__전체 플레이북
__베이그런트 머신에 플레이북 실행하기
__트러블 슈팅
__여러 머신에 메자닌 배포하기


7장. 플레이북 확장하기
__롤의 기본 구조
__예시: 데이터베이스와 mezzanine 롤
__플레이북에서 롤 사용하기
__사전 태스크와 사후 태스크
__데이터베이스 배포를 위한 데이터베이스 롤
__메자닌을 배포하기 위한 Mezzanine 롤
__ansible-galaxy을 사용해 롤 파일과 디렉터리 생성하기
__의존 롤
__앤서블 갤럭시


8장. 복잡한 플레이북
__잘못 처리된 커맨드 처리하기 : changed_when와 failed_when
__필터
__조회
__더 복잡한 루프
__루프 제어문
__include
__블록
__블록을 사용한 에러 처리
__볼트를 활용한 중요한 데이터의 암호화


9장. 호스트, 실행, 핸들러 사용자 정의
__호스트 지정 패턴
__실행 중인 호스트 제한
__제어 머신에서 태스크 실행하기
__특정 호스트가 아닌 다른 호스트에서 태스크 실행하기
__한 번에 한 호스트에서 실행하기
__한 번에 여러 호스트에 플레이 실행하기
__한 번만 실행
__실행 전략
__고급 핸들러
__팩트를 수동으로 수집하기
__호스트의 IP 주소 얻기


10장. 콜백 플러그인
__표준 플러그인
__기타 플러그인


11장. 앤서블을 가능한 빠르게 하기
__SSH 멀티플렉싱과 ControlPersist
__파이프 라이닝
__팩트 캐싱
__병렬
__비동기로 동시 작업


12장. 사용자 정의 모듈
__예시: 원격 서버에 연결할 수 있는지 확인
__사용자 정의 모듈 대신 script 모듈 사용하기
__can_reach 모듈
__사용자 정의 모듈을 저장할 위치
__앤서블이 모듈을 호출하는 방법
__매개변수를 사용해 스탠드얼론 파이썬 스크립트 생성(파이썬 기반 모듈만)
__호스트에 모듈 복사
__호스트에 매개변수 파일 생성(파이썬 기반이 아닌 모듈만)
__모듈 호출
__예상된 출력
__앤서블이 기대하는 출력 변수
__파이썬에서 사용자 정의 모듈 구현하기
__모듈 문서화
__사용자 정의 모듈 디버깅하기
__배시에서 모듈 구현하기
__배시에서 대체 경로 지정
__예시 모듈


13장. 베이그런트
__편리한 베이그런트 설정 옵션
__앤서블 프로비저너
__프로비저너가 실행될 때
__베이그런트가 생성한 인벤토리
__병렬 프로비저닝
__그룹 지정
__앤서블 로컬 프로비저너


14장. 아마존 EC2
__개념
__자격 증명 지정하기
__선행 조건: 파이썬의 Boto 라이브러리
__동적 인벤토리
__태그가 포함된 동적 그룹 정의하기
__EC2 가상 사설 클라우드와 EC2-Classic
__ec2 모듈을 사용해 ansible.cfg 설정하기
__새로운 인스턴스 시작하기
__EC2 키 쌍
__보안 그룹
__최신 AMI 받기
__그룹에 새로운 인스턴스 추가하기
__서버가 동작될 때까지 기다리기
__멱등성을 지닌 앤서블 플레이북을 사용해 EC2 인스턴스 생성하기
__함께 실행하기
__가상 사설 클라우드 지정
__AMI 빌드하기
__기타 모듈


15장. 도커
__앤서블로 도커를 연결하는 사례
__도커 애플리케이션 수명 주기
__애플리케이션 예시: Ghost
__도커 데몬에 연결
__로컬 머신에서 컨테이너 실행하기
__Dockerfile로부터 이미지 빌드하기
__로컬 머신에서 여러 컨테이너를 오케스트레이션하기
__이미지를 도커 레지스트리에 푸시하기
__로컬 이미지 쿼리하기
__도커 애플리케이션 배포하기
__앤서블 컨테이너


16장. 앤서블 플레이북 디버깅하기
__사람이 실수하는 에러 메시지
__SSH 이슈 디버깅하기
__debug 모듈
__플레이북 디버거
__assert 모듈
__실행 전 플레이북 확인하기
__실행할 태스크 제어하기


17장. 윈도우 호스트 관리
__윈도우에 연결
__파워셸
__윈도우 모듈
__첫 번째 플레이북
__윈도우 업데이트
__로컬 사용자 추가하기
__결론


18장. 앤서블의 네트워크 장비 지원
__네트워크 모듈의 상태
__지원되는 네트워크 공급 업체 목록
__네트워크 장비 준비하기
__모듈의 동작 방법
__첫 번째 플레이북
__네트워크 모듈의 인벤토리와 변수
__파일에서 설정을 사용하기
__템플릿, 템플릿, 템플릿
__팩트 수집
__결론


19장. 앤서블 타워: 상용 앤서블
__가입 모델
__앤서블 타워가 해결할 수 있는 부분
__RESTful API
__앤서블 타워 CLI
__결론

부록 A. SSH 509
부록 B. EC2 자격 증명에 IAM 롤 사용하기






















로린 혹스테인(Lorin Hochstein)

캐나다 퀘벡주 몬트리올에서 태어나 자랐다. 하지만 가끔 "빛을 닫아라(close the light)"라고 말할 때만 빼면, 결코 억양으로는 캐나다인이라고 추측하지 못할 정도이다. 학계로 다시 돌아갈 계획을 갖고 있으며 네브라스카링컨대학교(University of Nebraska-Lincoln) 컴퓨터공학과와 엔지니어링학과 조교수로 있었고, 서던캘리포니아대학교(University of Southern California)의 정보과학 연구소의 컴퓨터 사이언티스트로 4년 동안 일했다. 맥길대학교(McGill University)의 컴퓨터엔지니어링학부 졸업 후 보스톤대학교(Boston University)의 전기공학 석사, 칼리지 파크의 메릴랜드대학교(Maryland University) 컴퓨터공학 박사 학위를 받았다. 현재 넷플릭스의 카오스 엔지니어링(Chaos Engineering) 팀에서 선임 소프트웨어 엔지니어로 일하고 있다.



르네 모저(René Moser)

아내, 세 자녀와 함께 스위스에 살고 있다. 일하는 것과 규모가 있는 단순한 일을 좋아하며 IT 분야 고등 교육 고급 자격(Advanced Diploma of Higher Education)을 취득했다. 15년 넘게 오픈 소스 커뮤니티에 참여했으며, 최근에는 앤서블 주요 컨트리뷰터이자 40개가 넘는 앤서블 모듈 저자로 활동하고 있다. 또한 프로젝트 관리 위원회이자 아파치 클라우드 스택(Apache CloudStack)의 커미터 멤버이기도 하다. 현재 SWISS TXT의 시스템 엔지니어로 일하고 있다.





★ 옮긴이의 말 ★



저는 2014년에 네이버가 주관한 개발자 콘퍼런스 데뷰(Deview)에서 앤서블에 대해 발표하고, 이듬해에는 에이콘출판사를 통해 국내에 처음으로 앤서블 번역서를 선보였습니다. 앤서블이 많은 개발자, 데브옵스, 시스템 관리자를 편하게 도와줄 것이라고 믿었기 때문입니다. 그 믿음은 현실화됐고, 이제는 앤서블을 사용하지 않는 곳은 거의 없을 정도입니다.

서버에 배포와 관련된 에이전트를 설치하지 않고 단순히 서버 접근 권한과 앤서블만 있으면 작은 대수의 서버부터 수백, 수천 대의 서버를 관리할 수 있습니다. 가상화, 클라우드 환경까지 다룰 정도입니다. 또한 멱등성, 단순한 설치, 설정 기능을 넘어서 애플리케이션 배포까지 담당하고 있습니다. 이제는 생산성을 향상시킬 수 있는 필수 툴이 되고 있습니다.

레드햇에 따르면 특정 회사에 대해 앤서블을 이용한 업무 자동화 컨설팅을 진행해 대응 및 소모 시간을 66퍼센트에서 80퍼센트까지 단축했다고 합니다. 그만큼 운영 자동화 툴, 앤서블을 이용한 생산성 혁신은 매우 의미 있다고 할 수 있습니다.

이 책은 베이그런트를 실험 머신으로 설정하고 앤서블과 연동되도록 설치 및 설정합니다. 플레이북의 기능을 설명하고, 한 대 또는 여러 대의 베이그런트 실험 머신에 파이썬 웹 애플리케이션을 배포합니다. 앤서블의 기본 기능인 변수 및 팩트, 플레이, 롤, 태스크뿐만 아니라 고급 필터, 룩업, 루프, 핸들러, 콜백 핸들러, 사용자 정의 모듈 등을 다룹니다. 플레이북 디버깅 방법과 아마존 EC, 도커, 윈도우 호스트, 네트워크 장비에서 앤서블 사용 방법을 살펴봅니다. 마지막으로 앤서블 타워를 설명합니다.

이 책은 2017년에 출간된 책이지만 번역서에서는 최신 우분투 18.04, 베이그런트(Vagrant) 2.2.2, 파이썬 3.7, 앤서블 2.7.5 버전을 기준으로 설명했으며, https://github.com/knight76/ansiblebook에 소스를 올려놓았습니다. 이 책을 통해 즐겁게 앤서블을 배워 가면 좋겠습니다.





★ 옮긴이 소개 ★



김용환

알티캐스트, 네이버, 라인, SK Planet을 거쳐 현재 카카오에서 개발자로 일하고 있다. 이제 마흔네 살의 평범한 개발자로 다양한 도전에서 에너지를 얻으며, 개발과 실무 경험을 블로그(http://knight76.tistory.com)에 기록하고 있다.

정보통신산업진흥원(NIPA) 산하의 소프트웨어공학포털에 개발 관련 내용을 공유했고, 각종 콘퍼런스와 세미나에서 그동안 쌓은 개발 지식을 발표하고 있다. 스스로에게는 물론 누군가에게 도움이 될 수 있다는 생각으로 번역을 시작했는데, 어느덧 14번째 책이다.



등록된 서평이 없습니다.
엑셀장인의 엑셀 매크로 & VBA 마스터링 북...
장기영
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
Solidworks Basic(솔리드웍스 베이직)(2017)...
원동현
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
개발자를 위한 파이썬...
윤웅식
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
게임 테스팅 3/e
찰스 슐츠 , 로버트 덴튼 브라이언트 [옮긴이]진석준 저
31,500원
(10%↓+1%)
 
순수 함수형 데이터 구조
크리스 오카사키 [옮긴이] 오현석 저
31,500원
(10%↓+5%)
 
빅데이터 시각화
제임스 밀러 [옮긴이]최준규, 강형건 저
25,200원
(10%↓+5%)
 
자바 데이터 분석
존 R. 허바드 [옮긴이] 김명훈 저
31,500원
(10%↓+5%)
 
보안 빅데이터 분석 플랫폼 구축과 활용
김대용 저
31,500원
(10%↓+5%)
 
이메일주소수집거부