-
[Terraform] 테라폼 개념 정리 (1)공부 2025. 11. 13. 09:37

1. 테라폼이란?
Terraform은 HashiCorp에서 개발한 Infrastructure as Code (IaC) 도구로
HCL(HashiCorp Configuration Language) 기반 설정 파일들로 인프라를 정의할 수 있다.
2. 테라폼이 그래서 무슨 역할을 하는데?
테라폼은 HCL 기반 설정파일로 인프라 자동화, 일관성 있는 환경 유지, 시뮬레이션, 인프라 관리 등
직접 인프라를 하나씩 만들고 삭제하는 등의 관리작업을 효율적으로 만드는 역할을 하는 도구이다.
3. 테라폼 용어
당장은 이해안된다해도, 일단 외우고 실습하다보면 이해가 되니깐 파악해놓자!
용어 의미 Provider AWS, Azure, GCP 등 인프라 공급자. 예: hashicorp/aws Resource 생성할 인프라 요소. 예: aws_instance, aws_s3_bucket Variable 코드 내에서 재사용할 입력값(변수)를 정의 Output 배포 후 외부에 표시할 결과값 정의 Module 반복되는 코드 블록을 묶은 재사용 단위 State File (terraform.tfstate) 실제 인프라와 코드의 상태를 기록하는 파일 Backend 상태 파일을 저장하고 공유하는 저장소 (예: S3, local 등) 4. 테라폼 명령어
명령어 의미 terraform init Terraform이 사용할 프로바이더(aws 등)를 다운로드하고, 모듈을 초기화하며, backend를 준비하는 초기 설정 명령어 terraform plan 실행될 사항을 미리 시뮬레이션 하는 명령어 (실제로 환경에는 반영되지 않음) terraform apply 작성한 코드를 실제 반영시키는 명령어 (여러 옵션이 있음 예 : apply -auto-approve 확인 절차 없이 바로 적용 terraform destroy 작성한 리소스를 삭제하는 명령어 5. 테라폼 구성요소 파일
테라폼을 사용해 인프라를 관리, 변경하기 위해 사용하는 설정 코드 파일은 하나의 디렉터리 안에서 관리된다.
(실제로 실행시킬때 모든 파일을 참조함)
예를 들자면 다음과 같은 구조이다.
#my-terraform-project 이 부분은 마음대로 정의 📂 my-terraform-project/ ├── main.tf # 리소스 및 프로바이더 정의 ├── variables.tf # 변수 정의 ├── terraform.tfvars # 변수 값 지정 ├── outputs.tf # 출력값 정의 ├── locals.tf # 로컬 변수 정의 └── versions.tf # Terraform 및 Provider 버전 고정위 파일이 연계되는 플로우를 생각하면 다음과 같다.
variables.tf → terraform.tfvars → main.tf → outputs.tf (변수 정의) (값 주입) (리소스 정의) (결과 출력)단, 기능별로 파일을 분리도 가능함 예를들어서 vpc.tf, subnet.tf 등등.

6. 테라폼 학습 목표
이번 공부에서 배우고 싶은 것을 정리하자면
- 테라폼 문법 이해
- 테라폼으로 인프라를 만들고, 수정하는 방법.
등 입문자로써 테라폼을 이해하는 목적의 스터디를 하고싶다.
이제 바로 실습으로 고고
'공부' 카테고리의 다른 글
[Terraform] output 사용하기 (6) (0) 2025.11.13 [Terraform] Target (특정 리소스 생성 그리고 삭제) (5) (0) 2025.11.13 [Trraform] 테라폼으로 만든 리소스 삭제 (4) (0) 2025.11.12 [Trraform] 테라폼으로 EC2생성 하기 (3) (0) 2025.11.11 [Trraform] Trraform 설치하기 (2) (0) 2025.11.11