ACTIVE INCIDENT
00:00 elapsed
LABLAB-INFRA-OPS-15-ENV-CONFIG-DRIFTSEV-2
환경 설정 드리프트 — "스테이징은 되는데 운영만 안 됨"
ELAPSED
00:00
PHASE
0 / 4
SLA
40분
⚙️ Infra-Ops← 목록
INCIDENT RESPONSE
0 / 5 단계 완료
📚 PREREQUISITES
Theory
infra-ops/env-config-managementTRACK
INFRA-OPS
SLA
40분
SEV
SEV-2
PHASES
3단계
ENV
local
INCOMING TICKET
“배포 보고: "같은 빌드를 올렸는데 스테이징은 정상이고 운영만 500이 납니다. 코드는 똑같은데요."”
YOUR ROLE
인프라/릴리스 엔지니어인 당신이
IMPACT IF UNRESOLVED
동일 코드가 환경에 따라 다르게 동작 → 배포 신뢰 붕괴. 원인이 코드가 아니라 환경 설정이라 추적이 까다로움.
🚨INCIDENT BRIEF
같은 빌드(v1.50)를 스테이징과 운영에 올렸습니다. 스테이징은 정상, 운영만 결제 API에서 500이 납니다.
"코드가 똑같은데 왜 환경마다 다르지?"
코드가 같은데 동작이 다르면 범인은 거의 항상 환경 설정입니다. 운영에만 누락된 환경변수,
다른(혹은 만료된) 시크릿, 잘못 가리킨 엔드포인트. 문제는 설정이 코드처럼 버전관리·리뷰되지 않아
"언제 누가 무엇을 바꿨는지" 추적이 안 된다는 것입니다.
환경 간 설정을 안전하게 비교해 차이를 특정하고, 설정을 코드에서 분리해 드리프트를 구조적으로 막습니다.
⏱ 40분📊 중급🔧 3단계#config#env#twelve-factor#secret
MISSION
1
문제 환경의 실제 주입 설정 확인
운영 프로세스에 실제로 주입된 환경변수/설정을 확인해 무엇이 비었거나 다른지 본다
2
환경 간 설정 차이(diff) 안전하게 비교
스테이징(정상)과 운영(문제)의 설정 키 집합을 비교해 정확히 무엇이 다른지 특정한다
3
설정을 코드에서 분리 — 드리프트 구조적 차단
누락 설정을 교정해 복구하고, 12-factor 원칙으로 설정을 외부화·검증해 재발을 막는다
📌 선수 지식
ℹ️ 실습 환경
환경: local
필요 도구: bash, diff, sort, grep, systemctl
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →>_ LAB TERMINAL↔ 너비 조절
NOTES