매번 헷갈리는 RPO와 RTO
RPO와 RTO는 재해 복구(DR) 계획을 세울때 가장 핵심이 되는 지표 입니다. 용어가 비슷해서 헷갈리기 쉽지만, 어느 시점의 데이터로 돌아갈 것인가(RPO) 와 얼마나 빨리 복구할 것인가(RTO)의 차이로 이해하시면 쉽습니다.
백업 정책 예를 통해 살펴 봅시다.
운영중인 데이터베이스 서버가 있다고 가정합니다. 백업 정책은 아래와 같습니다.
- 일 4회(6시간 마다) Full 백업
- 백업시 마다 원격 저장소로 2차 백업 실시
- 2차백업 저장소의 보관기간은 15일
위와 같은 백업정책으로 데이터베이스 서버를 운영했을때
- RPO(Recovery Point Objective, 복구 시점 목표)
"장애 발생 시 얼마나 과거의 데이터로 되돌릴 것인가?" 즉, 데이터 손실 허용 범위를 의미 합니다.
- 분석 : 만약 백업 직전(예: 5시간 59분째)에 데이터베이스에 문제가 발생하였다면, 가장 최근 백업본은 6시간 전의 것입니다. 즉, 최대 6시간 치의 데이터는 유실 될 수 있다는 뜻입니다.
- 이 경우의 RPO : 6시간(즉, RPO는 백업의 "주기"에 의해 결정된다는 얘기가 됩니다.) - RTO(Recovery Time Objective, 복구 시간 목표)
"사고 발생 후 서비스를 다시 정상화 하는데 얼마나 걸리는가?" 즉, 중단 허용 시간을 의미 합니다.
- 위 정책을 대입 : DB장애 발생 -> 외부 저장소에서 2차 백업본 반입 -> DB복원 작업 수행 -> 서비스 재개
- 분석 : 이 전체 과정(반입 + 복원 + 검증)에 총 3시간이 걸린다면, 사용자는 3시간 동안 서비스를 이용하지 못합니다.
- 이 경우의 RTO : 3시간(목표하는 복구 시간이 3시간 이내라면 RTO는 3시간이 됩니다.)
요약 하자면
- RPO는 "백업을 얼마나 자주 하느냐"의 문제로, 과거의 어느 지점으로 돌아갈지를 결정합니다.(위 정책상 6시간 간격)
- RTO는 "장애가 난 시점부터 언제 서비스가 살아나느냐"의 문제 입니다.