피드로 돌아가기
Terraform 1.14 — The Complete Guide to List Resources (.tfquery.hcl), Actions Block, and `terraform query`: IaC's First Paradigm Shift in 5 Years
Dev.toDev.to
Infrastructure

Terraform 1.14: 선언적 IaC 한계를 극복한 리소스 탐색 및 명령형 액션 통합

Terraform 1.14 — The Complete Guide to List Resources (.tfquery.hcl), Actions Block, and `terraform query`: IaC's First Paradigm Shift in 5 Years

daniel jeong2026년 4월 22일11advanced

Context

기존 IaC 모델은 코드 내 정의된 리소스만 관리하는 단방향 프로비저닝 구조로 인해 외부 리소스의 대량 Import와 배포 후 부수 효과 처리에 한계 존재. 이를 해결하기 위해 외부 스크립트나 CI/CD 파이프라인에 의존하던 운영 워크플로우를 Terraform 코어 내부로 통합하는 패러다임 전환 필요.

Technical Solution

  • .tfquery.hcl 도입을 통한 읽기 전용 Discovery Graph 분리 및 코드베이스 외부 리소스의 동적 필터링 구현
  • terraform query 명령어로 클라우드 API를 호출하여 실시간 리소스 상태를 탐색하고 -generate-config-out 옵션으로 Import 및 Resource 블록을 자동 생성하는 워크플로우 설계
  • Actions Block 및 -invoke 플래그를 통한 명령형 Side-effect(Lambda 호출, CloudFront 무효화 등)를 리소스 라이프사이클에 선언적으로 결합
  • Ephemeral Resources 및 Write-only Attributes 도입으로 State 파일 내 민감 정보 노출 위험을 제거한 일회성 비밀값 처리 구조 구축
  • HCP Terraform Stacks 플러그인 수정을 통한 대규모 모듈 그래프의 컴포넌트 단위 배포 및 롤백 가능 구조 최적화

- 대량 리소스 마이그레이션 시 별도의 discover 워크스페이스를 구성하여 .tfquery.hcl 기반의 자동 스캐폴딩 적용 검토 - 리소스 생성 후 즉시 실행이 필요한 Lambda Warmup 등의 작업에 Action Block 적용 및 호출 비용 최적화를 위한 타겟팅 설정 - State 파일의 보안 강화를 위해 민감 정보 처리 시 Ephemeral/Write-only 속성 도입 및 terraform show -json 통한 유출 여부 검증 - OpenTofu 혼용 환경일 경우 # requires: terraform >=

1.14 헤더 주석을 통해 버전 호환성 강제

원문 읽기