Terraform Infrastructure as Code

Terraform Infrastructure As Code 를 학습합니다. 이 모듈은 Terraform 개념 및 설정, 리소스 정의, 변수 및 출력, 상태 처리, Terraform 모듈을 다룹니다. 실습 랩과 실제 과제를 통해 이러한 필수 Linux 기술을 숙달하게 됩니다.

DevOps EngineerLinuxDevOps

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

Terraform은 HCL로 원하는 상태를 설명하고 의존성 그래프를 만들며 실제 리소스를 추적합니다. 이 실습 과정은 유료 클라우드 없이 로컬 Docker와 파일로 수명 주기를 학습합니다.

Provider를 초기화하고 plan을 읽고 변경을 적용하며 컨테이너를 변수화하고 output을 확인합니다. Terraform 밖에서 컨테이너를 삭제해 drift와 조정을 관찰하고 local_file을 재사용 module로 구성합니다.

학습 내용

  • Terraform을 설치하고 provider를 고정해 작업 디렉터리 초기화하기
  • Docker image와 container를 정의하고 리소스 참조하기
  • 변경 적용 전에 plan 읽기
  • 구성을 적용하고 Nginx와 포트 매핑 검증하기
  • 타입 변수를 선언·재정의하고 output 공개하기
  • 로컬 state를 검사하고 수동 편집을 피하는 이유 설명하기
  • drift를 만들고 감지해 누락 리소스 복구하기
  • 입력이 있는 로컬 module을 만들고 호출·재사용하기

추천 대상

이 중급 과정은 Terraform 구성, plan, state, module을 실습하려는 Linux 사용자, 시스템 관리자, DevOps 학습자를 위한 과정입니다.

선수 지식: Linux 셸, sudo, 편집, Docker image/container, 포트, 구조화 구성. 클라우드 계정이나 HCL 경험은 필요하지 않습니다.

학습 환경: Terraform, Docker, provider 다운로드, local state를 갖춘 Linux 터미널입니다. 모든 리소스는 로컬에 생성됩니다.

자주 묻는 질문

AWS, Azure, Google Cloud 리소스를 만들나요?

아닙니다. 로컬 Nginx 컨테이너와 텍스트 파일만 만들며 cloud credential, network, VM, 비용이 없습니다.

Remote backend와 team locking을 다루나요?

아닙니다. terraform.tfstate를 보고 컨테이너를 삭제한 뒤 plan으로 drift를 감지하고 apply로 복원합니다. Remote state, import, 민감 state 보호는 범위 밖입니다.

‘webserver’ module이 실제 서버를 만드나요?

아닙니다. server_name과 env로 로컬 파일을 만듭니다. 챌린지도 challenge_result.txt를 작성해 module 구조에 집중합니다.

강사

labby
Labby
Labby is the LabEx teacher.