피드로 돌아가기
Our Terraform Drift Went Undetected for Four Months. Here Is How We Found It.
Dev.toDev.to
Infrastructure

4개월간 누적된 47개 Resource Drift를 24시간 탐지 체계로 해결

Our Terraform Drift Went Undetected for Four Months. Here Is How We Found It.

Luca2026년 4월 18일6intermediate

Context

S3 Remote State와 DynamoDB Locking 기반의 표준 Terraform 환경 운영 중, 긴급 장애 대응을 위한 Console 직접 수정으로 인해 코드와 실제 인프라 상태가 불일치하는 Infrastructure Drift 발생. 정기적인 검증 프로세스 부재로 인해 수개월간 변경 사항이 누적되며 운영 환경의 예측 가능성이 저하된 상황.

Technical Solution

  • GitHub Actions를 활용하여 매일 정해진 시간에 terraform plan -detailed-exitcode를 실행하는 Read-only 모드의 Drift Detection 파이프라인 구축
  • Plan 결과의 차이점 발생 시 Slack Webhook을 통해 즉시 알림을 송신함으로써 피드백 루프를 4개월에서 24시간 이내로 단축
  • AWS Config Rule을 도입하여 terraform-managed 태그가 없는 리소스를 실시간으로 식별하고 비정상 생성 리소스를 가시화
  • 장애 대응 후 48시간 이내에 Terraform PR 생성을 의무화하는 Incident Infrastructure Runbook 프로세스를 정의하여 기술적 제약과 운영 프로세스를 결합
  • 수동 Reconcile 과정을 통해 Live State의 정당성을 검토하고 코드에 반영하는 State 정규화 작업 수행

- 전체 워크스페이스 대상의 정기적인 `terraform plan` 스케줄링 및 알림 체계 구축 여부 검토 - Cloud Console을 통한 긴급 변경 시 사후 PR 작성을 강제하는 운영 런북 수립 - IaC 관리 대상 리소스에 대한 강제 태깅 정책 및 미태깅 리소스 탐지 룰 설정

원문 읽기