본문 바로가기

Study

[내일배움캠프 TIL] 29일차 - 테라폼 (Terraform)에 대해

728x90
반응형

오늘은 테라폼에 대해 강의를 들었습니다.

테라폼이란 것을 처음 알게되었고,

코드로 인프라를 관리할 수 있는 유용한 도구란 것을 알았습니다.

 

🏗️ 1. 테라폼(Terraform)이란?

한마디로 "인프라를 코드로 만드는 도구(IaC: Infrastructure as Code)"입니다. 클릭 몇 번으로 서버를 만드는 대신, 설정 파일을 작성해서 실행하면 AWS, Azure 같은 클라우드 자원을 자동으로 생성해 줍니다.

❓ 왜 쓰는가?

  • 속도와 효율: 수백 개의 서버를 클릭으로 만드는 건 불가능에 가깝지만, 코드는 복사-붙여넣기로 순식간에 가능합니다.
  • 히스토리 관리: 누가, 언제, 무엇을 바꿨는지 Git처럼 코드로 기록이 남습니다.
  • 재사용성: 한 번 잘 짜놓은 코드는 다른 프로젝트에서도 그대로 쓸 수 있습니다.
  • 실수 방지: 사람이 수동으로 설정하다가 빠뜨리는 옵션을 코드가 정확히 챙겨줍니다.

🔑 2. 꼭 알아야 할 핵심 개념 (딱 3가지만!)

① Provider (공급자)

테라폼이 어디에 인프라를 만들지 결정하는 플러그인입니다.

"나는 AWS에 만들 거야", "나는 GCP를 쓸 거야"라고 선언하는 역할입니다.

② State (상태 파일)

현재 배포된 인프라의 상태를 기록한 terraform.tfstate 파일입니다.

  • 테라폼은 이 파일을 보고 "현재 서버가 2대 있구나, 1대 더 늘려야겠네"라고 판단합니다.
  • 주의: 이 파일이 유실되면 테라폼은 내가 만든 자원을 찾지 못하는 '미아' 상태가 됩니다.

③ Plan & Apply (실행 프로세스)

테라폼을 움직이는 가장 중요한 2단계입니다.

  • Plan: "내가 코드를 이렇게 짰는데, 실행하면 이렇게 바뀔 거야"라고 미리 보여주는 리허설입니다.
  • Apply: Plan 결과를 확인한 후, 실제로 구름(Cloud) 위에 인프라를 생성하는 확정 단계입니다.
반응형