1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

앤서블 시작과 실행(에이콘 클라우드 컴퓨팅 시리즈)
저자 : 로린혹스테인외 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 김용환

2019.06.28 ㅣ 532p ㅣ ISBN-13 : 9791161753218

정가35,000
판매가33,250(5% 할인)
적립금 1,400원 (4%)
배송일정 절판
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 B5(257mm X 188mm, 사륙배판)
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 웹프로그래밍(웹디자...
쉬운 자동화 설정 관리부터 배포 방법

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

[목 차]

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
결론

[본 문]

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

저는 2014년에 네이버가 주관한 개발자 콘퍼런스 데뷰(Deview)에서 앤서블에 대해 발표하고, 이듬해에는 에이콘출판사를 통해 국내에 처음으로 앤서블 번역서를 선보였습니다. 앤서블이 많은 개발자, 데브옵스, 시스템 관리자를 편하게 도와줄 것이라고 믿었기 때문입니다. 그 믿음은 현실화됐고, 이제는 앤서블을 사용하지 않는 곳은 거의 없을 정도입니다.
서버에 배포와 관련된 에이전트를 설치하지 않고 단순히 서버 접근 권한과 앤서블만 있으면 작은 대수의 서버부터 수백, 수천 대의 서버를 관리할 수 있습니다. 가상화, 클라우드 환경까지 다룰 정도입니다. 또한 멱등성, 단순한 설치, 설정 기능을 넘어서 애플리케이션 배포까지 담당하고 있습니다. 이제는 생산성을 향상시킬 수 있는 필수 툴이 되고 있습니다.
레드햇에 따르면 특정 회사에 대해 앤서블을 이용한 업무 자동화 컨설팅을 진행해 대응 및 소모 시간을 66퍼센트에서 80퍼센트까지 단축했다고 합니다. 그만큼 운영 자동화 툴, 앤서블을 이용한 생산성 혁신은 매우 의미 있다고 할 수 있습니다.
이 책은 베이그런트를 실험 머신으로 설정하고 앤서블과 연동되도록 설치 및 설정합니다. 플레이북의 기능을 설명하고, 한 대 또는 여러 대의 베이그런트 실험 머신에 파이썬 웹 애플리케이션을 배포합니다. 앤서블의 기본 기능인 변수 및 팩트, 플레이, 롤, 태스크뿐만 아니라 고급 필터, 룩업, 루프, 핸들러, 콜백 핸들러, 사용자 정의 모듈 등을 다룹니다. 플레이북 디버깅 방법과 아마존 EC, 도커, 윈도우 호스트, 네트워크 장비에서 앤서블 사용 방법을 살펴봅니다. 마지막으로 앤서블 타워를 설명합니다.
이 책은 2017년에 출간된 책이지만 번역서에서는 최신 우분투 18.04, 베이그런트(Vagrant) 2.2.2, 파이썬 3.7, 앤서블 2.7.5 버전을 기준으로 설명했으며, https://github.com/knight76/ansiblebook에 소스를 올려놓았습니다. 이 책을 통해 즐겁게 앤서블을 배워 가면 좋겠습니다.
('옮긴이의 말' 중에서)
펼쳐보기
[이 책에서 다루는 내용]

- 윈도우 컴퓨터를 관리하고 네트워크 장치 설정 자동화하기
- 웹 브라우저에서 앤서블 타워를 사용해 많은 장비 관리하기
- 앤서블이 여타 설정 관리 시스템과 다른 점 이해하기
- 사용자 정의 플레이북을 작성하기 위한 YAML 파일 포맷 사용하기
- 완전한 예시로 작업해 중요한 애플리케이션 배포하기
- 아마존 EC2 및 기타 클라우드 플랫폼에 애플리케이션 배포하기
- 도커 이미지를 생성하고 도커 컨테이너 배포하기

[이 책의 대상 독자]

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

[이 책의 구성]

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

추천사

나는 이 책의 초판 원고를 집중해서 읽었다. 로린이 앤서블의 모든 부분을 설명하는 놀랄 만한 일을 진행했다. 그리고 로린이 르네와 힘을 합쳤다는 소식을 듣고 흥분했다. 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의 데브옵스 엔지니어
펼쳐보기
로린 혹스테인(Lorin Hochstein)
캐나다 퀘벡주 몬트리올에서 태어나 자랐다. 하지만 가끔 "빛을 닫아라(close the light)"라고 말할 때만 빼면, 결코 억양으로는 캐나다인이라고 추측하지 못할 정도이다. 학계로 다시 돌아갈 계획을 갖고 있으며 네브라스카링컨대학교(University of Nebraska-Lincoln) 컴퓨터공학과와 엔지니어링학과 조교수로 있었고, 서던캘리포니아대학교(University of Southern California)의 정보과학 연구소의 컴퓨터 사이언티스트로 4년 동안 일했다. 맥길대학교(McGill University)의 컴퓨터엔지니어링학부 졸업 후 보스톤대학교(Boston University)의 전기공학 석사, 칼리지 파크의 메릴랜드대학교(Maryland University) 컴퓨터공학 박사 학위를 받았다. 현재 넷플릭스의 카오스 엔지니어링(Chaos Engineering) 팀에서 선임 소프트웨어 엔지니어로 일하고 있다.

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

옮긴이 김용환
네이버, 라인(Line)을 거쳐 카카오(Kakao)에서 개발자로 일하고 있다. 현재 마흔두 살의 평범한 개발자로 다양한 도전에서 에너지를 얻으며, 개발과 실무 경험을 블로그에 기록하고 있다. 에이콘출판사의 [Ansible 설정 관리](2015), [ElasticSearch Cookbook 2/e](2016), [Redis 핵심정리](2016), [CentOS 7 리눅스 서버 쿡북](2016), [하이브 핵심정리](2017), [일래스틱서치 고급 기능의 개념과 활용](2017), [SMACK 스택을 이용한 빠른 데이터 처리 시스템](2017)을 번역했다.

펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기