1. Terraform Associate — IaC


1a. IaC란 무엇인가 (What is Infrastructure as Code)

핵심 정의

  • IaC = 인프라를 수동(manual) 으로 구성하는 대신, 머신이 읽을 수 있는 정의 파일(코드) 로 관리·프로비저닝하는 방식
  • 콘솔에서 클릭으로 만드는 게 아니라, 코드로 인프라를 기술(codify) 해서 만든다
개념영어 표현
인프라를 코드로 관리manage / provision infrastructure through code
머신이 읽는 정의 파일machine-readable definition files / configuration files
수동 프로세스 대신rather than manual processes / interactive configuration tools
인프라를 코드화하다codify infrastructure

선언형 vs 명령형

  • Terraform은 선언형(declarative) 방식
  • "어떻게 만들지(how)"가 아니라 "최종 상태가 어때야 하는지(desired end-state)" 를 기술
  • Terraform이 현재 상태 → 원하는 상태로 가는 방법을 스스로 계산
개념영어 표현
선언형declarative
명령형imperative
원하는 최종 상태desired state / desired end-state
HashiCorp 설정 언어HCL (HashiCorp Configuration Language)

1b. IaC 패턴의 장점 (Advantages of IaC Patterns)

장점 (한글)영어 표현설명
자동화automation반복 작업을 코드로 자동화
버전 관리version control / versioningGit으로 인프라 변경 이력 추적
재사용성reusability모듈(module)로 코드 재사용
일관성consistency어디서 실행하든 같은 결과
반복 가능성repeatability동일 구성 반복 배포 가능
사람 실수 감소reduce (human) error수동 실수 제거
멱등성idempotence / idempotent여러 번 실행해도 결과 동일
협업collaboration팀이 코드로 같이 작업
자체 문서화self-documenting / documentation as code코드 자체가 인프라 문서
속도·효율speed and efficiency배포 빠름
테스트 가능testability배포 전 검증 가능
폐기 가능한 인프라disposable / ephemeral infrastructure쉽게 만들고 지움

같이 알아두면 좋은 개념

  • immutable infrastructure (불변 인프라): 서버를 수정하지 않고, 새로 만들어서 교체
  • plan / preview: terraform plan으로 적용 전 변경 사항 미리 확인 → 실수 방지

1c. 멀티/하이브리드 클라우드 & 서비스 불가지론 워크플로우

(Multi-cloud, Hybrid cloud, Provider-agnostic)

Provider (프로바이더)

  • Terraform은 provider(플러그인) 를 통해 클라우드/서비스 API와 통신
  • AWS, Azure, GCP, Kubernetes 등 다수의 provider가 Terraform Registry에 공개
개념영어 표현
프로바이더(플러그인)provider (plugin)
프로바이더 저장소Terraform Registry

멀티 클라우드 (Multi-cloud)

  • 하나의 워크플로우로 여러 클라우드에 동시 배포 (AWS + Azure + GCP)
  • 한 벤더 장애 시에도 견딜 수 있음 → 내결함성/복원력 향상
개념영어 표현
멀티 클라우드 배포deploy across multiple cloud providers
내결함성 증가increased fault tolerance
복원력resiliency

프로바이더 불가지론 (Provider-agnostic)

  • Terraform은 어떤 provider든 동일한 워크플로우로 다룸
  • 핵심 워크플로우: Write → Plan → Apply
  • 클라우드마다 다른 도구를 안 배워도 됨 → 하나의 언어(HCL), 하나의 도구
  • 벤더 종속(vendor lock-in) 회피
개념영어 표현
프로바이더 불가지론적provider-agnostic
단일 워크플로우single / consistent workflow
핵심 워크플로우Write, Plan, Apply
벤더 종속vendor lock-in

하이브리드 클라우드 (Hybrid cloud)

  • 온프레미스(on-premises) + 퍼블릭 클라우드 를 함께 관리
  • 사내 데이터센터와 클라우드를 하나의 코드베이스로 프로비저닝
개념영어 표현
온프레미스on-premises (on-prem)
하이브리드 클라우드hybrid cloud

요약

주제내용
IaC인프라를 **코드(machine-readable files)**로 관리
Terraform 방식Declarative (desired end-state 기술)
언어HCL
핵심 장점automation, consistency, versioning, reusability, reduced error
멀티클라우드하나의 workflow로 여러 provider 배포 → fault tolerance ↑
성격provider-agnostic, vendor lock-in 회피
워크플로우Write → Plan → Apply