[Terraform] 테라폼 기초

Squirrel·2024년 8월 25일

Terraform

목록 보기
1/4

Udemy 강의를 수강하며 습득한 내용을 기록함.

테라폼 설정 파일

1. main.tf

  • Terraform 설정의 메인 파일로, 프로젝트의 주요 설정과 구성을 포함하는 파일
  • 일반적으로 인프라를 정의하는 주요 리소스, 프로바이더 설정, 모듈 호출 등이 이 파일에 포함됨. 모든 설정을 한 곳에 집중시켜 놓는 역할을 함
provider "aws" {
  region = "ap-northeast-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
}

2. resource.tf

  • 특정 리소스(Resource)를 정의하는 파일로, 이름에서 알 수 있듯이 리소스 관련 설정을 따로 분리해서 관리할 때 사용됨
  • 리소스 정의를 더 체계적으로 관리하기 위해 특정 리소스들만 이 파일에 포함시킬 수 있음. 가령, EC2 인스턴스나 S3 버킷 같은 개별 리소스를 정의하는 데 사용될 수 있음.
resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
}

3. variables.tf

  • 변수를 정의하여 terraform 코드에서 재사용할 수 있게 함. 이 파일에서 프로젝트 내에서 사용할 변수를 선언하고, 각 변수의 기본값, 타입, 설명 등을 설정할 수 있음.
variable "instance_type" {
  description = "The type of instance to use"
  type        = string
  default     = "t2.micro"
}

variable "instance_count" {
  description = "Number of instances to create"
  type        = number
}

4. terraform.tfvars

  • 정의된 변수에 값을 할당하는 파일. 이 파일을 사용하여 variables.tf에서 정의한 변수에 실제 값을 제공함.
  • 가령, 프로덕션 환경과 개발 환경에서 서로 다른 값을 사용해야 할 때 유용함. 변수 값을 여기서 설정하면, Terraform은 이를 사용하여 인프라를 프로비저닝함.
instance_type = "m5.large"
instance_count = 3

5. terraform output

  • terraform은 입력 변수 외에 출력 변수도 설정하여 원하는 값을 출력 가능
  • variable로 입력 변수 컨트롤 / output으로 출력 변수 컨트롤
  • EC2, ALB와 같은 리소스를 테라폼으로 생성 후, IP나 endpoint를 확인하기 위해 사용함

0개의 댓글