본문 바로가기

DevOps

[강의] Terraform(테라폼) 개념

Overview

IaC(Infrastructure as Code) 도구를 사용하면 GUI가 아닌 구성 파일을 사용하여 인프라를 관리할 수 있습니다. IaC를 사용하면 버전을 지정하고, 재사용하고, 공유할 수 있는 리소스 구성을 정의하여 안전하고 일관되며 반복 가능한 방식으로 인프라를 구축, 변경 및 관리할 수 있다.

Terraform은 코드 도구로서의 HashiCorp의 인프라이다. 이를 통해 사람이 읽을 수 있는 선언적 구성 파일에서 리소스와 인프라를 정의하고 인프라의 수명 주기를 관리할 수 있습니다. Terraform을 사용하면 인프라를 수동으로 관리하는 것보다 몇 가지 이점이 있다.

  • Terraform은 여러 클라우드 플랫폼에서 인프라를 관리할 수 있다.
  • 사람이 읽을 수 있는 구성 언어를 사용하면 인프라 코드를 빠르게 작성할 수 있다.
  • Terraform의 상태를 통해 배포 전반에 걸쳐, 소스 변경 사항을 추적할 수 있다.
  • 인프라에서 안전하게 협업하기 위해 구성을 버전 제어에 커밋할 수 있다.

사진출처: https://learn.hashicorp.com/tutorials/terraform/infrastructure-as-code

Terraform을 사용하여 인프라를 배포하려면,

  • Scope - 프로젝트의 인프라를 식별한다.
  • Author - 인프라에 대한 구성을 작성한다.
  • Initialize - 테라폼이 인프라를 관리하기 위해 필요한 플러그인을 설치한다.
  • Plan - 구성과 일치하도록 Terraform이 수행할 변경 사항을 미리 체크한다.
  • Apply - 변경사항을 반영한다.

기본 튜토리얼 학습

https://github.com/gonghojin/terraform-tutorials