참고
Terraform Quickstart
1. Terraform 파일의 구성
NOTE
Terraform 파일인 .tf 파일은 일반적으로 아래와 같이 이루어진다.
•
resource
◦
Terraform 파일에서 사용되는 object 종류
◦
변수를 나타내는 resource
◦
Data를 나타내는 data등이 있다.
•
aws_key_par
◦
AWS의 SSH key pair를 위한 resource 이름
▪
AWS에서 사용되는 object를 terraform에서 부르는 이름
▪
이러한 이름들은 Terraform 공식 docs에 정리되어 있다.
•
terraform-key
◦
Terraform 파일에서 이 object를 고유하게 식별하게 될 이름
▪
가능하면 모든 파일 내에서 고유한 이름을 사용하는 것이 좋다.
2. tf init
NOTE
•
terraform project의 root에서 실행한다
•
Terraform을 사용하기 위해서는 Terraform 초기화 작업이 필요하다.
◦
terraform init 명령어를 사용해서 terraform directory를 초기화
실제로 사용하고 있는 테라폼 폴더 구조
•
provicder, module, state 설정을 진행하며 테라폼을 시작하기 위한 준비를 진행한다.
•
표면적으로는 .terraform 디렉토리가 생성되며, 관련 테라폼 모듈이나 라이브러리를 가져옴
•
동시성 처리를 위한 .terraform.lock.hcl 파일도 생성된다!
3. tf workspace
NOTE
현재 workspace 목록은 default만 존재
•
terraform workspace select [workspace 이름]
◦
해당 명령어로 workspace를 변경할 수 있다.
4. tf plan
NOTE
resource "aws_s3_bucket" "test" {
bucket = "terraform-infrean"
}
Bash
복사
생성할 resource (s3.tf)
•
Terraform project direct 내의 모든 .tf파일의 내용을 실제로 적용 가능한지 확인하는 작업을 한다.
•
terraform plan 명령어 실행
◦
어떤 resource가 생성되고
◦
수정되고
◦
삭제될지 계획을 보여준다(실제반영 X!)
s3_bucket이 어떻게 생성되는지 알려줌!
5. tf apply
NOTE
•
Terraform project dirctory 내의 모든 .tf파일의 내용대로 resource를 생성, 수정, 삭제하는 일을한다!
•
plan 명령어를 통해 어떻게 동작하는지 볼 수 있음!
terraform-infrean s3가 진짜 만들어짐!