스크랩

구간

앤서블 시작과 실행 쉬운 자동화 설정 관리부터 배포 방법

로린 혹스테인, 르네 모저 저 | 김용환 역 | 에이콘출판 | 2019년 06월

미리보기 북트리

정가
$70.00
판매가
$51.03 (27%↓) 최저가 보상
적립금
$1.02 (2%P)
출고예상일
2026년 10월 07일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791161753218 / 548쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

반디앤루니스 리뷰

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

출판사 리뷰

- 윈도우 컴퓨터를 관리하고 네트워크 장치 설정 자동화하기 - 웹 브라우저에서 앤서블 타워를 사용해 많은 장비 관리하기 - 앤서블이 여타 설정 관리 시스템과 다른 점 이해하기 - 사용자 정의 플레이북을 작성하기 위한 YAML 파일 포맷 사용하기 - 완전한 예시로 작업해 중요한 애플리케이션 배포하기 - 아마존 EC2 및 기타 클라우드 플랫폼에 애플리케이션 배포하기 - 도커 이미지를 생성하고 도커 컨테이너 배포하기 [이 책의 대상 독자] 이 책은 리눅스 또는 유닉스 계열의 서버를 다뤄야 하는 사람들을 위한 책이다. 시스템 관리, 운영, 배포, 설정 관리, 데브옵스(DevOps)라는 용어를 사용한 적이 있다면 여기에서 가치를 찾아야 한다. [이 책의 구성] 이 책은 처음부터 끝까지 읽을 수 있도록 작성됐고 이전 장을 기반으로 다음 장이 작성됐다. 주로 튜토리얼 형태로 작성됐기에 사용자의 컴퓨터로 따라 할 수 있다. 대부분의 예시는 웹 애플리케이션에 집중하고 있다.

저자 소개

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

저자 : 르네 모저
아내, 세 자녀와 함께 스위스에 살고 있다. 일하는 것과 규모가 있는 단순한 일을 좋아하며 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)을 번역했다.

역자 소개

  • 역자 : 김용환
알티캐스트, 네이버, 라인, SK Planet을 거쳐 현재 카카오에서 개발자로 일하고 있다. 이제 마흔네 살의 평범한 개발자로 다양한 도전에서 에너지를 얻으며, 개발과 실무 경험을 블로그(http://knight76.tistory.com)에 기록하고 있다.
정보통신산업진흥원(NIPA) 산하의 소프트웨어공학포털에 개발 관련 내용을 공유했고, 각종 콘퍼런스와 세미나에서 그동안 쌓은 개발 지식을 발표하고 있다. 스스로에게는 물론 누군가에게 도움이 될 수 있다는 생각으로 번역을 시작했는데, 어느덧 14번째 책이다.

목차

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 롤 사용하기

top