본문으로 바로가기
평면표지(2D 앞표지)
입체표지(3D 표지)
2D 뒤표지

테라폼 쿡북

클라우드 운영에 필수적인 테라폼 설치부터 고급 사용 방법까지


  • ISBN-13
    978-89-314-7587-6 (93000)
  • 출판사 / 임프린트
    영진닷컴 / 영진닷컴
  • 정가
    44,000 원 확정정가
  • 발행일
    2024-07-29
  • 출간상태
    출간
  • 저자
    미카엘 크리프
  • 번역
    강진우
  • 메인주제어
    컴퓨터프로그래밍 / 소프트웨어공학
  • 추가주제어
    -
  • 키워드
    #컴퓨터프로그래밍 / 소프트웨어공학 #테라폼 #애저 #쿠버네티스 #도커 #클라우드 #AWS #GCP
  • 도서유형
    종이책, 무선제본
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    188 * 257 mm, 744 Page

책소개

클라우드 인프라 구축의 완벽한 가이드

 

이 책은 테라폼을 이용해서 코드형 인프라를 구축하는 방법을 자세히 다룹니다. 테라폼의 설치부터 시작해서 구축하고, CLI를 사용하여 워크플로우를 수행하며, 모듈을 사용하는 방법을 설명합니다.

 

주요 클라우드 프로바이더인 애저, AWS, GCP에서 인프라를 구축하는 실질적인 방법을 포함하여, 쿠버네티스와의 통합도 다룹니다. 또한, 테라폼의 고급 기술이라고 할 수 있는 테스트, CI/CD 파이프라인 통합, 협업 플랫폼인 테라폼 클라우드 사용법도 설명합니다. 다양한 예제를 통해 테라폼 구성을 작성하고, 다른 도구와의 통합 사례도 제시합니다.

 

【 대상 독자층 】

- 코드형 인프라에 대한 기술 역량을 향상시키고 싶은 개발자

- 데브옵스 엔지니어

목차

CHAPTER 1 테라폼 환경 구성하기

1.1 기술적 요구사항

1.2 테라폼 모범 사례 살펴보기

1.3 윈도우에서 수동으로 테라폼 다운로드하고 설치하기

1.4 윈도우에서 Chocolatey를 사용해 테라폼 설치하기

1.5 APT 패키지 매니저를 사용하여 리눅스에 테라폼 설치하기

1.6 리눅스에서 스크립트를 사용해 테라폼 설치하기

1.7 도커 컨테이너에서 테라폼 실행하기

1.8 여러 테라폼 버전간 전환하기

1.9 테라폼 프로바이더 업그레이드하기

 

CHAPTER 2 테라폼 구성 작성하기

2.1 기술적 요구사항

2.2 사용할 테라폼과 프로바이더 버전 구성하기

2.3 프로바이더에 별칭을 추가해서 동일한 프로바이더의 여러 인스턴스 만들기

2.4 변수 조작하기

2.5 민감 변수 안전하게 유지하기

2.6 사용자 정의 함수에서 로컬 변수 사용하기

2.7 출력을 사용해서 프로비저닝된 데이터 노출하기

2.8 테라폼 내장 함수 호출하기

2.9 테라폼 구성에서 YAML 파일 사용하기

2.10 조건문 작성하기

2.11 테라폼으로 패스워드 생성하기

2.12 테라폼 리소스간 의존성 관리하기

2.13 사용자 지정 사전 및 사후 조건 추가하기

2.14 인프라의 유효성 검사하기

 

CHAPTER 3 테라폼으로 인프라 확장하기

3.1 기술적 요구사항

3.2 여러 환경에서 인프라를 프로비저닝하기

3.3 count 인수를 사용해서 여러 리소스를 프로비저닝하기

3.4 맵 사용하기

3.5 객체로 구성된 맵 순환하기

3.6 dynamic 블록을 사용해서 여러 개의 블록 생성하기

3.7 맵 필터링하기

 

CHAPTER 4 외부 데이터를 활용해서 테라폼 사용하기

4.1 기술적 요구사항

4.2 데이터 소스를 활용해 외부 데이터 획득하기

4.3 테라폼으로 외부 데이터 쿼리하기

4.4 테라폼으로 로컬 파일 조작하기

4.5 테라폼으로 로컬 프로그램 실행하기

4.6 테라폼 쉘 프로바이더를 사용해서 쉘 스크립트 실행하기

 

CHAPTER 5 테라폼 상태 관리하기

5.1 로컬 테라폼 상태 사용하기

5.2 테라폼 상태에 있는 리소스 관리하기

5.3 테라폼 상태 동기화하기

5.4 기존 리소스 가져오기

5.5 다른 테라폼 상태에 있는 리소스 사용하기

5.6 테라폼 구성에 있는 리소스 리팩터링하기

 

CHAPTER 6 기본적인 테라폼 워크플로우 적용하기

6.1 기술적 요구사항

6.2 테라폼 구성을 깔끔하게 유지하기

6.3 코드 문법 검증하기

6.4 인프라 리소스 삭제하기

6.5 테라폼 구성에서 사용하는 프로바이더 나열하기

6.6 윈도우와 리눅스에 호환성을 갖춘 테라폼 의존성 파일 만들기

6.7 테라폼 모듈 복사하기

6.8 여러 환경을 관리하기 위해 워크스페이스 사용하기

6.9 출력을 JSON으로 내보내기

6.10 리소스 테인팅하기

6.11 의존성 그래프 생성하기

6.12 다른 테라폼 구성 디렉터리 사용하기

6.13 테라폼 표현식 분석하기

6.14 테라폼 실행 디버깅하기

 

CHAPTER 7 모듈을 사용해서 테라폼 구성 공유하기

7.1 기술적 요구사항

7.2 테라폼 모듈을 생성하고 로컬에서 사용하기

7.3 테라폼 모듈의 여러 인스턴스를 프로비저닝하기

7.4 공개 모듈 저장소에 있는 모듈 사용하기

7.5 깃허브를 사용해서 공개 저장소에 테라폼 모듈 공유하기

7.6 사용자 정의 모듈 내에서 다른 파일 사용하기

7.7 테라폼 모듈 생성기 사용하기

7.8 모듈 문서 생성하기

7.9 비공개 깃 저장소를 사용해서 테라폼 모듈 공유하기

7.10 모듈 사용을 위해 테라파일 패턴 적용하기

 

CHAPTER 8 테라폼으로 애저 인프라 프로비저닝하기

8.1 기술적 요구사항

8.2 애저 클라우드 쉘에서 테라폼 사용하기

8.3 애저 자격 증명 프로바이더 보호하기

8.4 애저 원격 백엔드에 있는 상태 파일 보호하기

8.5 테라폼에서 ARM 템플릿 실행하기

8.6 테라폼에서 애저 CLI 명령 실행하기

8.7 테라폼과 애저 키 볼트(Key Vault)를 사용해서 민감 정보 보호하기

8.8 테라폼으로 애저 가상머신 프로비저닝하고 구성하기

8.9 기존 애저 인프라를 위한 테라폼 구성 생성하기

8.10 선택적인 애저 기능 활성화하기

8.11 인프라코스트(Infracost)를 사용해서 애저 인프라 비용 추정하기

8.12 AzApi 테라폼 프로바이더 사용하기

 

CHAPTER 9 테라폼으로 AWS와 GCP 인프라 프로비저닝하기

9.1 기술적 요구사항

9.2 AWS를 위한 테라폼 사용 시작하기

9.3 AWS에서 S3 백엔드 사용하기

9.4 GCP를 위한 테라폼 사용 시작하기

9.5 GCP에서 구글 클라우드 스토리지(GCS) 백엔드 사용하기

9.6 구글 클라우드 쉘에서 테라폼 실행하기

 

CHAPTER 10 도커와 쿠버네티스 배포에 테라폼 사용하기

10.1 기술적 요구사항

10.2 테라폼을 사용해서 도커 컨테이너 만들기

10.3 테라폼을 사용해서 쿠버네티스 리소스 배포하기

10.4 테라폼을 사용해서 헬름 차트를 쿠버네티스에 배포하기

10.5 테라폼 동기화 루프로 쿠버네티스 컨트롤러 사용하기

 

CHAPTER 11 테라폼 구성에 대한 테스트 및 컴플라이언스 검사하기

11.1기술적 요구사항

11.2 파워쉘의 Pester 프레임워크르 사용해서 테라폼 테스트하기

11.3 파이썬을 사용해서 테라폼 구성 테스트하기

11.4 OPA를 사용해서 테라폼 구성 확인하기

11.5 tfsec을 사용해서 테라폼 구성의 컴플라이언스 분석하기

11.6 terraform-compliance를 사용해서 테라폼 컴플라이언스 적용하기

11.7 테라테스트를 사용해서 테라폼 모듈 테스트하기

11.8 Kitchen-Terraform을 사용해서 테라폼 구성 테스트하기

11.9 새로운 테라폼 모듈 통합 테스트 사용하기

 

CHAPTER 12 테라폼 심층 분석

12.1 기술적 요구사항

12.2 리소스 삭제 방지하기

12.3 수동 변경 무시하기

12.4 테라폼 템플릿 기능 사용하기

12.5 테라폼으로 다운타임없이 배포하기

12.6 테라그런트를 사용해서 테라폼 구성의 의존성 관리하기

12.7 테라폼을 감싸는 래퍼로써 테라그런트 사용하기

12.8 테라폼을 사용해서 자체 서명 인증서 생성하기

12.9 깃 훅을 사용해서 테라폼 구성을 커밋하기 전에 확인하기

12.10 로버(Rover)를 통해 테라폼 리소스 의존성 시각화하기

12.11 개발자용 테라폼 CDK 사용하기

 

CHAPTER 13 CI/CD 파이프라인을 통해 테라폼 실행 자동화하기

13.1 자동화 모드에서 테라폼 실행하기

13.2 terraform plan의 실행 요약 표시하기

13.3 애저 파이프라인에서 테라폼 구성을 적용하기 위한 CI/CD 파이프라인 구축하기

13.4 깃허브 액션에서 테라폼 실행 자동화하기

13.5 CI/CD에서 워크스페이스를 통해 작업하기

13.6 애저 파이프라인에서 테라폼 모듈을 위한 CI/CD 파이프라인 구성하기

13.7 깃허브 액션을 사용해서 테라폼 모듈을 게시하는 워크플로우 구축하기

 

CHAPTER 14 테라폼 클라우드를 사용해서 협업 향상하기

14.1 기술적 요구사항

14.2 테라폼 클라우드에 인증하기

14.3 테라폼 클라우드에서 워크스페이스 관리하기

14.4 테라폼 클라우드에서 원격 백엔드 사용하기

14.5 테라폼 클라우드로 테라폼 상태 이전하기

14.6 테라폼 클라우드를 비공개 모듈 저장소로 사용하기

14.7 테라폼 클라우드에서 테라폼 구성을 원격으로 실행하기

14.8 테라폼 클라우드에서 OPA를 사용해서 테라폼 구성의 컴플라이언스 확인하기

14.9 클라우드 리소스에 대한 통합 비용 추정 사용하기

14.10 테라폼 클라우드 실행 중 인프라코스트 실행 작업 통합하기

14.11 TFE 프로바이더를 통해 테라폼 클라우드 구성하기

 

CHAPTER 15 테라폼 에러 트러블 슈팅

15.1 보간 에러 수정하기

15.2 의존성 순환 에러 수정하기

15.3 for_each 에러 수정하기

15.4 출력 에러 수정하기

 

부록 A 테라폼 치트 시트

부록 B 테라폼 리소스

본문인용

-

서평

■ 출판사 리뷰

이 책은 코드형 인프라의 핵심 개념과 테라폼을 통한 인프라 자동화를 포괄적으로 다룬 책입니다. 저자는 테라폼의 설치부터 시작하여 구성 작성, CLI 사용, 모듈 활용 등 기본적인 내용을 체계적으로 설명합니다. 특히 애저, AWS, GCP에서의 실제 적용 사례와 쿠버네티스와의 통합 방법을 통해 실질적인 활용 능력을 배양할 수 있도록 돕습니다.

 

테라폼의 고급 사용법을 다루는 부분에서는 테스트, CI/CD 파이프라인 통합, 협업 플랫폼인 테라폼 클라우드 사용법 등을 상세히 설명하여, 독자가 더욱 효율적으로 테라폼을 활용할 수 있도록 안내합니다.

 

이 책은 실제 예제와 실습을 통해 독자가 직접 경험하고 이해할 수 있도록 구성되어 있으며, 다양한 도구와의 통합 사례도 제공하여 실무에 바로 적용할 수 있는 지식을 전달합니다. 

 

코드형 인프라와 데브옵스 문화에 관심 있는 모든 전문가에게 필수적인 이 책은, 특히 테라폼을 통해 인프라 자동화를 구현하려는 개발자와 운영자, 데브옵스 엔지니어에게 큰 도움이 될 것입니다. 실용적인 접근 방식과 풍부한 예제를 통해, 독자가 테라폼을 활용한 인프라 구축을 제대로 배울 수 있도록 도와줍니다.

 

■ 옮긴이의 말

특히 이 책의 가장 큰 장점은 테라폼 그 자체에 집중하고 있다는 점입니다. 대부분의 테라폼 관련 자료들이 AWS, GCP, 애저 등 특정 클라우드 서비스에 초점을 맞추는 반면, 이 책은 테라폼의 핵심 개념과 기능을 깊이 있게 다루고 있습니다. 이를 통해 독자들은 테라폼의 다양한 기능을 충분히 경험하고 활용할 수 있을 것입니다.

이 책을 통해 테라폼을 처음 접하는 분들은 기본기를 탄탄히 다질 수 있을 것이며, 이미 테라폼을 사용하고 있는 분들도 보다 효율적이고 재미있게 테라폼을 활용할 수 있는 방법을 배울 수 있을 것입니다. 번역 과정에서 제가 겪었던 어려움과 성장을 고스란히 담아낼 수 있었던 만큼, 이 책이 많은 분들에게 큰 도움이 되기를 바랍니다. 테라폼을 처음 배울 때의 제 경험처럼, 이 책이 독자 여러분께도 유익한 길잡이가 되었으면 합니다.

저자소개

저자 : 미카엘 크리프
프랑스에 살고 있는 데브옵스 엔지니어입니다. 저자는 코드형 인프라가 데브옵스 문화의 기반 기술이라고 믿고 있습니다. 그래서 해시코프의 제품과 테라폼에 관심을 가지고 있습니다. 해시코프 사용자 그룹과 같은 다양한 커뮤니티를 통해서 열정을 공유하는 것을 좋아합니다. 또한 수년동안 다양한 공개 프로젝트에 기여하고 많은 블로그 글을 쓰고, 여러 권의 책을 출판하며 주요 컨퍼런스에서 발표도 했습니다. 이런 기여와 열정을 인정받아, 2019년부터 해시코프 앰버서더로 선정되었고 8년 동안 마이크로소프트에서 MVP(Most Valuable Professional)상을 받았습니다.
번역 : 강진우
네이버 클라우드와 카카오, 위버스 컴퍼니를 거쳐 지금은 당근마켓에서 하이퍼 로컬 플랫폼을 만들기 위해 인프리 조직을 리드하고 있습니다. 글쓰기를 좋아하고 사람들과 지식 공유하는 것을 즐깁니다. 집필한 책으로는 『DevOps와 SE를 위한 리눅스 커널 이야기』, 『기초부터 다지는ElasticSearch 운영 노하우』가 있습니다
영진닷컴은 대한민국의 대표 실용서 출판사입니다. 1987년 영진출판사로 출판사업을 시작하였으며, 2000년 영진닷컴으로 상호변경하였습니다.

'이기적(이렇게 기막힌 적중률)' 수험서 시리즈와 IT 전문 서적을 포함하여 가정생활, 요리, 취미, 예술, 경제경영, 인문 등 다양한 분야의 단행본 도서들을 출간하고 있습니다.
상단으로 이동