RPO(목표 복구 시점)란?

장애나 재해가 일어났을 때 어느 시점의 상태까지 데이터를 복구할 수 있으면 되는지를 나타내는 목표(Recovery Point Objective). RPO가 1시간이라면 잃어도 되는 데이터는 직전 1시간분까지이며, 적어도 1시간마다 백업이나 데이터 복제를 받아야 한다.

일본어 명칭: RPO(目標復旧時点)

RPO(목표 복구 시점)은(는) 시스템 구성과 신뢰성 설계, 서비스 관리와 시스템 감사 등 2개 분야의 연습 문제 3개에 나와요.

분야: 시스템 구성과 신뢰성 설계

RPO와 RTO

RPO는 '어느 시점까지 되돌릴 수 있으면 되는가', 즉 잃어도 되는 데이터의 양을 시간으로 나타낸 목표입니다. RTO(목표 복구 시간)는 '얼마만큼의 시간 안에 재개할 수 있으면 되는가'를 나타내는 목표입니다. 예를 들어 RPO가 4시간, RTO가 2시간이라면 장애가 일어나도 4시간보다 이전의 데이터는 잃지 않고, 2시간 이내에 업무를 재개해야 합니다. 둘은 별개의 목표이므로 양쪽을 모두 만족하는 방식을 선택해야 합니다.

RPO를 만족하는 방법

정기적인 백업만으로 지키는 경우, 장애가 다음 백업 직전에 일어나면 백업 간격만큼의 데이터를 잃습니다. 따라서 백업 간격을 RPO 이하로 합니다. RPO를 몇 분이나 0에 가깝게 하고 싶은 경우에는 데이터베이스 갱신 로그를 자주 다른 장소로 보내거나, 다른 서버에 데이터를 복제하는 레플리케이션을 사용합니다.

동기와 비동기 레플리케이션

동기 레플리케이션은 복제 대상에서도 쓰기가 끝난 것을 확인한 후에 갱신을 완료하므로 장애 시 데이터를 잃지 않습니다(RPO가 0). 그 대신 복제 대상까지의 왕복 통신 시간이 갱신할 때마다 더해지므로, 멀리 떨어진 장소 사이에서는 응답이 느려집니다. 비동기 레플리케이션은 복제를 나중에 보내므로 응답은 빠르지만, 장애 시 아직 보내지 않은 만큼의 데이터를 잃을 수 있습니다.

도전해 보기: RPO(목표 복구 시점) 관련 문제

사업 연속성 계획에서 말하는 RPO(목표 복구 시점)에 대한 설명으로 적절한 것은?

  1. A장애가 일어났을 때 어느 시점까지의 데이터를 복구할 수 있으면 되는지(얼마나 이전까지의 데이터 손실을 허용하는지)를 나타내는 목표
  2. B장애가 일어난 후 업무나 시스템을 재개할 때까지 허용되는 시간의 목표
  3. C시스템이 고장 난 후 다음에 고장 날 때까지의 평균 시간
정답과 해설 보기

정답: A. 장애가 일어났을 때 어느 시점까지의 데이터를 복구할 수 있으면 되는지(얼마나 이전까지의 데이터 손실을 허용하는지)를 나타내는 목표

RPO(Recovery Point Objective, 목표 복구 시점)는 장애가 일어났을 때 어느 시점의 상태까지 데이터를 되돌릴 수 있으면 되는지를 나타내는 목표입니다. 예를 들어 RPO가 1시간이라면 장애 직전 1시간 이내의 시점까지 되돌릴 수 있어야 하며, 적어도 1시간마다 백업이나 데이터 복제를 받아야 합니다. 업무를 재개할 때까지 허용되는 시간은 RTO(Recovery Time Objective, 목표 복구 시간)이며, RPO와 RTO를 짧게 할수록 필요한 설비 비용은 커집니다.

어떤 시스템에서 RPO(목표 복구 시점)를 4시간, RTO(목표 복구 시간)를 2시간으로 정했다. 장애는 언제든 일어날 수 있다고 하고, 백업 취득에 걸리는 시간은 무시할 수 있다고 한다. 이 목표를 만족하는 데이터 보호 방식으로 적절한 것은?

  1. A1시간마다 백업을 받고, 장애가 일어났을 때는 복구에 3시간이 걸린다
  2. B3시간마다 백업을 받고, 장애가 일어났을 때는 복구에 1.5시간이 걸린다
  3. C6시간마다 백업을 받고, 장애가 일어났을 때는 복구에 1시간이 걸린다
정답과 해설 보기

정답: B. 3시간마다 백업을 받고, 장애가 일어났을 때는 복구에 1.5시간이 걸린다

장애가 다음 백업 직전에 일어나면 직전 백업 간격만큼의 데이터를 잃으므로, RPO를 만족하려면 백업 간격을 RPO 이하로 해야 합니다. 또한 복구에 걸리는 시간은 RTO 이하여야 합니다. 3시간마다 백업하고 복구에 1.5시간이 걸린다면, 잃는 것은 최대 3시간분(4시간 이하)이고 복구는 1.5시간(2시간 이하)이므로 둘 다 만족합니다. 1시간마다 하는 방식은 RTO를, 6시간마다 하는 방식은 RPO를 만족하지 않습니다.

자주 묻는 질문

RPO와 RTO는 짧을수록 좋은가요?

짧을수록 장애의 영향은 작아지지만, 레플리케이션이나 대기 시스템 설비, 운용의 수고 등의 비용이 커집니다. 업무가 멈추거나 데이터를 잃었을 때의 손실과 대책 비용을 비교하여 업무마다 정하는 것이 일반적입니다.

RPO가 0인 시스템을 만들 수 있나요?

동기 레플리케이션을 사용하면 장애가 일어난 시점까지의 데이터를 잃지 않는 구성으로 만들 수 있습니다. 다만 잘못된 조작이나 소프트웨어 결함으로 데이터가 손상된 경우에는 그 손상된 상태도 그대로 복제되므로, 과거 시점으로 되돌릴 수 있는 백업도 별도로 필요합니다.

해설 속 RPO(목표 복구 시점)

RPO(목표 복구 시점)이(가) 나오는 문제 (3)

  1. 사업 연속성 계획에서 말하는 RPO(목표 복구 시점)에 대한 설명으로 적절한 것은?
  2. 어떤 시스템에서 RPO(목표 복구 시점)를 4시간, RTO(목표 복구 시간)를 2시간으로 정했다. 장애는 언제든 일어날 수 있다고 하고, 백업 취득에 걸리는 시간은 무시할 수 있다고 한다. 이 목표를 만족하는 데이터 보호 방식으로 적절한 것은?
  3. 사업 연속성 계획(BCP) 수립의 진행 방식으로 적절한 것은?

관련 용어

RTO(목표 복구 시간) BCP(사업 연속성 계획) 단일 장애점(SPOF) 듀얼 시스템(Dual System) 듀플렉스 시스템(Duplex System) 로드 밸런서(Load Balancer) 스케일 아웃(Scale-out) 증분 백업(Incremental Backup) 차등 백업(Differential Backup) 페일 세이프(Fail-safe)

용어집으로 돌아가기