[Terraform] 테라폼 기본 개념

snap the moment·2023년 6월 1일
0
post-thumbnail

Terraform은 HashiCorp에서 만든 '인프라를 코드로' (IaC, Infrastructure as Code) 도구다. 이에는 몇 가지 핵심 개념이 있다:

  1. 프로바이더: 프로바이더는 Terraform이 특정 클라우드 서비스 제공자(AWS, GCP, Azure 같은)나 다른 서비스와 소통하는 방식이다. 각 프로바이더는 해당 서비스의 API를 Terraform에서 사용 가능한 리소스와 데이터 소스로 만들어 준다.

  2. 리소스: Terraform에서 리소스는 인프라의 한 부분을 의미한다. 예를 들어, AWS 프로바이더에서 리소스는 EC2 인스턴스, S3 버킷, DNS 레코드 등이 될 수 있다.

  3. HCL (HashiCorp Configuration Language): Terraform 구성 파일은 HCL이라는 선언적 언어로 작성된다. 이 언어는 사람이 읽기 쉬우면서도, 명확한 구문을 가지고 있다.

  4. 상태: Terraform은 관리 중인 리소스의 현재 상태를 추적한다. 이 상태는 실제 인프라에 대한 Terraform의 "진실의 원천"으로, Terraform이 구성 변경이 필요한 부분을 파악하는데 이를 사용한다.

  5. Plan & Apply: Terraform은 실제 인프라를 구성 파일의 내용에 맞추는 데 'terraform plan' 명령어와 'terraform apply' 명령어라는 두 단계 프로세스를 사용한다.

  6. 모듈: Terraform 모듈은 특정 인프라 패턴을 재사용 가능하고 조합 가능한 방식으로 묶는다. 이를 통해 Terraform 코드를 더 유연하고 관리하기 쉽게 만들 수 있다.

이런 개념들은 Terraform을 이해하고 효과적으로 사용하는데 꼭 필요한 부분이다.

0개의 댓글