인프라
Terraform Associate 004 #7 설정 작성: 변수 우선순위, 함수, 커스텀 조건
변수 타입과 값 입력 경로의 우선순위, sensitive의 효력 범위, output과 locals의 역할을 시험 관점으로 압축하고, 자주 출제되는 내장 함수와 표현식을 정리합니다. 004에서 강화된 커스텀 조건인 변수 validation, 리소스 precondition·postcondition, check 블록의 구분과 평가 시점까지, 트랙에서 얕게 다룬 부분을 보강하겠습니다.
Terraform Associate 004 #6 모듈: 소스 지정, 버전 고정, 입출력 문법
모듈의 정의와 루트·자식 모듈 구분부터, 레지스트리·Git·로컬 경로라는 소스 지정 방식별 문법과 version 인수가 동작하는 조건을 시험 관점으로 정리합니다. 모듈에 값을 넣는 입력과 module.이름.출력으로 받는 출력 문법, 모듈 안 리소스에 직접 접근할 수 없다는 캡슐화 원칙, 퍼블릭 레지스트리의 검증 표시까지 출제 포인트를 다지겠습니다.
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편과 시험 목표의 매핑 표까지 만들어 학습 경로를 세우겠습니다.
REST vs GraphQL vs tRPC: API 스타일 선택 기준
새 프로젝트의 API를 무엇으로 만들지 결정하는 기준을 정리합니다. 리소스와 HTTP 의미론 위에 서는 REST의 강점과 오버페칭 문제, 클라이언트가 필요한 데이터를 쿼리로 선언하는 GraphQL이 해결하는 것과 새로 떠안는 비용, TypeScript 모노레포에서 타입을 끝에서 끝까지 잇는 tRPC의 매력과 명확한 적용 한계, 그리고 공개 여부·클라이언트 다양성·팀 구조라는 세 축으로 갈리는 선택 기준까지 다룹니다.
eBPF 정리: 커널을 다시 컴파일하지 않고 확장하는 기술
관측·네트워킹·보안 도구의 기반 기술이 된 eBPF를 정리합니다. 커널 모듈의 위험과 유저스페이스의 한계 사이에서 eBPF가 여는 세 번째 길, 검증기가 무한 루프와 잘못된 메모리 접근을 차단하는 안전 모델, kprobe·tracepoint·XDP 같은 훅 지점, bpftrace 원라이너에서 bcc, libbpf로 올라가는 도구 사다리, Cilium·Falco 같은 대표 활용처, 그리고 커널 버전과 권한이라는 현실적 제약까지 다룹니다.
메모리가 남는데 OOM으로 죽는 이유: 오버커밋, cgroup, OOM 킬러
free로 보면 메모리가 남는데 프로세스가 OOM으로 죽는 역설을 풀어냅니다. 리눅스가 메모리를 약속만 하고 나중에 지급하는 오버커밋의 원리, free와 available의 차이와 페이지 캐시, 시스템 전체가 아니라 cgroup 한도에 걸려 죽는 컨테이너 시대의 OOM(137, OOMKilled), 희생자를 고르는 oom_score의 계산, dmesg와 kubectl로 사인을 확인하는 법, 그리고 한도·요청값 설계까지 다룹니다.
terraform.tfstate 삭제했을 때 복구하는 법: 백업 파일, S3 버저닝, 재임포트 순서
state 파일이 사라졌을 때 나타나는 증상과 그대로 apply 하면 안 되는 이유부터 정리합니다. 로컬 terraform.tfstate.backup 확인, S3 버저닝에서 이전 버전을 복원하는 명령, 백업이 전혀 없을 때 import로 state를 재구축하는 마지막 경로까지 우선순위대로 다루고, 같은 사고를 구조적으로 막는 백엔드 설정을 정리하겠습니다.
terraform import 사용법: import 블록으로 기존 리소스를 코드로 가져오기
콘솔에서 만든 리소스를 테라폼 관리로 가져오는 절차를 import 블록 기준으로 정리합니다. 리소스별 import ID를 찾는 위치, -generate-config-out으로 코드 초안을 생성하는 방법, plan이 변경 없음이 될 때까지 코드를 실제에 맞추는 요령, 옛 CLI 명령 방식과의 차이와 여러 리소스를 한 번에 편입할 때의 순서까지 다루겠습니다.