인프라 마이그레이션의 본질은 설정을 복사하는 것이 아니라 검증하는 것이다

2026/08/07자체 호스팅 전환Kubernetes · Helm · ArgoCD

배포 체계를 전환하면서 기존 서비스들의 인프라 설정을 인계받았습니다. 겉으로 보기에는 "기존 설정을 새 Helm 밸류 포맷으로 옮겨 담기만 하면 되는 작업"처럼 보였습니다.

하지만 실제 작업의 9할은 "넘겨받은 설정을 한 줄씩 뜯어보며 숨어있던 잠재 결함들을 찾아내는 일"이었습니다.

눈에 보이지 않던 레거시 설정의 민낯

기존 배포 도구는 설정을 내부 DB에만 보관하고 사람이 직접 검토하기 어려운 구조였습니다. 한 번 배포가 성공하면 아무도 설정을 다시 들여다보지 않았던 탓에, 코드로 꺼내어 본 매니페스트에는 심각한 문제들이 누적되어 있었습니다:

  • 비밀값의 평문 노출: DB 비밀번호, 스토리지 액세스 키, 서명 토큰 등이 코드에 하드코딩되어 있었습니다. 그대로 옮겼다면 Git 저장소에 영구 노출될 뻔한 데이터였습니다.
  • 헬스 체크 비활성화: 밸류 파일의 사소한 문법 실수(null)로 인해 Liveness/Readiness Probe가 통째로 꺼져 있어, 파드가 데드락에 빠져도 오케스트레이터가 감지하지 못하는 상태였습니다.
  • 잘못된 인증서 참조: 존재하지 않는 네임스페이스의 인증서를 바라보고 있어 브라우저 경고가 뜨는 상태로 방치되어 있었습니다.

이 문제들은 마이그레이션이 만들어낸 것이 아니라, 오랫동안 방치되었던 잠재 결함이 마이그레이션을 통해 수면 위로 드러난 것이었습니다.

안전한 설정을 위한 조치와 원칙

  1. 시크릿의 안전한 외주화: 평문 비밀값을 Git에 커밋하지 않고, 클러스터 시크릿 참조 구조로 안전하게 분리했습니다.
  2. 사전 결함 기록: "원래 그랬던 것"이라도 이관 시점에 명확히 짚고 기록해 두지 않으면 훗날 터졌을 때 이관 작업자의 책임이 됩니다. 잠재 위험 요소는 설정 상단에 주석과 런북으로 상세히 명시했습니다.

요약

진짜 가치 있는 인프라 엔지니어링은 기계적인 파일 복사가 아니라, "지금 잘 돌고 있으니 문제없겠지"라는 안일을 의심하고 시스템의 신뢰성을 한 단계 끌어올리는 검증 과정에 있습니다.