비밀번호를 바꾸는 건 쉽다. 콘솔에 들어가 새 비밀번호를 입력하고 저장하면 끝이다. 그런데 그 비밀번호를 쓰는 애플리케이션이 24시간 돌고 있다면 이야기가 완전히 달라진다. 비밀번호를 바꾸는 그 찰나에, 옛 비밀번호를 캐싱한 앱 서버 수십 대는 일제히 인증 실패를 토해낸다. "비밀번호 회전"이라는 단순해 보이는 운영 작업이 실제로는 분산 시스템에서 가장 까다로운 동시성 문제 중 하나인 이유다.
Secrets Manager의 존재 이유는 단지 "비밀을 안전하게 저장하는 금고"가 아니다. 그건 Parameter Store SecureString도 한다. Secrets Manager가 월 $0.40이라는, Parameter Store보다 훨씬 비싼 값을 받는 이유는 살아있는 시스템의 비밀을 다운타임 없이 회전시키는 오케스트레이션에 있다. 왜 회전이 4단계로 쪼개져 있는지, 두 사용자를 번갈아 쓰는 전략이 왜 무중단을 보장하는지, 멀티 리전 복제가 왜 읽기 전용인지 — 이 설계들의 이유를 따라가는 게 이 글이다.
GitHub에 올라간 코드에서 AWS 키가 발견되는 사고는 지금도 매일 일어난다. GitGuardian의 연례 보고서는 공개 저장소에서 매년 수백만 건의 하드코딩된 비밀이 노출된다고 집계한다. 비밀번호, API 키, 토큰을 소스 코드나 설정 파일에 박아두는 관행이 사고의 근원이다