RTO와 RPO 설정하고 테스트하기
완료허용 가능한 중단과 데이터 손실을 정하세요. 복구 전략을 비교하고 전체 복구 훈련 결과를 비즈니스 요구사항과 대조하세요.
이해도 확인복구 훈련에서 55분 만에 사용 가능한 서비스를 복원했습니다. 중단 20분 전의 데이터를 복구했습니다. 목표는 RTO 60분, RPO 15분입니다. 결과는 어떨까요?실습하기
학습할 내용
- RTO를 RPO 및 가용성과 구분합니다.
- 전체 복구 시간과 데이터 복구 공백을 계산합니다.
- 증거와 서비스 담당자를 갖춘 복구 훈련을 정의합니다.
서로 다른 두 목표를 정하세요
복구 시간 목표인 RTO는 사용 가능한 서비스를 되돌려야 하는 최대 허용 중단 시간을 정합니다. 복구 시점 목표인 RPO는 시간으로 측정한 최대 허용 데이터 손실을 정합니다. 정해진 서비스와 실패 시나리오에 대해 비즈니스 담당자와 목표에 합의하세요.
가용성 목표는 일정 기간의 서비스 성과를 설명합니다. RTO와 RPO는 복구에 대한 기대를 설명합니다. 서로 다른 질문에 답하는 목표입니다.
가상의 주문 서비스에서 담당자는 RTO를 60분, RPO를 15분으로 정합니다. 이는 예시 값이며 일반적인 권장값이 아닙니다. 주문 누락과 보고서 지연은 결과가 다르므로 다른 서비스에는 다른 한도가 필요할 수 있습니다.
전체 복구를 측정하세요
서비스가 10:00에 멈춥니다. 팀은 훈련 결과를 다음과 같이 기록합니다.
| 단계 | 소요 시간 | 시각 |
|---|---|---|
| 중단 탐지 | 8분 | 10:08 |
| 평가 및 복구 승인 | 12분 | 10:20 |
| 서비스와 데이터 복원 | 25분 | 10:45 |
| 사용 가능한 동작 검증 | 10분 | 10:55 |
전체 복구 시간은 55분입니다. 훈련은 60분 RTO를 충족합니다. 25분의 복원 작업만 계산하면 중단 시간의 대부분이 가려집니다.
사용 가능한 최신 복구 시점은 09:40입니다. 10:00 중단 시점까지의 공백은 20분입니다. 15분 RPO를 5분 초과합니다. 같은 데이터를 더 빨리 복원해도 이 공백은 줄어들지 않습니다.
실제로 누락되거나 일관성이 깨진 레코드를 살펴보세요. 시간 공백은 손실에 노출된 범위를 설명할 뿐, 영향받는 주문 수를 세지는 않습니다. 정상 처리를 재개하기 전에 외부 결제 기록과 주문 이행 기록을 대조하고 차이를 해결하세요. 복구 실습에서 다른 가정을 시험해 보세요.
복구 전략을 선택하세요
전략은 필요한 서비스, 데이터, 의존성을 다뤄야 합니다. 측정한 목표를 기준으로 다음 패턴을 비교하세요.
| 패턴 | 사건 전에 준비하는 항목 |
|---|---|
| 백업 및 복원 | 복구 가능한 데이터와 환경을 다시 만들 방법 |
| 파일럿 라이트 | 핵심 데이터 서비스. 나머지 구성 요소는 활성화하거나 생성해야 함 |
| 웜 스탠바이 | 줄어든 용량으로 작동하는 환경 |
| 액티브/액티브 | 둘 이상의 환경이 이미 트래픽을 처리함 |
이 패턴들에 보편적인 복구 시간이 정해져 있지는 않습니다. 구현, 데이터량, 의존성, 테스트 조건에 따라 결과가 달라집니다. 운영 비용과 팀 역량도 결정에 포함하세요.
서비스 중단 외의 위험에도 대비하세요
복제본은 원치 않는 삭제나 손상된 레코드도 복사할 수 있습니다. 필요한 경우 복구 가능한 버전이나 특정 시점 복구 기능을 유지하세요. 보존 기간, 복원 권한, 암호화 키 접근을 검증하세요. 기본 계정의 접근 권한 상실을 포함해 시나리오에 맞게 백업을 격리하세요.
리전 장애 복구에서는 허용된 데이터 위치와 전체 의존 관계를 확인하세요. ID, DNS, 인증서, 비밀 정보, 배포 아티팩트, 할당량, 네트워크 접근을 포함하세요. 필수 키 하나가 없는 복구 환경은 사용할 수 없을 수 있습니다.
누가 사건 발생을 선언하고, 복구를 수행하며, 복원된 서비스를 수락하는지 정하세요. 원래 환경으로 돌아갈지 복구 환경에서 계속 운영할지 계획하세요. 서로 다른 구성 요소의 쓰기가 충돌하지 않게 하고, 다시 전환하기 전에 데이터를 대조해 불일치를 해결하세요.
계획을 증거로 만드세요
운영 절차서를 작성하고 통제된 조건에서 훈련하세요. 시나리오, 데이터셋 크기, 시작 및 종료 시각, 복구한 데이터 시점, 실패한 단계, 담당자를 기록하세요. 안전한 테스트 레코드로 실제 비즈니스 작업을 검증하세요.
관련 변경 후와 합의한 일정에 따라 훈련을 반복하세요. 스키마 변경, 새로운 외부 의존성, 데이터량 변화는 이전 결과를 무효로 만들 수 있습니다. 훈련 증거를 릴리스와 운영 책임에 연결하세요.
실습하기
가상의 서비스가 10:00에 멈춥니다. 탐지에 8분, 결정에 12분, 복원에 25분, 검증에 10분이 걸립니다. 사용 가능한 최신 데이터는 09:40 시점입니다. 결과를 RTO 60분, RPO 15분과 비교하세요. 각 목표에 대해 개선책 하나를 제안하세요.
워크시트 다운로드(Markdown)이 선택을 해제하면 이 브라우저에 저장된 모든 진도가 삭제됩니다.
진도는 이 브라우저에만 저장됩니다. 계정과 추적은 없습니다.
출처 및 더 읽을 자료
- AWS: Define recovery objectives for downtime and data loss ↗
- AWS: Use defined recovery strategies ↗
- AWS: Testing disaster recovery ↗