brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 30. 2023

(책후기) 테라폼으로 시작하는 Iac - 2023

2023년 5월 30일 초판

테라폼은 인프라를 코드로 관리하는 툴이다.

AWS나 GCP나 네이버 클라우드 등  다양한 클라우드 모두 다 지원하는 툴이다.



개인적으로 작업 시간을 줄이고, 정확도를 높이는 툴이 될 수 있어 좋아한다.

데브 옵스 엔지니어라 꼭 배워야 할 툴 중   쿠버네티스, 테라폼  2가지는 필수로 공부해야 한다.



자~ 이제 책 내용을 보자~





테라폼을 만든 하시코프와 실제로 사용하는 LG유플러스의 경험을 녹여 만들어진 책


<1> 테라폼 설치

<2> 기본 사용법

<3> 프로 바이더

<4> State

<5> 모듈

<6> 협업

<7> 워크 플로

<8> 인프라 운영 관리

<9> 개인 정리



1

이론과 실무가 같이 있는 책이다.


2

책에 나온 예제  다운로드

https://github.com/terraform101


3

코드형 인프라

IaC (Infra as Code)

코드로서의 인프라.

코드로 인프라를 관리한다.


4

IaC도입의 긍정적인 측면?

속도와 효율성

버전관리 - 버전 관리툴 (VCS)와 연계할 수 있다.

협업 - 파일 형태로 쉽게 공유할 수 있고, 버전관리툴과 연계하면 공동 작업을 위한 환경을 만들 수 있다.

재 사용성



5

IaC도입의 우려되는 측면?

코드의 문법 학습이 필요하다.

파이프라인 통합 - 기존 워크플로를 자동화하는 시간이 필요하다.

대상 인프라에 대한 이해 - 관리하려는 인프라에 대한 지식이 필요하다.  인프라를 알아야 코드와 할 수 있다.



6

테라폼 코어와 프로바이더의 호출관계?


테라폼 코어 ------ 프로바이더--------대상 API



7

테라폼과 다른 도구의 비교?

테라폼은 멀티 클라우드가 제공된다.





<1> 테라폼 설치



1

테라폼은 Go언어로 되어 있다.

Golang만 설치되어 있다면 빌드해 사용할 수 있다.

리눅스, macOS , 윈도에 대해서는 미리 빌드된 바이너리를 제공한다.

https://www.terraform.io/  에서 다운로드  클릭


2

VS Code 설치

VS Code는 테라폼을 위한 다양한 확장 프로그램을 지원한다.

Ctrl키와 키보드(') 백 퀘스 단축기로 새로운 터미널을 추가할 수 있다.




<2> 기본 사용법


1

주요 커맨드


terraform


terraform  init


init

validate

plan

apply

destroy



2

terraform  init

테라폼 구성 파일이 있는 작업 디렉터리를 초기화하는 데 사용된다.

이 작업을 실행하는 디렉터리를 루트 모듈이라 부른다.


3

terraform  validate


디렉터리에 있는 테라폼 구성 파일의 유효성을 확인한다.

원격 잡어이나 API작업은 발생하지 않고, 코드적인 유효성만 검토한다.



4

terraform  plan


테라폼으로 적용할 인프라의 변경 사항에 관한 실행 계획을 생성하는 동작이다.

출력되는 결과를 확인하여 어떤 변경이 적용될지 사용자가 미리 검토하고 이해하는데 도움을 준다.



5

terraform  apply


Plan에서 작성된 적용 내요을 토대로 작업을 실행한다.



6

참고

terraform  plan  --detailed-exitcode


0 : 변경 사항이 없는 성공

1 : 오류가 있음

2 :변경 사항이 있는 성공



7

terraform  destroy


제거시 주의~

테라폼 구성에서 관리하는 모든 개체를 제거하는 명령어다.




8

자동 승인?   --auto-approve


terraform  destroy   --auto-approve




9

HCL

HashCorp configuration language

하시코프사에서 laC와 구성정보를 명시하기 위해 개발된 오픈 소스 도구이다.

https://github.com/hashicorp/hcl




이후 프로바이더, 상태, 모듈, 협업, 워크 플로, 인프라 운영 관리에 대해 설명이 된다.

실제 사용하는 부분에 대해 설명이 되는 것이다.


자세한 설정은 책을 통해 알아보도록 하자 ~





<3> 프로 바이더


테라폼은 프로 바이더가 제공하는 API를 호출해 상호 작용을 한다.

여기서 테라폼이 대상과의 상호작용을 하도록 하는 것이 프로바이더이다.

AWS, 네이버 클라우드 등





<4> State





아래 내용이 추가로 설명 된다~~


<5> 모듈


<6> 협업


<7> 워크 플로


<8> 인프라 운영 관리




<9> 개인 정리


클라우드를 시작한다면 무조건 봐야 하는 책중 하나이다.

시간들어 인프라를 구축하는 시대는 끝났다.

빨리 구축하고 다른 공부를 하자.

테라폼으로 구축 정확도를 높여 장애를 줄일수 있다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

본인이 읽고 솔직하게 작성합니다.



책을 통한 스터디~~

https://brunch.co.kr/@topasvga/3347



다른 IT 책 보기

https://brunch.co.kr/@topasvga/1458


https://brunch.co.kr/@topasvga/1379



다른책 보기

https://brunch.co.kr/magazine/it-book


감사합니다.










브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari