CI/CD4분 읽기· 연습 문제 3개

Preview는 통과했는데 production feature flag에서 secret만 빠질 때

preview 환경은 정상인데 production flag나 release toggle을 켠 순간만 secret path가 비어 보일 때, secret scope와 environment contract를 먼저 나누는 가이드입니다.

목차
  1. 대표 증상
  2. 먼저 확인할 신호
  3. 로그와 CLI 예시
  4. 흔한 오진
  5. 안전한 복구 순서
  6. 재발 방지
  7. 관련 InfraTree 문제

대표 증상

Preview는 통과했는데 production feature flag에서 secret만 빠질 때 상황은 하나의 설정값만 틀린 문제가 아니라 배포 경계, 런타임 상태, cache, 권한, 네트워크 경로가 함께 어긋나며 나타나는 경우가 많습니다. 검색으로 들어온 사용자는 먼저 증상을 작게 나누고, 이 가이드의 검색 의도인 preview passed but production secret missing, feature flag exposed missing secret, deploy success but prod only secret path empty 같은 검색 의도를 겨냥합니다.를 기준으로 처음 확인할 신호를 정리해야 합니다.

초반에는 전체 rollback이나 무작정 재시작을 시도하기보다 영향 범위가 어느 node, Pod, job, 사용자, 경로에 묶여 있는지 확인합니다. 범위가 좁으면 최근 변경과 정상 상태를 비교하고, 범위가 넓으면 공통 의존성부터 확인하는 편이 안전합니다.

먼저 확인할 신호

가장 먼저 볼 것은 마지막 오류 줄이 아니라 같은 실패가 반복되는 경계입니다. preview passed prod failed, feature flag missing secret, secret path empty only in prod, runtime config mismatch 같은 신호를 기준으로 문제를 묶으면 로그가 길어도 root cause 후보를 줄일 수 있습니다.

  • preview와 production이 같은 secret source를 보느냐부터 먼저 확인합니다.
  • feature flag나 release toggle이 다른 code path를 열었는지 구분합니다.
  • runtime secret injection과 build-time config substitution을 같은 것으로 보지 않습니다.
  • secret 이름은 같아도 namespace, account, region이 다른지 비교합니다.
  • 정상 preview 요청과 실패 production 요청이 참조한 config snapshot을 나란히 봅니다.

로그와 CLI 예시

아래 명령은 정답을 바로 알려주는 명령이 아니라 원인을 좁히기 위한 첫 관찰 지점입니다. 명령 결과를 정상 시점 또는 같은 역할의 정상 리소스와 비교하면 재시도만 반복하는 시간을 줄일 수 있습니다.

gh run view <run-id> --log
git diff --name-only <previous>..<current>

흔한 오진

운영 장애에서 가장 위험한 패턴은 증상 이름을 곧 원인으로 착각하는 것입니다. 같은 timeout, permission denied, rollout failure라도 실제 원인은 cache, 권한 상속, Secret 범위, 오래된 client 연결, proxy header처럼 다른 층에 있을 수 있습니다.

  • preview가 통과했으니 secret도 같은 경로라고 가정하는 것
  • flag가 여는 code path를 보지 않고 secret store 자체만 재배포하는 것

안전한 복구 순서

복구는 가장 작은 단위에서 시작합니다. 먼저 읽기 전용 확인으로 현재 상태를 고정하고, 그다음 영향이 제한된 리소스에서 변경을 검증합니다. 서비스 전체 재시작, cache 전체 삭제, 보안 정책 완화처럼 되돌리기 어려운 조치는 원인 후보가 좁혀진 뒤에 선택해야 합니다.

  • 이 유형은 애플리케이션 버그보다 환경 계약 차이에서 오는 경우가 많아서 배포팀과 앱팀이 서로 다른 증거를 보고 있을 수 있습니다.
  • preview path는 정상인데 production flag path만 다르면 로그가 sparse하게 보여 초기 대응이 늦어집니다.

재발 방지

장애가 끝난 뒤에는 원인 한 줄보다 “왜 그 상태가 오래 남았는지”를 기록해야 합니다. 배포 pipeline, 런타임 reload, 권한 상속, 인증서 갱신, 네트워크 정책처럼 자동화와 운영 절차 사이에 빈 곳이 있었는지 확인합니다.

관련 허브와 문제를 이어 보면 같은 증상을 다른 환경에서도 다시 진단해 볼 수 있습니다.

관련 InfraTree 문제

아래 문제들은 이 가이드의 내용을 실제 시나리오로 연습하기 위한 공개 문제입니다. 글을 읽은 뒤 문제를 풀면 신호를 먼저 나누고 복구 방향을 문장으로 정리하는 연습을 할 수 있습니다.

이 가이드로 연습하기

같은 장애를 다룬 검수된 문제입니다. 원인·복구·재발 방지를 직접 적어 보고 모범 풀이와 비교해 보세요.

다음에 읽을 가이드