본문으로 건너뛰기
클라우드 8분 읽기

재해복구 훈련은 문서 낭독이 아니라 의사결정 연습이다

서비스 중단 상황에서 누가 어떤 기준으로 복구 목표와 고객 공지를 결정할지 훈련하는 방법을 정리했다. DR·Tabletop Exercise·SRE 관점에서 구성 요소의 역할부터 적용 순서, 운영 확인 항목, 복구 기준까지 단계별로 설명한다.

김태영
에디터
2026년 6월 25일
재해복구 훈련은 문서 낭독이 아니라 의사결정 연습이다

핵심 요약

재해복구 모의훈련의 목적은 문서가 존재하는지 확인하는 것이 아니라, 정보가 부족한 상황에서 복구 순서와 고객 영향, 데이터 손실 허용 범위를 결정하는 연습이다. 시나리오 주입, 결정 로그, 중단 기준, 실제 복원 검증까지 포함해야 한다.

백업이 있다는 사실과 서비스를 복구할 수 있다는 사실은 다르다. 백업이 암호화돼 있지만 키에 접근할 수 없거나, 데이터베이스는 복원됐지만 애플리케이션 스키마와 맞지 않거나, 대체 리전에 네트워크·DNS·비밀값이 준비되지 않았다면 복구 목표는 달성되지 않는다.

탁상훈련(tabletop exercise)은 프로덕션을 실제로 중단하지 않고도 이런 의존성과 의사결정 병목을 드러내는 방법이다. 다만 참가자가 문서를 읽고 “절차대로 하겠습니다”라고 답하는 데 그치면 효과가 없다. 시간에 따라 새로운 정보와 제약을 주입하고, 누가 어떤 근거로 선택했는지 기록해야 한다.

훈련 전에 정할 성공 기준

항목질문훈련에서 남길 증거
RTO핵심 기능을 몇 시간 안에 되살려야 하는가단계별 예상·실측 복구 시간
RPO어느 시점까지의 데이터 손실을 허용하는가마지막 정상 백업·복제 시각
최소 서비스전체 기능 대신 먼저 열 기능은 무엇인가우선순위와 기능 축소 결정
권한정상 IdP가 실패해도 누가 복구 작업을 할 수 있는가비상 계정 테스트 기록
통신고객·경영진·지원팀에 언제 무엇을 알리는가공지 초안과 승인 시각
복귀재해 환경에서 원래 환경으로 어떻게 돌아오는가failback 절차와 중단 조건

RTO와 RPO는 인프라팀이 임의로 정하는 숫자가 아니다. 주문 손실, 고객 계약, 데이터 재생성 가능성, 규제 의무 등 사업 영향과 비용을 함께 보고 서비스 소유자가 승인해야 한다.

좋은 시나리오는 원인보다 선택을 묻는다

“리전 장애가 발생했다”만으로는 참가자가 준비된 답을 반복하기 쉽다. 다음처럼 서로 충돌하는 조건을 순차적으로 주입한다.

예시: 리전 장애와 데이터 오염이 겹친 상황

  • T+0분: 주 리전의 API 오류율이 급증하고 관리 콘솔도 불안정하다.
  • T+15분: 대체 리전은 기동 가능하지만 데이터 복제가 38분 지연돼 있다.
  • T+30분: 최신 백업 일부에서 동일한 잘못된 데이터 변경이 발견된다.
  • T+45분: 대형 고객이 30분 내 복구 예상 시각을 요구한다.
  • T+60분: 정상 IdP 접근이 실패하고 한 명의 관리자만 비상 계정 절차를 기억한다.
  • T+90분: 대체 리전 용량이 예상 트래픽의 60%만 처리할 수 있다.

이 시나리오는 “어떤 버튼을 누를 것인가”보다 “데이터 손실 38분을 감수하고 전환할 것인가”, “어떤 고객·기능을 먼저 살릴 것인가”, “언제 외부에 불확실성을 공개할 것인가”를 묻는다.

진행 역할을 분리한다

  • 진행자: 시나리오와 추가 정보를 주입하고 정답을 유도하지 않는다.
  • 사고 지휘자: 우선순위와 최종 결정을 내리며 실행 담당자가 되지 않는다.
  • 기술 리드: 복구 가능성, 의존성, 검증 방법을 설명한다.
  • 사업·고객 담당: 고객 영향, 계약, 기능 우선순위를 제시한다.
  • 보안·개인정보·법무: 증거 보존과 통지 의무를 검토한다.
  • 기록자: 결정, 시각, 근거, 반대 의견, 미해결 질문을 남긴다.

한 사람이 지휘·기술 실행·기록을 모두 맡으면 실제 사고에서도 판단이 병목된다. 최소한 지휘자와 기록자는 분리한다.

90분 훈련 운영안

1. 0~15분: 범위와 가정 확인

서비스 지도, 최근 배포, 데이터 저장소, 외부 의존성, 연락망을 제공한다. 참가자는 가장 먼저 확인할 지표와 사고 심각도 기준을 말해야 한다.

2. 15~45분: 복구 전략 선택

복구, 장애 우회, 기능 축소, 읽기 전용 전환, 롤백 중 무엇을 선택할지 결정한다. 선택하지 않은 대안과 이유도 기록한다. 복구 목표를 맞추기 위해 보안 통제를 해제하려 한다면 승인자와 만료 시간을 정한다.

3. 45~70분: 고객·조직 커뮤니케이션

보안 사고 커뮤니케이션 템플릿을 사용해 확인된 사실, 확인 중인 내용, 고객 행동, 다음 업데이트 시각을 작성한다. 복구 예상 시각은 기술팀의 희망이 아니라 검증 가능한 단계와 여유 시간을 반영한다.

4. 70~90분: 복귀와 사후 조치

대체 환경에서 원래 환경으로 돌아갈 조건, 데이터 병합, 미처리 작업 재실행, 임시 권한 회수, 비용 증가 종료, 고객 종료 공지를 정한다.

문서만으로 발견하기 어려운 실패 모드

실패 모드훈련에서 보이는 징후개선 항목
백업은 있으나 복원 권한이 없음키·저장소 접근 승인을 기다린다비상 권한과 오프라인 연락망 검증
서비스 지도가 오래됨숨은 DNS·큐·외부 API 의존성이 뒤늦게 나온다배포 파이프라인에서 의존성 목록 갱신
RTO가 구성요소별로만 정의됨DB는 복원됐지만 로그인·결제가 안 된다사용자 여정 기준 end-to-end RTO 측정
대체 환경 용량이 부족함전환 후 과부하를 고려하지 않는다최소 기능과 트래픽 우선순위 정의
데이터 오염을 가용성 장애처럼 처리최신 백업으로도 오류가 재현된다깨끗한 복구 지점과 검증 쿼리 마련
failback이 없음재해 환경을 영구 운영하게 된다원복 조건과 데이터 동기화 절차 추가

훈련 후 실제 검증으로 연결한다

탁상훈련만으로는 백업 파일이 열리는지, IaC가 재배포되는지, DNS 전환이 작동하는지 확인할 수 없다. 훈련에서 가장 위험한 가정 2~3개를 골라 비프로덕션에서 실제 복원 테스트를 수행한다.

  • 백업에서 데이터베이스를 격리 환경에 복원한다.
  • 애플리케이션 전체 스택이 복원 데이터로 동작하는지 확인한다.
  • Terraform state 보안과 백엔드 접근 권한을 검증한다.
  • 비밀값·인증서·DNS·큐·스케줄러까지 포함한 사용자 여정을 테스트한다.
  • 실측 RTO/RPO와 문서 값을 비교하고 차이를 승인받는다.

평가 지표

  • 최초 심각도 선언과 지휘자 지정까지 걸린 시간
  • 서비스 소유자와 복구 담당자 연락 성공률
  • 결정마다 근거와 되돌리기 조건이 기록된 비율
  • RTO/RPO를 넘긴 단계와 원인
  • 복구 후 핵심 사용자 여정 검증 완료 시간
  • 임시 권한·리소스·비용 경보 회수 여부
  • 미해결 조치의 소유자와 기한 지정률

운영 체크리스트

  • 시나리오에 리전 장애뿐 아니라 데이터 오염·권한 장애를 포함한다.
  • 지휘자, 기술 리드, 기록자, 고객 담당을 분리한다.
  • 모든 결정에 시각·근거·되돌리기 조건을 남긴다.
  • 대체 환경의 실제 용량과 외부 의존성을 확인한다.
  • 정상 IdP 실패를 가정해 비상 관리자 계정을 시험한다.
  • 훈련 후 최소 하나의 실제 복원 테스트를 수행한다.
  • 실측 RTO/RPO가 목표와 다르면 사업 소유자가 차이를 승인한다.
  • 후속 조치에 소유자·기한·검증 방법을 붙인다.

참고 기준

결론

재해복구 훈련의 산출물은 참석자 명단이나 읽은 문서가 아니다. 누가 어떤 정보로 어떤 결정을 내렸고, 그 결정이 실제 복구 목표를 만족하는지 검증한 기록이다. 가장 위험한 가정을 실제 복원 테스트로 바꾸는 조직만이 사고 당일 문서가 아니라 실행 가능한 복구 능력을 갖게 된다.

전체 댓글 0

댓글을 불러오는 중입니다...
새로고침

태그

DR Tabletop Exercise SRE

공유하기

관련 기사