#IaC
47 편의 글
Terraform Associate 004 #5 state 관리: 백엔드, 잠금, state 명령, 민감 정보
state의 목적과 기본 파일 위치부터, 로컬과 원격 백엔드의 차이, 잠금이 막는 사고와 force-unlock의 위치를 시험 관점으로 정리합니다. state list·show·mv·rm 명령이 각각 무엇을 바꾸고 무엇을 남기는지, moved·removed·import 블록과의 대응, 그리고 state 안 민감 정보와 접근 통제까지 출제 포인트를 다지겠습니다.
Terraform Associate 004 #4 핵심 워크플로: init·plan·apply·destroy와 디버깅
Write, Plan, Apply라는 시험 공식 워크플로 3단계와 각 명령이 하는 일, init을 다시 실행해야 하는 네 가지 상황을 정리합니다. plan의 -out 저장, apply의 -auto-approve와 -replace, -target의 위험성 같은 옵션 출제 포인트, fmt와 validate의 역할 구분, 그리고 TF_LOG 환경 변수로 디버그 로그를 켜는 방법까지 다지겠습니다.
Terraform Associate 004 #3 테라폼 기본기: 버전 제약, 잠금 파일, provider 설정
설치 방법과 terraform version 확인부터, 시험이 유난히 좋아하는 버전 제약 연산자(=, ~>, >=)의 해석, required_providers 블록과 .terraform.lock.hcl 잠금 파일의 역할 구분을 정리합니다. provider의 설정과 alias를 이용한 멀티 리전 구성, 그리고 .terraform 디렉터리에 무엇이 들어가는지까지 시험 목표 3의 출제 포인트를 다지겠습니다.
Terraform Associate 004 #2 IaC 개념과 테라폼의 목적: 정의 문항 정복
IaC의 정의와 이점을 시험이 요구하는 표현으로 정리하고, 선언형과 명령형의 구분, 멱등성 개념을 문항 관점에서 다집니다. 테라폼이 멀티 클라우드와 provider 생태계에서 갖는 위치, state가 존재하는 이유, 그리고 테라폼의 언어와 바이너리 구조까지 시험 목표 1과 2의 출제 포인트를 훑겠습니다.
Terraform Associate 004 #1 시험 소개: 004 개정 내용, 도메인 구조, 학습 전략
HashiCorp Terraform Associate 자격증의 2026년 1월 004 개정을 기준으로 시험 형식과 003 대비 달라진 점을 정리합니다. 신규 출제 영역인 ephemeral·write-only와 HCP Terraform 확대, 도메인별 출제 범위, 그리고 이 블로그의 테라폼 트랙 26편과 시험 목표의 매핑 표까지 만들어 학습 경로를 세우겠습니다.
terraform.tfstate 삭제했을 때 복구하는 법: 백업 파일, S3 버저닝, 재임포트 순서
state 파일이 사라졌을 때 나타나는 증상과 그대로 apply 하면 안 되는 이유부터 정리합니다. 로컬 terraform.tfstate.backup 확인, S3 버저닝에서 이전 버전을 복원하는 명령, 백업이 전혀 없을 때 import로 state를 재구축하는 마지막 경로까지 우선순위대로 다루고, 같은 사고를 구조적으로 막는 백엔드 설정을 정리하겠습니다.
terraform import 사용법: import 블록으로 기존 리소스를 코드로 가져오기
콘솔에서 만든 리소스를 테라폼 관리로 가져오는 절차를 import 블록 기준으로 정리합니다. 리소스별 import ID를 찾는 위치, -generate-config-out으로 코드 초안을 생성하는 방법, plan이 변경 없음이 될 때까지 코드를 실제에 맞추는 요령, 옛 CLI 명령 방식과의 차이와 여러 리소스를 한 번에 편입할 때의 순서까지 다루겠습니다.
terraform state lock 에러 해결: 원인 확인과 force-unlock 판단 기준
Error acquiring the state lock 에러의 Lock Info를 읽는 법부터 정리합니다. 동료나 CI가 실행 중인 정상 상황과 비정상 종료로 잠금만 남은 상황을 구분하는 확인 절차, force-unlock을 써도 되는 조건과 잘못 쓰면 state가 손상되는 이유, DynamoDB 잠금 방식일 때의 확인 위치와 재발 방지 설정까지 다루겠습니다.
테라폼 운영 강좌 #7 OpenTofu와 라이선스: BSL 전환, IBM 인수, 선택 기준
2023년 BSL 라이선스 전환과 OpenTofu 포크의 경위, CNCF 채택과 IBM의 HashiCorp 인수까지 이어진 지형 변화를 시간순으로 정리합니다. BSL이 실제로 금지하는 것과 대부분의 사용자에게 무관한 이유, 두 도구의 기능 분기 현황, 조직 상황별 선택 기준과 마이그레이션 시 확인 사항을 다루고, Associate 자격증 안내와 함께 테라폼 트랙 전체를 마무리하겠습니다.
테라폼 운영 강좌 #6 실행 플랫폼 비교: 순수 CI, HCP Terraform, Atlantis, Spacelift
직접 짠 GitHub Actions 워크플로가 어디까지 감당되고 어디서 힘들어지는지를 기준으로, 관리형 실행 플랫폼인 HCP Terraform과 셀프호스트 OSS인 Atlantis, 상용 전문 플랫폼인 Spacelift 계열을 비교합니다. 정책 코드화, RBAC, 실행 이력 시각화 같은 플랫폼의 부가 가치와 요금 구조를 짚고, 팀 규모별 선택 기준을 정리하겠습니다.
테라폼 운영 강좌 #5 대규모 구조화: 스택 분할 기준, 스택 간 참조, Terragrunt 도입 시점
하나의 state가 커질 때 생기는 plan 지연, 블라스트 반경, 팀 간 잠금 경합 문제를 짚고, 변경 빈도와 수명과 소유 팀을 기준으로 스택을 나누는 방법을 정리합니다. 스택 간 값 전달의 두 방식인 terraform_remote_state와 SSM 파라미터의 결합도 차이, 모노레포 운영 규약, 그리고 보일러플레이트가 임계를 넘을 때의 Terragrunt 도입 판단까지 다루겠습니다.
테라폼 운영 강좌 #4 보안·비용 스캔: trivy, checkov, Infracost로 PR 가드레일
보안 설정 실수를 apply 전에 잡는 정적 스캐너 trivy와 checkov를 비교해 도입하고, 오탐 예외 처리를 이유와 함께 코드에 남기는 규칙을 세웁니다. Infracost로 PR에 월 비용 변화를 코멘트로 표시해 비용 리뷰를 배포 전 단계로 당기고, default_tags 기반 비용 추적까지 연결해 PR 가드레일을 완성하겠습니다.