Terraform 기본

2023. 5. 3. 19:14Terraform

Terraform 구성요소 

구성요소 내용
provider 테라폼으로 생성할 인프라의 종류를 의미한다.
resource 테라폼으로 실제로 생성할 인프라 자원을 의미한다.
state 테라폼을 통해 생성한 자원의 상태를 의미한다.
output 테라폼으로 만든 자원을 변수 형태로 state에 저장하는 것을 의미한다.
module 공통적으로 활용할 수있는 코드를 문자 그대로 모듈 형태로 정의하는것을 의미한다.
remote 다른 경로의 state를 참조하는것을 말한다. output 변수를 불러올때 주로 사용한다.

 

 

tfstate 파일 과 리소스를 동기화 시키는게 키포인트 

 

명령어  내용
init 테라폼 명령어 사용을 위해 각종 설정을 진행한다.
plan 테라폼으로 작성한 코드가 실제로 어떻게 만들어질지에 대한 예측 결과를 보여준다.
apply 테라폼 코드로 실제 인프라를 생성하는 명령어다.
import 이미 만들어진 자원을 테라폼 state 파일로 옮겨주는 명령어다.
state 테라폼 state 를 다루는 명령어다. 하위 명령어로 mv, push 와 같은 명령어가 있다.
destroy 생성된 자원들 state 파일 모두 삭제하는 명령어다.

 

 

Process 

init plan apply
작성한 코드에서 init 명령어를 입력한다.

테라폼의 다른명령어들을 위한 설정을 진행한다.

내부적으로는 provider 와 state ,module 설정등이 있다.
실제로 작성한 테라폼 코드가 어떻게 만들어질지에 대한 예측결과를 보여주는 명령어다. 

가장 많이 쓰이는 명령어다.
기본적으로 plan에 문제가 없어야 apply 에 문제가 없을 확률이 높다.
실제로 작성한 코드로 aws 리소스를 생성하는 명령어다.

실제 인프라에 영향을 끼치는 명령어이므로 주의깊게 실행을 해야합니다. 

항상 plan 명령어를 습관화하기!

apply 는 주의하기

 

출처:  본 내용은 인프런의 "처음 시작하는 infrastructure as Code : AWS & 테라폼"  내용입니다.

https://www.inflearn.com/course/%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4-%ED%85%8C%EB%9D%BC%ED%8F%BC-aws 

'Terraform' 카테고리의 다른 글

[Terraform] variable  (0) 2023.05.06
[Terraform] IAM role  (0) 2023.05.06
aws S3  (0) 2023.05.06