장애 복구 계획

장애 복구 계획

안정성 설계 원칙은 장애나 재해와 같은 비정상적인 시스템 운영 상황에서 데이터 손실을 최소화하고, 가능한 한 빠르게 서비스를 복구할 수 있는 능력을 중심으로 다루고 있습니다.

가용성 설계 원칙이 단일 구성 요소의 장애 발생 시, 이중화 등의 고가용성 설계를 통해 자동 장애 대응 기능(Fail-Over)을 사전에 준비하는 데 중점을 두었다면, 안정성 설계 원칙은 이미 발생한 장애나 재해에 대한 사후 대응 전략을 다룹니다.

이러한 안정성 설계는 계획되지 않은 서비스 중단 상황을 주요 대상으로 하며, 정보 시스템의 일부 구성 요소 또는 전체가 회복이 어려운 고장이나 중단 상태에 이르렀을 때, 복원력(Resiliency)을 확보하는 데 중점을 둡니다.

서비스가 중단되는 원인의 유형에 따라, 그에 대한 회복 대응 방안 역시 달라질 수밖에 없습니다.

본 문서에서는 서비스 중단의 원인을 ‘장애’와 ‘재해’로 구분하고, 각각에 대한 대응 방안을 구체적으로 설명합니다.

먼저, ‘장애’는 정보기술 서비스 관리 측면에서 통제가 가능한 요인에 초점을 맞춘 개념입니다.

여기에는 자연 재해나 인적 재해와 같은 통제 불가능한 요인은 포함되지 않습니다.

다시 말해, 인적 장애, 시스템 장애, 기반 구조 장애(운영 장애, 설비 장애 등 포함)와 같이 직접적인 영향을 미치는 통제 가능한 요인으로 인해 발생하는 정보 시스템의 기능 저하, 오류, 고장 등을 의미합니다.

반면, ‘재해’는 정보기술 외부에서 발생하는 예방이나 통제가 어려운 사건으로 인해 정보기술 서비스가 중단되는 것을 말합니다.

또한 정보 시스템의 장애로 인해 예상되는 복구 시간이 허용 가능한 범위를 초과하여 정상적인 업무 수행에 지장을 초래하는 피해도 재해에 해당됩니다.(TTA, 정보 시스템 재해 복구 지침)

구분재해장애
원인의 발생 위치정보기술기반 외부정보기술기반 내부
예방 및 통제불가능가능
정보기술기반의 손상 규모한 사이트 전체사이트 내에서 부분적
대응 조직의 수준전사적 수준정보 시스템 관리부서 수준
시스템 복구 예상 소요시간중, 장기(수일 이상)단기(수시간)
표. 재해와 장애

다양한 유형의 장애 가운데 일부는 비교적 짧은 시간 내에 정상 상태로 복구가 가능한 경우도 있으며, 중요도가 낮은 업무에 발생한 경우에는 즉각적인 복구가 요구되지 않을 수도 있습니다.

하지만 어떤 장애는 고객 서비스와 같은 핵심 업무에 직접적인 영향을 미칠 뿐만 아니라, 장시간 지속될 경우 금전적인 손실은 물론 조직의 대외 이미지에도 심각한 타격을 줄 수 있습니다.

이러한 이유로, 중요도가 높은 장애에 대해서는 일반적인 장애 관리 절차 외에도 보다 집중적인 관리와 대응 체계가 필요합니다.

장애 관리에서 비상 상황이란, 업무에 미치는 영향 범위가 넓고 신속한 복구가 요구되는 시스템에 장애가 발생했을 때, 허용된 시간 내에 복구가 어려워 통제가 불가능한 재해로 이어질 가능성이 있는 상황을 의미합니다.

이러한 비상 상황에 효과적으로 대응하기 위해서는, 사전에 비상 상황 발생 시의 대응 방안을 마련해 두는 것이 무엇보다 중요합니다.

개념도
그림. 일반적인 장애와 비상 상황의 연결(TTA, 정보시스템 장애관리 지침)

장애가 발생한 경우, 가장 먼저 해야 할 일은 해당 장애의 경중을 신속하게 파악하는 것입니다.

장애의 경중은 장애 등급으로 표현하는데, 이 때, 장애 등급은 장애가 주요 업무에 미치는 영향과 복구의 긴급성을 기준으로 결정됩니다.

이때, 각 장애 등급별로 복구 가능성과 예상 복구 시간을 사전에 추정해 두어야 하며, 이를 바탕으로 비상 상황 선언 여부를 판단하게 됩니다.

이러한 장애 등급의 분류는 장애 상황을 관계자들과 명확히 공유하고, 적절히 대응하기 위해 객관적인 기준에 따라 도출되어야 합니다.

만약 허용된 시간 내에 복구가 불가능하다고 판단될 경우에는 ‘재해’를 선언하고, 사전에 수립된 재해 복구 계획에 따라 절차를 이행해야 합니다.

이 때, 허용된 복구 시간은 조직의 특성에 따라 다를 수 있으며, 특정 산업 분야에서는 상위 감독 기관이 기준을 제시하기도 합니다.

예를 들어, 금융감독원에서는 금융기관별로 재해 복구를 포함한 완전 복구 가능 시간(복구 목표 시간)을 다음과 같이 권고하고 있습니다.

주요 금융기관은 재해 발생 후 3시간 이내에 완전 복구가 가능하도록 권고되고 있습니다.

기관복구 시간비고
은행 및 증권3시간 이내
금융공동망 운영기관,
공인인증센터
3시간 이내금융결제원, 증권전산
증권유관기관,
통합시스템 운영기관
3시간 이내증권거래소, 선물거래소, 코스닥 시장증권, 증권예탁원, 금고 연합회
보험24시간 이내외국보험사 포함
외국계 금융기관자율복구시간공개, 비상사태대응방안 제출
기타 금융기관자율비상사태대응방안 제출
표. 금융기관별 복구 시간(TTA, 정보 시스템 장애 관리 지침)

백업 정책 구성 및 자동화

모범 사례
업무 중요도에 따라 백업 정책을 수립하고 백업 수행을 자동화합니다.

백업은 가장 일반적인 데이터 보호 조치로, 서버 고장, 정전, 지진 등의 재해 상황, 외부 공격 및 위변조 등으로 인한 원본 데이터의 손상이나 유실에 대비하여 안전한 별도의 저장장치에 데이터를 복사하는 것을 의미합니다.

백업은 조직의 데이터 보호 및 복구 전략에서 중요한 요소로, 데이터 손실을 최소화하기 위해 주기적으로 수행됩니다.

백업 주기는 업무 중요도에 따라 손실을 허용할 수 있는 기간을 고려해 설계됩니다.

백업은 정기적인 일정 또는 데이터 세트의 변경에 따라 자동으로 생성되도록 구성해야 하며, 이를 통해 조직은 데이터 손실을 최소화하고 복구 시점을 최적화할 수 있습니다.

중요한 데이터 세트는 손실 허용 범위가 작기 때문에 자주 자동으로 백업되어야 합니다.

반면, 일부 손실을 감수할 수 있는 중요도가 낮은 데이터는 더 낮은 빈도로 백업해도 됩니다.

백업 정책 설계할 때는 백업 가능 시간을 반드시 고려해야 합니다.

백업 가능 시간은 실제로 백업을 수행할 수 있는 시간을 의미하며, 이를 결정할 때는 다음 두 가지 요소를 고려해야 합니다.

  • 백업 시간 동안 업무 영향도 최소화
    일반적으로 일 단위 백업 정책의 경우, 업무 종료 시점부터 다음 날 업무 개시 전까지의 시간대에 백업을 수행하도록 합니다.
    이는 백업 시 발생하는 서버 부하 등이 실제 업무에 영향을 미치지 않도록 하기 위함입니다.
    주 단위 백업 정책의 경우, 주말 시간을 활용해 백업을 수행하도록 설정합니다.

  • 백업된 데이터의 복구 시 유효성
    데이터 백업 시점에 따라, 복구 시 해당 백업 데이터의 유효성이 달라질 수 있습니다.
    예를 들어, 배치 작업을 수행하는 경우, 백업 시점이 배치 작업의 수행 전인지 후인지에 따라 복구 시 추가 작업 여부가 달라질 수 있습니다.
    이는 완전 복구까지의 소요시간에도 영향을 줍니다. 따라서 업무의 특성을 고려하여 적절한 백업 시간을 설정해야 합니다.

설계 원칙
  1. Backup 서비스를 이용하여 Virtual Server를 백업합니다.
  2. Database 서비스의 내장 백업 기능을 통해 데이터베이스를 백업합니다.
  3. 스냅샷 및 버전 관리를 활성화하여 Storage 데이터 보호를 수행합니다.

Samsung Cloud Platform에서 제공하는 Backup 서비스 및 기능은 다음 표와 같습니다.

복구 목표 시점(RPO)을 설계할 때는, RPO를 고려하여 저장소를 선택하거나, 저장소의 백업 스케줄을 고려하여 RPO를 검토할 수도 있습니다.

백업 대상
서비스
백업 기능백업 방식백업 스케줄백업본
보존 기간
백업본
저장소
Virtual ServerBackup 서비스VM 스냅샷 전체 또는 증분 백업일/주/월2주~1년Samsung Cloud Platform 관리 저장소
Bare Metal ServerBackup 서비스파일 시스템 에이전트 백업일/주/월2주~1년Samsung Cloud Platform 관리 저장소
DBaaS내장 기능DB 기반 백업데이터: 1일
아카이브: 5분~1시간
7일~35일사용자 관리 Object Storage
File Storage내장 기능스냅샷일/주자동:128개
수동:800개
File Storage 내부
Object Storage내장 기능버전 관리변경 발생 즉시제약 없음버킷 내부
표. Samsung Cloud Platform 서비스별 백업 방식

서버 백업 아키텍처

아래 아키텍처는 Samsung Cloud Platform에서 구현한 서버 백업 및 백업 DR 아키텍처입니다.

구성도
그림. 서버 백업 및 DR 아키텍처
  1. Virtual Server를 백업하기 위해 Backup 서비스를 생성하면, Backup 서비스는 Virtual Server를 스냅샷하여 이미지를 백업본으로 저장하며, 백업본을 원격지에 소산할 수도 있습니다.
    복구는 특정 시점의 백업 사본으로 새로운 Virtual Server를 생성하는 방식으로 수행합니다.

  2. 백업 생성 시 DR 옵션을 활성화하면, 주 사이트에서 백업을 수행할 때 DR사이트에 백업본이 복제됩니다.
    DR 옵션은 이미 생성된 Backup 서비스에 활성화할 수 없으며, DR을 구성하려면 새로운 Backup 서비스를 생성해야 합니다.

  3. Bare Metal Server는 Agent 방식의 백업을 구성할 수 있습니다.

데이터베이스 백업 아키텍처

Database 서비스는 기본적으로 데이터베이스 백업 기능이 제공됩니다.

구성도
그림. 데이터베이스 백업

데이터베이스 백업은 데이터 백업과 아카이브 백업을 모두 수행합니다.

  1. 백업본은 사용자가 직접 Object Storage 버킷을 생성하여 저장소로 지정해야 합니다.
    백업본 복구 시에는 기존 서버에 직접 백업본을 복원하지 않습니다.
  2. 백업본으로 새로운 데이터베이스를 생성합니다.
    생성한 데이터베이스를 Master 데이터베이스로 전환합니다.

스토리지 백업

Samsung Cloud Platform File Storage는 스냅샷과 디스크 백업 두 가지 방식을 사용하여 데이터를 보호합니다.

두 방식 모두 File Storage의 저장소를 백업 사본의 원본으로 사용하며, 스케줄링을 통하여 백업 사본을 생성할 수 있습니다.

개념도
그림. File Storage 스냅샷 복구

그림과 같이 서버에 Mount된 File Storage의 스냅샷(/.snapshot)을 확인할 수 있습니다.

스냅샷 경로에서 확인하면 스냅샷을 수행한 해당 시점의 디렉토리와 파일을 확인할 수 있고, 복구가 필요한 디렉토리 또는 파일을 찾아 복구를 수행할 수 있습니다.

Object Storage는 데이터를 보호하기 위해 백업 방식을 사용하지 않고, 객체에 대한 변경 사본을 저장하는 버전 관리 방식을 제공합니다.

버전 관리 방식을 활성화하면 객체가 변경될 때마다 이전 버전의 객체를 모두 저장하여, 필요 시 변경 기록을 확인할 수 있습니다.

백업 보호 및 암호화

모범 사례
백업 사본을 안전하게 관리하여, 데이터 보호와 무결성을 보장합니다.

백업의 주요 목적은 조직의 중요 데이터를 손실되지 않도록 보호하는 것입니다.

중요 데이터는 조직이 업무 영향도에 따라 정하며, 주로 조직의 핵심 서비스에 직결된 업무와 연관되어 있으며, 때로는 법률에 의해 필수적으로 보존해야 하는 데이터도 있습니다.

다음 표는 기업, 공공 기관, 의료 기관에서 필수적으로 보존해야 하는 자료와 그에 따른 보존 연한 예시를 보여주고 있습니다.

조직자료보존 연한근거
기업상업 장부 및 영업 주요 서류10년상법 33조
기업전표5년상법 33조
기업근로자 명부 및 근로 계약 서류3년근로기준법 42,91조
기업법인의 거래 장부 및 거래 서류5년국세기본법 85조 3
기업대리점 계약서거래 종료 후 3년대리점 거래 공정화에 관한 법률 5조
기업하도급 거래 관련 서류거래 종료 후 3년하도급 거래 공정화에 관한 법률 3조
기업산업안전 관련 서류3년산업안전보건법
기업개인정보불필요 시 즉시 파기개인정보보호법 21조
공공 기관공공기관이 업무와 관련하여 생산하거나 접수한 문서ㆍ도서ㆍ대장ㆍ카드ㆍ도면ㆍ시청각물ㆍ전자문서 등 모든 형태의 기록정보 자료와 행정박물영구/준영구/30년/10년/5년/3년/1년공공기록물 관리에 관한 법률 및 시행령
의료 기관진료 기록부 / 수술 기록10년의료법 시행규칙 15조
의료 기관환자명부, 방사선 사진, 검사 기록, 간호 기록 등5년의료법 시행규칙 15조
의료 기관처방전2년의료법 시행규칙 15조
표. 필수 보존 자료 및 보존 연한 예시

온프레미스 환경에서는 사이트 재해에 대비하여 원격지의 안전한 장소에 백업 사본을 보관(소산)합니다.

클라우드에서는 백업 사본을 안전하게 관리하기 위해 백업 사본에 대한 접근 제어를 구성하거나, 백업 사본의 암호화 구현을 통해 무결성을 유지하고, 백업 DR(재해 복구)을 통해 사이트의 재해에도 대비합니다.

설계 원칙
  1. Archive Storage, Multi-AZ, DR 구성을 통해 단일 지점/사이트의 장애나 재해로 인한 백업 사본의 손실을 방지합니다.
  2. 백업 저장소의 접근 제어와 암호화를 통해 백업 데이터의 무결성을 보장합니다.

개념도
※ Multi-AZ 및 Object Storage Region 간 Replication은 향후 출시 예정(‘26년)

  1. 백업본이 저장된 Object Storage의 버킷을 Archive Storage로 아카이빙하여 장기 보존합니다.

  2. Object Storage를 Multi-AZ에 배포하여 한 가용영역의 장애에 대비합니다.

  3. DR 복제를 구현하여 Region 재해 시 데이터 손실을 대비합니다.

  4. 백업 사본에 무단 접근을 막기 위해 접근 서버, IP 주소, 엔드포인트를 지정하여 접근 제어를 설정하거나,

  5. 버킷 암호화를 설정하여 데이터의 무결성을 보장합니다.

장애 시 복구 계획 수립

장애로 인한 서버 및 데이터 손실에 대비하여, 다음과 같은 복구 계획을 수립할 수 있습니다.

단계주요 활동
1단계
상황 평가
- 문제 식별: 시스템 중단이나 데이터 손실의 원인 파악
- 영향 범위 파악: 영향을 받은 시스템과 데이터 범위 평가
2단계
복구 계획 실행 준비
- 복구 수행팀 소집: 복구 작업을 수행할 전문 인력 확보
- 복구 데이터 확인: 대상 서비스의 백업 정책, 백업 도구, 최근 사본 현황 확인
- 복구 환경 준비: 복구를 위한 네트워크 환경 결정(기존 네트워크, 신규 네트워크)
3단계
복구 수행
- 복구를 위한 클라우드 인프라 구성: VPC, 서버넷, Security Group, 스토리지
- 복구 수행: 선택 백업 사본을 이용하여 복구 수행
4단계
테스트 및 검증
- 복구된 데이터와 시스템 정상 작동 테스트: 데이터 무결성, Application 기능, 네트워크 연결 등
- 실제 사용자에 의해 정상적 업무 가능 여부 확인
5단계
정상화 보고
- 모든 시스템과 데이터의 정상 작동 확인 후, 시스템 정상화
- 복구 절차 및 결과 보고서 작성
- 복구 작업 중 발생한 문제 해결 방법 및 향후 개선 사항 등 기록
표. 장애 복구 절차

데이터 백업 복구 테스트

모범 사례
정기적으로 복구를 테스트하여, 목표한 복구 목표 시간(RTO)과 복구 목표 시점(RPO)를 충족하는지 검증합니다.

데이터 백업 복구 테스트는 복구가 정상적으로 수행되는지 점검하는 중요한 과정입니다.

정보보호 규정에 따라 백업을 수행하더라도, 정기적인 점검이 이루어지지 않으면 장애 발생 시 계획대로 데이터를 복구하기 어려울 수 있습니다.

따라서 정기적으로 백업에 대한 복구 테스트를 실시하여 복구한 시스템이 정상 작동하는지 점검해야 합니다.

설계 원칙
  1. 백업 데이터 원본과 데이터 복제본을 확인하여 자동화된 백업이 정상적으로 수행되었는지 확인하고, 데이터 유효성을 검증합니다.
  2. 복구 테스트를 위한 환경을 구성하고, 복구 훈련을 수행합니다.
  3. 데이터 복구가 실패하거나 목표한 RTO와 RPO에 부합하지 않을 경우 백업 검증 작업과 개선을 수행합니다.