장바구니 담기 close

장바구니에 상품을 담았습니다.

심각한 테라폼 중독입니다

심각한 테라폼 중독입니다

  • 홍수민
  • |
  • 제이펍
  • |
  • 2025-07-14 출간
  • |
  • 376페이지
  • |
  • 188 X 245 X 18mm
  • |
  • ISBN 9791194587255
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
25,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

테라폼, 한번 써봤다면 이제는 제대로 빠져들 차례

IaC(코드형 인프라)는 더 이상 선택이 아니다. 실무에서 안정적이고 일관된 인프라를 운영하려면, 코드로 선언하고 관리하는 방식이 필수가 되었다. 그 중심에 있는 도구가 바로 테라폼이다. 그런데 문제는 여기서 시작된다. 테라폼 설치와 리소스 선언은 쉽다. 문제는 그다음이다. 상태 관리는 어떻게 할까? 실행 환경은 어떻게 나눌까? 모듈은 어디서부터 어떻게 쪼갤까? 테라폼을 ‘잘’ 쓰려면 단순히 선언하는 것만으로는 부족하다.

‘terraform apply’ 한 줄로는 실무가 굴러가지 않는다. 이 책은 문법만 훑는 입문서가 아닌, 실무에 바로 적용할 수 있는 실전형 가이드다. 왜 테라폼을 써야 하는지부터 선언만으로는 해결되지 않는 설계와 운영 방법까지 단계별로 짚어준다.

1부에서는 IaC의 필요성과 테라폼을 선택한 이유를 설명하고, 2부에서는 테라폼의 작동 방식, HCL 문법, 상태 파일과 커스텀 모듈의 핵심 개념을 정리한다. 3부에서는 모듈과 프로바이더 구성 방법을 중심으로 실행 환경 분리와 유효성 검사 등 실무 예제를 통해 테라폼 활용법을 설명한다.

4부에서는 VPC, 보안 그룹, EC2 등 AWS 인프라를 모듈 단위로 설계하고 구현하는 방법을 다룬다. 5부에서는 쿠버네티스, 헬름, 키클록 등 오픈소스 도구와의 테라폼 연동 방식을 실제 사례와 함께 소개한다. 부록에서는 기존 인프라에 테라폼을 도입할 때 주의할 점, 라이선스 변경 이슈 등 실무자라면 궁금해할 내용을 Q&A 형식으로 담았다.

이 책은 단순한 선언을 넘어 구조적이고 일관된 인프라를 설계하고 운영하는 방법을 알려준다. 반복은 줄이고, 다양한 환경에 유연하게 대응하며, 코드 한 줄로 인프라를 조율하는 감각을 키울 수 있다. 책을 따라가다 보면 어느새 테라폼의 효율성에 빠져 "이제 테라폼 없이는 인프라를 관리할 수 없다"고 느끼게 될 것이다.

대상 독자코드로 인프라를 다스리고 싶은 인프라 엔지니어자동화로 배포 스트레스를 줄이고 싶은 DevOps 엔지니어장애 없는 운영을 꿈꾸며 복구 시나리오까지 챙기는 SRE
주요 내용테라폼의 작동 원리와 상태 관리 이해실무에 맞춘 커스텀 모듈 설계와 활용AWS 인프라 구성 자동화 예제다양한 프로바이더와 오픈소스 연동멀티 리전, 계정 환경을 위한 구조 설계테라폼 운영과 도입을 위한 실무 팁

목차

추천의 글 xii
베타리더 후기 xx
시작하며 xxv
이 책에 대하여 xxviii

PART I 왜 테라폼인가?
CHAPTER 1 클라우드와 코드형 인프라스트럭처 3
1.1 클라우드 컴퓨팅 vs. 온프레미스 컴퓨팅 3
1.2 클라우드 네이티브 패러다임 5
1.3 클라우드 인프라의 복잡성과 관리의 어려움 6
1.4 선언형 IaC 도구의 필요성 9

CHAPTER 2 우리는 왜 테라폼을 쓰는가? 11
2.1 선언형 인프라 관리 11
2.2 다양한 프로바이더 12
2.3 선언형 스크립트 언어 14
2.4 하시코프 설정 언어에 대한 오해 16

PART II 테라폼 기본
CHAPTER 3 테라폼 작동 방식 21
3.1 테라폼 프로젝트 구조 21
3.2 테라폼 상태의 역할 22
3.3 테라폼 명령과 작동 26
3.4 테라폼 프로바이더 31

CHAPTER 4 테라폼 기본 문법 34
4.1 데이터 타입 34
4.2 반복문 35
4.3 조건문 42
4.4 for 표현식 44
4.5 테라폼 블록 49
4.6 테라폼 함수 59

CHAPTER 5 테라폼 모듈 66
5.1 모듈 사용 66
5.2 모듈 작성의 기본 구조 70

PART III 테라폼 기능별 실무 사례
CHAPTER 6 실행 환경 관리 79
6.1 실행 환경을 분리하지 않을 때의 문제점 79
6.2 실행 환경 분리 사례 81
6.3 테라폼 워크스페이스? 85

CHAPTER 7 다양한 인라인 블록 86
7.1 중첩 블록 86
7.2 다이내믹 블록 87
7.3 중첩 블록 vs. 별도 리소스 블록 90
7.4 생명주기 블록 92

CHAPTER 8 유효성 검사 95
8.1 검사 블록 95
8.2 생명주기 블록 96
8.3 체크 블록 98

CHAPTER 9 유틸리티 모듈 만들기 104
9.1 AWS의 메타데이터 가져오기 104
9.2 두 AWS 프로바이더가 동일한지 체크하기 107
9.3 리스트 내의 맵 합치기 109

PART IV AWS 모듈 사례
CHAPTER 10 모듈을 직접 만드는 이유와 만드는 방법 117
10.1 공개 모듈 vs. 직접 만든 모듈 117
10.2 모듈을 쉽게 만드는 방법 118

CHAPTER 11 YAML 파일로 관리하는 VPC 모듈 만들기 122
11.1 입력값 정하기 123
11.2 입력값을 모듈에 전달할 방법 정하기 126
11.3 모듈 만들기 130
11.4 변수 유효성 검사 149
11.5 모듈 출력값 설정 162
11.6 더 고려해볼 만한 것 163

CHAPTER 12 CSV 파일로 관리하는 보안 그룹 모듈 만들기 166
12.1 입력값 정하기 166
12.2 입력값을 모듈에 전달할 방법 정하기 168
12.3 모듈 만들기 174
12.4 변수 타입 유효성 186
12.5 모듈 출력값 설정 187
12.6 더 고려해볼 만한 것 187

CHAPTER 13 VPC와 보안 그룹 모듈의 출력값을 활용하는 EC2 모듈 만들기 189
13.1 입력값 정하기 189
13.2 입력값을 모듈에 전달할 방법 정하기 195
13.3 모듈 만들기 198
13.4 변수 유효성 검사 207
13.5 모듈 출력값 설정 217
13.6 더 고려해볼 만한 것 218

CHAPTER 14 다른 실행 환경의 출력값을 참조하는 네트워크 실행 환경 구성하기 220
14.1 미리 고려해야 할 점 220
14.2 실행 환경 재구성하기 221
14.3 요구사항 정리하기 223
14.4 원격 상태 설정하기 224
14.5 입력값과 전달 방식 정의하기 226
14.6 모듈 만들기 231
14.7 유효성 검사 236
14.8 모듈 출력값 설정 238
14.9 더 고려해볼 만한 것 238

PART V 다양한 프로바이더 활용 예제
CHAPTER 15 하시코프 공식 유틸리티 프로바이더 241
15.1 테라폼 프로바이더 티어 241
15.2 랜덤 프로바이더 242
15.3 HTTP 프로바이더 244
15.4 로컬 프로바이더 246
15.5 널 프로바이더와 terraform_data 리소스 249
15.6 그 외 252

CHAPTER 16 쿠버네티스 관련 프로바이더 256
16.1 쿠버네티스 프로바이더 256
16.2 헬름 프로바이더 270
16.3 커스텀 리소스과 Kubectl 프로바이더 284

CHAPTER 17 키클록 프로바이더로 AWS SSO 구현하기 292
17.1 테라폼 키클록 프로바이더 설정하기 294
17.2 키클록과 AWS SAML 간 연동을 위한 리소스 생성 297
17.3 키클록 그룹과 AWS IAM 역할 매핑하기 301
17.4 키클록 사용자로 AWS 로그인 테스트하기 309
17.5 더 고려해볼 만한 것 311

APPENDIX 테라폼 Q&A
APPENDIX A 테라폼을 사용하면서 생기는 문제는 어떻게 트러블슈팅하나요? 315
APPENDIX B 테라폼 작업할 때 팀원들과 잘 협업하는 방법이 있나요? 320
APPENDIX C 이미 존재하는 인프라 리소스를 테라폼으로 관리하고 싶어요 325
APPENDIX D 테라폼 관련 서드파티 오픈소스 도구는 어떤 걸 쓰세요? 331
APPENDIX E 테라폼의 라이선스가 변경된다고 하는데 문제없을까요? 336

찾아보기 339

도서소개


 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.