[Terraform] 테라폼 기초 명령어

JOOONU·2024년 4월 18일
0

Terraform

목록 보기
1/2

1. init : 초기화

terraform init
  • 루트모듈 구성 - 작업디렉토리 초기화
  • 모듈 : 테라폼이 실행되는 디렉토리 - tf 파일, 변수 정의 파일(tfvars) 포함
  • 루트 모듈 : 기본 작업 디렉터리에 정의된 파일 집합, 다른 모듈 호출 가능
  • 자식 모듈 : 루트 모듈이 호출하는 다른 모듈

2. validate : 유효성 체크

terraform validate
  • 테라폼 파일(.tf) 유효성 체크 - 문법검사


3. plan : 실행 계획 생성

terraform plan
  • apply 하기 전에 이상적인 상태와 실제 상태를 비교해 둘을 동일하게 만들기 위해서 해야할 일을 찾아내는 작업

terraform plan -out=tfplan 
  • 실행 계획 별도 저장(파일 생성)
  • 실행 계획 파일은 확장자 없이 사용

terraform plan -destroy -out=tf-rm-plan
  • 삭제 계획 & 삭제 계획 파일 생성


4. apply : 적용

terraform apply
  • 실제 상태를 이상적인 상태와 동일하게 만드는 것
  • 계획 파일 지정 없이 실행시, 자동으로 plan 실행 후 apply 진행

terraform apply tfplan
  • 계획 파일 기반으로 apply - (yes/no 질문 X)

terraform apply -replace=local_file.txt
terraform apply -replace=aws_instance.example
  • replace : 특정 리소스 재생성 옵션 (삭제후 재생성)


5. destroy : 모든 개체 제거

terraform destroy   # = terraform apply -destroy
  • 계획 파일 지정 없이 실행시, 자동으로 plan 실행 후 destroy 진행

terraform destroy -auto-approve
  • auto-approve : 자동 승인 옵션 (yum install -y라고 생각)
    -> 조심하여 사용


6. fmt : 구성 파일(.tf) 표준 스타일 적용

terraform fmt
  • tf 파일에 작성된 테라폼 코드 가독성을 높이는 작업
  • 정렬, 빈칸, 내려쓰기 등의 규칙이 다른 경우 사용
  • 최종적으로 코드 공유 시스템에 업로드전 실행하여 코드 중복 처리 및 업데이트 최소화

terraform fmt -recursive
  • recursive : 하위 디렉토리의 구성 파일 모두 포함 적용


그 외 명령어

console : 기능 및 문법 확인

state : 상태 관리

workspace : 작업 공간 관리

import : 상태 가져오기

  • 테라폼 코드로 생성되지 않은 리소스를 관리하기 위해 상태를 가져오기

login, logout : terraform cloud/enterprise 인증 정보 관리




출처 : [한빛미디어] 테라폼으로 시작하는 IaC

profile
Cloud, Infra, DevOps에 관심많은 학부생

0개의 댓글

관련 채용 정보