terraform commands, features

김성인·2023년 10월 31일
0

[CI/CD] 🪀Terraform

목록 보기
7/9

Terraform command

terraform validate : 테라폼 코드 작성시에 올바른 문법인지 확인

terraform fmt : 테라폼 코드를 이쁜 형태로 변경해줌

변경되는 파일 출력

terraform show : 모든 메타 정보가 표시됨
terraform providers : 모든 프로바이더의 버전과 정보를 확인

  • graphviz 사용
    brew installg graphviz' terraform graph: 다이어그램 언어로 부표화terraform graph | dot -Tsvg > sample.svg' :

Terraform features

Terraform Init 시에 create, initailizing 되는 과정에서의 차이

  • Mutable Resources: 가변자원은 생성 된 후에 수정 가능함
    • 특정 속성들을 변경 가능함
    • ex) EC2 -> 보안그룹, 태그 등
  • Immutable Resources: 불변 자원은 한번 생성 된후에 수정 불가능
    • 무조건 삭제 후 재 생성 가능함
    • ex) S3 -> 버킷 이름, 암호화 설정

생명 주기 규칙

resource "local_file" "hello"{
  ... 
  lifecycle {
    create_before_destroy = true 
  }
  • create_before_destroy: 새로 생성하고 구버전을 삭제
  • prevent_destroy: 구버전 미 삭제(롤백 대비)
  • ignore_changes : 리스트 형태로, 특정 Attirubte에 변경을 적용 시키지 않기 위해 지정

Data Sources

테라폼에 의해 관리되지 않는 리소스를 다루기 위한 방법
파일을 읽어와서 테라폼 state파일에 작성함.
(읽기만 가능함)

data "local_file" "world"{
  filename = "/tmp/world.txt"
}

Meta 매개변수

  • depends_on
  • count : 여러개의 인스턴스와 리소스를 만들기 위한 개수 숫자 설정

  • for_each : map 이나 set으로 읽어서 리소스를 생성함

  • provider : 프로바이더의 구성 설정

  • source : 로컬인지 깃인지 소스 저장소 위치


버전 컨트롤러

특정 버전의 프로바이더를 다운받기위함

profile
개발자가 꿈인 25살 대학생입니다.

0개의 댓글