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 테라폼 리소스