피드로 돌아가기
Dev.toInfrastructure
원문 읽기
The Credential Nobody Owned
Google, Microsoft, Epic Games 등 대규모 기업들이 만료된 인증서·API 키로 인한 장시간 장애를 겪으면서, 자동화 실패와 소유권 불명확로 인한 가시성 부족이 근본 원인임을 규명
AI 요약
Context
SSL 인증서, API 키, 토큰 등 만료 기한이 있는 자격증명은 정상 작동 중에는 신호를 발생시키지 않아 모니터링이 불가능하고, 설정자가 퇴사하거나 팀 이동 시 소유권이 명확하지 않아 누구도 갱신을 담당하지 않는 문제가 발생한다. 이는 회사 규모나 예산과 무관하게 모든 조직에서 반복되는 failure mode이다.
Technical Solution
- 소유권 명확화: 자격증명의 소유 팀/담당자를 명시적으로 지정하여 암묵적 가정("상대방이 관리할 것 같아")으로 인한 갭 제거
- 자동 갱신 메커니즘 모니터링: Let's Encrypt 같은 자동 갱신 시스템의 전제 조건 변경(DNS 레코드 제거 등)을 감지하는 alert 구성
- 로그 모니터링 및 알림: cert-manager 같은 도구의 갱신 실패 로그를 적극 감시하며, 단순 로깅만으로는 부족함을 인지
- 중앙 집중식 dashboard: 정보 갱신에 의존하는 스프레드시트 대신 SSL 인증서, API 키, 라이선스 등 모든 자격증명을 단일 시스템으로 추적
- 단계적 alert 전략: 만료 예정일 N일 전, 임계값 도달 시 escalation 구성
Impact
- Google Bazel: 만료된 SSL 인증서로 13시간 장애, DNS 레코드 제거가 자동 갱신을 무음으로 차단
- IPinfo: 2시간 36분 API 완전 장애(월 1,000억+ 요청 처리 서비스), 로그는 기록됐으나 모니터링/alert 미설정
- Epic Games: 야생동물 인증서 만료로 Fortnite, Rocket League, Epic Games Store 및 수백 개 backend 서비스 중단, 12분 내 원인 파악했으나 5.5시간 이후 완전 복구(cascade 장애)
- Microsoft Teams: 월요일 오전 전 세계 수백만 사용자 접근 불가, 3시간 장애
- U.S. 연방정부: 한 시점에 80개 만료된 인증서로 연방 웹사이트 접근 불가 또는 보안 위험
Key Takeaway
만료된 자격증명으로 인한 장애는 기술 역량 부족이 아닌 시스템 설계 문제이며, 무음(silence)은 가장 모니터링하기 어려운 failure mode이다. 자동화에 의존하되 자동화의 전제 조건 변경, 로그 기록의 부재, 소유권 불명확 등을 대비한 backup mechanism과 명시적 추적 체계를 필수로 구축해야 한다.
실천 포인트
10~수백 개의 자격증명을 관리하는 IT 팀이나 중소 규모 조직에서는 단순 스프레드시트/달력 알림 대신 중앙 집중식 dashboard를 도입하고, 만료 임계값 이전에 복수 단계(예: 60일, 30일, 7일, 1일 전)의 email alert와 critical 수준에서 escalation을 구성하며, 각 자격증명의 소유 팀을 명시적으로 할당함으로써 자동화 실패나 소유권 갭으로 인한 silent 장애를 방지할 수 있다.