상세 컨텐츠

본문 제목

Terraform이란

Terraform

by yukmim 2022. 7. 28. 15:54

본문

Terraform은 IAC(infra as a code 코드형 인프라)로 코드를 통해 인프라 서버를 생성, 운영 관리하는 것이다.

aws를 예로 든다면 실제 사람이 aws에 접속해서 수동으로 설정해야 하는 것을 코드로 작성해 문서화, 자동화 하는 것

 

장점

1. 버전 컨트롤이 가능하다 (버전을 관리해줌)

2. 문서로서의 코드 (문서화)

3. 코드의 재사용과 복제 가능

4. 실수 방지

5. Git 등을 통한 형상관리로 인프라 변경 기록을 쉽게 확인 할 수 있다.

6. 자동화

 

Workflow

1. Infra를 코드로 작성한다

2. 변경하기 전에 변경을 확인한다 (Terraform plan)

3. 변경 내용을 적용한다 (Terraform apply)

 

Terraform의 구성요소

1. Provider -  Terraform으로 생성한 인프라의 종류 

2. Resource - Terraform으로 생성할 인프라의 자원

3. State - Terraform을 통해 생성한 자원의 상태

4. Output - Terraform으로 만든 자원을 변수 형태로 state에 저장하는 것

5. Module - 공통적으로 활용할 수 있는 코드를 문자 그대로 모듈 형태로 정의하는 것

6. Remote - 다른 경로의 state를 참조하는 것. output 변수를 불러올 때 사용한다

 

Terrafrom 명령어

1. Init - Terraform명령어 사용을 위해 각종 설정을 진행

2. plan - Terraform으로 작성한 코드가 실제로 어떻게 만들어질지 예측

3. apply - Terraform 코드로 실제 인프라를 생성한다

4. import - 이미 만들어진 자원을 Terraform state 파일로 옮겨준다

5. state - Terraform state를 다루는 명령어\, 하위 명령어로 mw\, push와 같은 명령어가 있다

6. destroy - 생성된 자원\, state 파일 기준으로 모두 삭제하는 명령어이다

'Terraform' 카테고리의 다른 글

[VScode] local에서 Terraform vpc 생성  (0) 2022.07.28
git으로 Terraform DDB 생성하기  (0) 2022.07.28

관련글 더보기

댓글 영역