Ssoon
Chapter (03) 기본 사용법 - 주요 커맨드 본문
CloudNet@ 가시다님이 진행하는 Terraform 101 Study 2기
"테라폼으로 시작하는 IaC" (한빛미디어) 도서로 진행!
- workspaces > 03.start > main.tf 를 생성합니다.
- 실습용 코드를 작성합니다.
resource "local_file" "abc" {
content = "abc!"
filename = "${path.module}/abc.txt"
}
✅ init
- 테라폼 구성 파일이 있는 작업 디렉터리 초기화
- 테라폼에서 사용되는 프로바이더, 모듈 등의 지정된 버전에 맞춰 루트 모듈을 구성
- 구성에서 필요한 의존성 정의를 읽고, 최초 실행 시 실행에 필요한 아티팩트나 라이브러리를 다운로드하고 준비
Module : 테라폼이 실행되는 디렉터리
Root Module : 기본 작업 디렉터리의 정의된 파일 집합
- terraform init을 실행하지 않고 plan 수행 시 init를 먼저 실행하라는 오류 메시지를 확인합니다.
- terraform init를 실행하면 프로바이더 플러그인을 찾고 설치합니다.
- 프로바이더 종속성을 고정시키는 .terraform.lock.hcl 이 추가됩니다.
✅ validate
- 테라폼 구성파일의 유효성을 확인합니다.
- API 작업은 발생하지 않고, 코드적인 유효성만을 검토합니다.
- main.tf 의 인수 값을 주석처리합니다.
- local_file 리소스 정의에는 filename이 필수 인수이지만 주석 처리가 되어 해당 정의가 없다는 오류가 발생합니다.
✅ plan & apply
plan : 테라폼으로 적용할 인프라의 변경 사항에 관한 실행 계획을 생성합니다.
- 테라폼 실행 이전 상태와 비교 > 현재 상태가 최신화 되었는지 확인
- 적용하고자 하는 구성을 현재 상태와 비교 > 변경점 확인
- 테라폼 구성에 어떻게 반영되는지 확인
apply : plan 을 기반으로 작업을 실행합니다.
- terraform plan을 실행합니다.
- + : 새로 생성된다는 의미의 심볼
- 어떤 리소스가 생성되는지 상세 내역을 보여줍니다.
- terraform plan 명령 뒤에 -out=tfplan 을 추가해 실행합니다.
- -out=<파일명> 형식으로 파일 이름이 정해져 plan 결과가 생성됩니다.
- 생성된 파일을 terrafor apply 에 붙여 실행합니다.
- terraform apply를 다시 실행합니다.
- terraform 은 선언적 구성 관리를 제공 > 멱등성 > 동일한 구성은 다시 실행하거나 변경하지 않습니다.
- main.tf 에 다음을 추가하고 terraform apply를 실행합니다.
resource "local_file" "def" {
content = "def!"
filename = "${path.module}/def.txt"
}
- resource "local_file" "abc" 는 변경이 없지만 새로 추가된 resource "local_file" def" 는 새로 생성하겠다는 plan을 출력합니다.
✅ destroy
- 테라폼 구성에서 모든 개체를 제거합니다.
✅ fmt
- 테라폼 구성 파일을 표준 형식과 표준 스타일로 적용하는데 사용합니다.
- terraform fmt 를 실행합니다.
- 코드 내의 띄어쓰기, 인수와 등호 인수값이 정렬된 것을 확인할 수 있습니다.
'Terraform 101 Study 2기' 카테고리의 다른 글
Chapter (03) 기본 사용법 - HCL - 데이터 소스 / Variable (0) | 2023.07.10 |
---|---|
Chapter (03) 기본 사용법 - HCL - Resource (0) | 2023.07.10 |
Chapter (03) 기본 사용법 - HCL - 블록 (0) | 2023.07.04 |
Chapter (02) 실행 환경 구성 (0) | 2023.07.04 |
Chapter (01) IaC와 테라폼 (0) | 2023.06.29 |
Comments