테라폼 쿡북 - 클라우드 운영에 필수적인 테라폼 설치부터 고급 사용 방법까지
미카엘 크리프 지음, 강진우 옮김 / 영진.com(영진닷컴) / 2024년 7월
평점 :
장바구니담기


클라우드 운영 환경 관리의 기초




책을 선택한 이유



테라폼 은 클라우드 인프라스트럭쳐 자동화를 지향하는

인프라스트럭처 도구다.


테라폼 은 다양한 클라우드 서비스 프로바이더 를 제공한다.

테라폼 사용법을 알아보기 위해 "테라폼 쿡북"을 선택한다.





테라폼 쿡북"은 테라폼 환경 구성, 테라폼 구성을 알아보고,


테라폼을 활용한 인프라 확장, 외부 데이터 활용,

테라폼 상태 관리, 테라폼 워크플로우 적용,

테라폼 구성 공유,


애저 인프라 프로비저닝, AWS와 GCP 인프라 프로비저닝,

도커와 쿠버네티스 배포, 테라폼 구성 테스트 및 컴플라이언스 검사,


테라폼 심층 분석, 테라폼 실행 자동화,

테라폼 클라우드를 사용한 협업, 테라폼 에러 수정을 다룬다.





테라폼을 윈도우에서 테라폼을 다운로드 및 설치,

Chocolatey 패키지 매니저 사용 및 설치,

APT 패키지 매니저를 사용하여 리눅스에 설치,

리눅스에서 스크립트를 사용한 설치법을 설명하고,


도커 컨테이너에서 테라폼 을 실행하고,

테라폼 버전간 전환, 테라폼 프로바이더 업그레이드 등


테라폼 기초 사용법을 설명한다.




테라폼 호환성 문제가 발생하지 않도록

테라폼 버전 과 프로바이더 버전 을 지정해 본다.



테라폼 구성을 작성할 때 모든 속성값을 하드 코딩하면

재사용할 때 문제가 생길 수 있다.


변수 조작하기 예제에서 변수를 사용해, 테라폼 구성을

동적으로 만드는 방법을 배워본다.


콘솔 상의 출력 결과에 변숫값을 평문으로 표시하지 않도록 해서

테라폼 정보를 외부로부터 안전하게 보호하는 방법을 설명한다.



사용자 정의 함수를 통해 로컬 변수를 사용하며,

테라폼 으로 프로비저닝 된 애저 웹 앱 의 이름을

출력에 포함시키는 방법을 알아본다.



리소스 그룹을 프로비저닝 하거나 리소스 를 다룰 때,

내장 함수를 사용해 테라폼 구성 요소들을 사용하고,


조건문을 작성해 리소스를 동적으로 만드는

테라폼 구성 방법을 설명한다.



random 프로바이더 를 사용하면 보안을 강화할 수 있다.

테라폼으로 패스워드 를 생성하고, 리소스 에 할당하는 방법을 알아본다.



테라폼 은 리소스간 의존성을 고려하면서 작업을 자동으로 병렬화해서

진행하는 것이다.



프로비저닝 된 인프라가 의도한대로 작동하는지

확인할 수 있는 인프라 유효성 검사를 추가해 본다.




애저 인프라 를 여러 환경에 배포할 수 있는 테라폼을 구성해 본다.


N개의 동일한 리소스를 프로비저닝 하면서,

테라폼을 통해서 코드 중복 없이 동일한 리소소를

여러 개의 애저 앱 서비스 로 프로비저닝 해 본다.


순환 기능을 사용해 유형은 같지만, 서로 다른 N개의

리소스 를 프로비저닝 해 본다.



테라폼 리소스 에 따라 블록이 한 번만 정의되거나

여러번 정의되는 경우가 있다.


애저 네트워크 보안 그룹을 만드는 테라폼 구성을 사용해

블록을 생성해 본다.



맵 을 필터링 해서 리소스 를 프로비저닝 해 본다.




테라폼 으로 인프라 를 프로비저닝 할 때,

기존 리소스 에 대한 정보를 필요로 하는 경우가 있다.



data 블록을 사용해서 외부 데이터를 가져오기,

프로바이더 를 사용해 로컬 파일을 생성하고 보관하기,


null-resource를 사용해서 로컬 프로그램, 명령을 실행하기,


테라폼 쉘 프로바이더 를 사용해서 쉘 스크립트 를 실행하는 방법을 살펴본다.




테라폼 상태 파일 을 수동으로 수정하면, 파일이 손상될 수 있다.

테라폼 상태를 관리하며 리소스 를 관리하는 방법을 알아본다.



테라폼 상태 리프레시 를 통해 리소스 변경 사항과

테라폼 상태 파일을 동기화 하면서, 리소스 구성을 최신화 해본다.



리소스를 삭제하지 않고 테라폼 상태를 리팩터링 해 본다.



테라폼 명령을 사용해서 코드 형식을 적절하게 유지하면서,

자동화 하는 방법을 배워본다.




코드형 인프라, IaC를 사용하면,

인프라 를 신속하게 프로비저닝 할 수 있으며,

리소스 를 빠르게 생성, 삭제할 수 있다.



프로바이더 를 사용하는 경우 빈번한 프로바이더 의

업그레이드 작업을 위해 프로바이더 목록을 관리하는 것이 중요하다.



공유 폴더를 통해 테라폼 구성을 공유하고,

테라폼 CLI를 사용해 테라폼 구성에서 공유되고 있는

테라폼 구성을 검색하는 방법을 배워본다.



워크스페이스 는 동일한 테라폼 구성을 사용해서

여러 환경을 구축할 수 있게 해주는 개념이다.


워크스페이스 마다 다른 테라폼 을 독립적으로 구성하므로,

워크스페이스 는 인프라 를 위한 여러 환경을 만드는 데 사용할 수 있다.



외부 다른 프로그램에서 참조할 수 있도록 출력을 JSON 형식으로

내보내는 방법을 설명한다.



특정 리소스 를 재생성할 때 의도하지 않은 변경 사항이 적용될 수 있다.

테라폼 의 테인팅 개념을 사용해서 작업을 수행하는 방법을 배워본다.



테라폼 구성을 테라폼 CLI를 통해 실행하는 방법을 배워본다.


테라폼 CLI에는 테라폼 구성을 적용하기 전에 분석하는 기능을 제공한다.

테라폼 표현식 분석 방법을 알아본다.



테라폼 디버그 모드 를 활성화 하면, 테라폼 실행 과정을

추적할 수 있는 많은 정보를 콘솔에 보여준다.




테라폼 모듈 은 하나 이상의 테라폼 리소스 를 포함하는 테라폼 구성이다.


테라폼 모듈에 for_each 표현식을 사용해 테라폼 모듈을 생성하고,

여러 개의 웹 인스턴스 를 프로비저닝 해 본다.



공개 테라폼 모듈 저장소의 모듈을 사용하고,

모듈의 코드를 깃허브 에 저장하여 공개 모듈 저장소에 게시해 본다.




테라폼 구성이 아닌 다른 파일을 모듈 내에서 사용하는 방법을 알아본다.



테라폼 모듈 은 메인 파일, 변수 파일, 모듈 출력 포함 파일 로 구성된다.

MS는 테라폼 모듈 구조를 쉽게 생성할 수 있는 모듈 생성기를 개발한다.

모듈 생성기를 사용해서 모듈의 기반을 만드는 방법을 설명한다.



비공개 깃 저장소를 통해 테라폼 모듈을 제한적으로 공유할 수 있다.


테라파일 이라는 중앙 집중식 파일 패턴을 사용하면

사용자가 테라폼 구성에 사용된 테라폼 모듈의 구성을 수집할 수 있다.




MS는 애저 클라우드 쉘 에서 사용할 수 있는

기본 도구 목록에 테라폼 을 통합한다.


테라폼 워크플로우 를 실행할 때

테라폼 은 테라폼 상태 파일이라 불리는 파일을 관리한다.


ARM 도구는 JSON 형식 파일을 기반으로 하며,

프로비저닝 하고자 하는 리소스 들에 대한 설명을 포함한다.


테라폼 으로 ARM 코드 를 실행하는 방법을 알아본다.



테라폼 으로 애저 CLI 명령을 실행할 수 있다.



코드형 인프라 를 사용할 때, 인프라 의 일부인 민감 정보를 보호해야 한다.


민감 정보 를 애저 키 볼트 에 저장한 후, 테라폼 구성에서 사용해

민감 정보 를 보호하는 방법을 설명한다.



테라폼 구성 실행이 기존 리소스 들에 부작용을 일으킬 수 있다.


애저에 있는 이미 생성된 리소스 들에 대한 테라폼 구성을 생성하고,

테라폼 상태 파일까지 만들어 주는 방법을 설명한다.



테라폼 으로 코드형 인프라 를 사용하면 대규모 클라우드

인프라 를 빠르게 프로비저닝 할 수 있다.



테라폼 으로 AWS에 인증, 리소스 프로비저닝 하고,

AWS S3를 사용해 상태 파일을 저장해 본다.



테라폼 으로 GCP 서비스 계정을 생성하고,

GCP 리소스 를 프로비저닝 하며,

테라폼 프로비저닝 상태 파일 을 원격 백엔드 에 저장해 본다.



GCP 클라우드 쉘 을 이용해 GCP 리소스 를 프로비저닝 하고,

GCP 콘솔 연결 계정을 사용해서 프로바이더 인증을 획득해 본다.




테라폼 을 사용해서 도커 운영을 자동화 해 본다.



테라폼 으로 쿠버네티스 리소스를 배포하고,

쿠버네티스 에 헬름 차트 를 배포해 본다.



쿠버네티스 컨트롤러 를 사용하여,

테라폼 으로 코딩된 인프라 변경 사항을 적용해 본다.




테라폼 테스트 를 Pester 프레임워크, pytest 프레임워크 로 작성해 본다.

테라폼 구성에 대한 검사를 수행할 수 있는 Open Policy를 알아본다.



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

terraform-compliance를 사용하여 행동 중심 개발 개념을 따르는

읽기 쉬운 형식의 테스트 를 작성해 본다.



테라테스트 를 사용해 테라폼 구성과 모듈에 대한

통합 테스트 를 작성하고 실행해 본다.



KitchenCI, Kitchen-Terraform 플러그인 을 사용해서

테라폼 구성을 테스트 해 본다.


테라폼 모듈 통합 테스트 를 사용하는 방법을 설명한다.




ferraform apply 명령으로 리소스 의 수동 변경 사항을 업데이트 하고,

prevent_destroy 속성으로 테라폼 리소스 삭제를 방지해 본다.



웹 앱이 삭제되더라도 웹 애플리케이션 을 계속 사용할 수 있도록

테라폼 구성을 수정해 본다.



테라그런트 를 사용해서 테라폼 워크스페이스 의존성을 관리하며,

테라그런트 를 테파폼 으로 감싸는 래퍼 로써 사용하는 방법을 알아본다.



테라폼 을 사용해서 SSL 인증서를 생성하는 방법을 배워본다.



깃 훅 은 깃 이벤트 가 발생하기 전후에 자동으로 실행되는 스크립트 다.


테라폼 명령을 사용해서 테라폼 의존성 그래프 를 생성해 본다.

로버 를 사용해서 의존성 그래프 를 시각화 하는 방법을 배워본다.



CDKTF 는 코드형 인프라 를 타입스크립트, 자바스크립트, 파이썬,

자바 와 같은 프로그래밍 언어를 사용해서 작성할 수 있게 해 준다.




CI/CD 파이프라인 내에서 terraform plan 결과를 요약해 보고,


테라폼 워크플로우 를 애저 파이프라인 의 CI/CD 파이프라인 에 통합하면서,

테라폼 의 실행을 자동화하는 방법을 설명한다.



애저 파이프라인 에서 테라폼 모듈을 테스트 하고,

게시하는 과정을 자동화 하는 방법을 살펴본다.



CLI와 테라폼 클라우드 간 상호 작용을 위해서는

테라폼 클라우드 에 인증을 수행해야 한다.


테라폼 클라우드 UI를 사용해서 한 프로젝트 내에

두 개의 워크스페이스 를 생성해 본다.


cloud 백엔드를 사용해 테라폼 상태를 원격으로 관리하고,

테라폼 클라우드 비공개 저장소를 통해 테라폼 모듈을

게시하고 사용하는 방법을 설명한다.


테라폼 클라우드 에서 OPA를 사용한 컴플라이언스 테스트 실행을 배워본다.


클라우드 에 리소스 생성에는 비용이 발생한다.

테라폼 클라우드 에서 비용 추정 기능을 사용하는 방법을 배워본다.


TFE 프로바이더 를 사용해서 테라폼 클라우드 의

리소스 를 구성하고, 관리해 본다.




테라폼 보간, 의존성 순환 에러, 데이터 형식 불일치 에러 등

에러 의 원인과 해결 방법을 살펴본다.



테라폼은 클라우드 인프라를 효율적으로 구축, 관리, 최적화하는

범용성 있는 프로그램이다.


"테라폼 쿡북"은 테라폼의 설치부터, 환경 및 구성, 인프라 확장,

Azure, AWS, GCP 등 클라우드 서비스 에 테라폼을 적용하고,

발생하는 문제를 해결하는 법을 설명한다.


"테라폼 쿡북"은 테라폼 에 대한 기초 개념을 소개하고,

준비 사항, 작동 방법, 작동 원리, 더 살펴볼 것들, 참고 항목 순으로

상세히 설명하므로, 초보자들도 쉽게 이해할 수 있다.


테라폼 에서 자주하는 실수, 유의할 사항 등 팁을

박스로 별도로 표시해서, 시행착오를 줄이도록 한다.



"테라폼 쿡북"은 테라폼의 기초부터, 클라우드 적용,

테파폼 고급 기술까지 다양한 테라폼 활용법을 다룬다.


테라폼의 설치 및 구축, 워크플로우 수행, 모듈 사용,

클라우드 인프라 구축, 코드형 인프라 구축을 설명하고,


애저, AWS, GCP에서 인프라를 구축하고,

도커 와 쿠버네티스 배포 를 다루며,


테스트, CI/CD 파이프라인 통합, 테라폼 클라우드 사용법 등

테라폼의 고급 기술까지,


다양한 예제를 통해 익힐 수 있다.



코드형 인프라 는 아키텍처 를 코드로 작성하면서,

데브옵스 에서 중요한 역할을 담당한다.


테라폼 은 코드형 인프라 를 가능하게 하며,

다양한 플랫폼 을 지원하는 대중화된 도구다.



"테라폼 쿡북"은 테라폼 의 실무 활용 능력을 익히면서,

성공적인 데브옵스 엔지니어링 의 기초를 확립하도록 돕는다.



영진닷컴 과 리뷰어스 클럽 서평단에서 "테라폼 쿡북"을 증정해주셨다.

감사드린다.


#클라우드 #테라폼 #테라폼쿡북 #영진닷컴 #강진우

#미카엘크리프 #MikaelKrief #리뷰어스클럽 #리뷰어스클럽서평단

#클라우드 #애저 #도커 #데브옵스



댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo