데이터 보호와 복구 가이드

고객 준비 가이드 11분 읽기backupdata-safetydisaster-recoverydocsmodel-anthropic-claude-opus-5-5public-doc

DUOLABS 가 만들고 운영하는 업무 시스템에서 고객사 데이터를 어떻게 나눠 두고, 바꿀 때 어떻게 지키고, 문제가 생기면 어떻게 되살리는지 정리한 운영 기준입니다. 고객사 IT 담당자나 발주를 검토하시는 분이 읽으시도록 썼습니다. 직원분들께 드리는 쉬운 설명은 「개발 서버와 운영 서버 가이드」에, 백업 주기·보관 기간·복구 목표를 정하는 법은 「보안 기준: 백업과 복구」에 있습니다.

기본 형태와 고도화 형태

이 문서의 장치는 두 갈래입니다. 기본 형태는 운영을 맡는 모든 서비스에 둡니다. 고도화 형태는 데이터 양·업무의 무게·예산에 맞춰 고객사와 골라 더하는 선택 사항이며, 범위와 비용은 운영 계약에서 정합니다. 본문에서 고도화 항목에는 (고도화) 를 붙였습니다.

영역 기본 형태 고도화 형태 (선택)
환경 개발자 PC · 개발 서버 · 운영 서버를 나누고 데이터베이스도 따로 스테이징(최종 확인 환경)을 하나 더
개발 서버의 데이터 가상 자료 운영 자료를 가린 사본(고객사 명의 계정 안, 정기 교체)
백업 데이터베이스 서비스의 자동 백업 + 구조를 바꾸는 반영 직전 백업(되살려 확인) 매일 별도 백업을 뜨고 빈 데이터베이스에 되살려 확인, 특정 시점 복구
구조를 바꾸는 반영 나눠서 반영 + 직전 백업 확인 없이는 진행 안 됨 운영 백업으로 일회용 데이터베이스에서 먼저 리허설
복원 연습 구축 단계에서 한 번 분기마다
기록 감사 기록(누가·언제·무엇), 지우지 않고 끄기 감사 기록 정기 점검 보고

기본 형태만으로도 운영 데이터는 개발·시험과 섞이지 않고, 구조를 바꾸는 반영은 되살릴 수 있는 백업 없이는 나가지 않습니다. 고도화는 손실 범위를 좁히고 확인을 운영과 더 같은 조건에서 하는 것입니다.

1. 환경과 각자의 데이터

개발자 PC 개발 서버 운영 서버
하는 일 기능을 만든다 실제와 같은 환경에서 확인한다(시험 서버 겸) 고객사가 매일 쓴다
데이터베이스 개발자 PC 안의 시험용 개발용(따로) 고객사 명의 계정의 운영용
데이터 시험·가상 자료 가상 자료 · (고도화) 운영 자료를 가린 사본 실제 업무 데이터
언제 바뀌나 수시로 기능을 올릴 때마다 고객사와 합의한 반영 때만
  • 데이터베이스는 환경마다 따로 둡니다. 두 환경이 데이터베이스를 함께 쓰면, 개발 중의 구조 변경과 시험 입력이 곧바로 운영 데이터가 되기 때문입니다.
  • 고객사 데이터는 고객사 명의 계정 안에 둡니다. 운영 자료로 만든 사본(고도화)을 두는 경우 그 사본도 고객사 명의 밖으로 내보내지 않습니다.
  • (고도화) 반영 전에 고객사가 직접 확인·승인하는 절차가 필요하면, 개발 서버와 별도로 스테이징(운영과 같은 조건의 최종 확인 환경)을 둡니다.

2. 데이터 원칙

  • 자료는 앞으로만 흐릅니다. 운영 → (가려서) 개발 방향만 있고, 개발 쪽 자료를 운영으로 옮기는 일은 하지 않습니다.

  • 운영 데이터는 지우지 않고 끕니다. 업무 기록은 실제로 지우는 대신 「취소」·「숨김」·「비활성」 상태로 둡니다.

  • 누가 무엇을 바꿨는지 남깁니다. 시스템 안의 감사 기록에 사람·시각·바뀐 값이 남고, 화면에서 지울 수 없습니다.

  • 백업 파일도 고객 데이터입니다. 운영 데이터와 같은 수준으로 지키고, 다른 곳(메신저·메일·개인 저장소)으로 보내지 않습니다.

  • (고도화) 개발 서버에 가린 사본을 쓸 때는 실제 양과 모양은 그대로 두고 아래를 가립니다.

    • 사람의 연락처(전화·메일)와 이름 일부
    • 금액(단가·원가 등)
    • 자유롭게 적는 글 칸(메모·비고) — 사람이 전화번호나 이름을 적어 두는 일이 흔해 통째로 비우거나 바꿉니다
    • 로그인 계정과 비밀번호는 가져오지 않고 환경마다 따로 정합니다

    사본은 큰 반영 직전과 정기적으로(예: 한 달에 한 번) 운영 백업에서 다시 만듭니다.

3. 반영 절차

일반 반영

  1. 개발자 PC 에서 만들고 개발 서버에 올려 확인합니다.
  2. 고객사와 반영 시점을 정합니다(업무가 몰리는 시간을 피합니다).
  3. 운영에 반영하고, 반영 기록과 주요 화면을 확인합니다.
  4. 화면이 바뀌었으면 시스템 안의 매뉴얼 「바뀐 것」에 적습니다.

데이터 구조를 바꾸는 반영

데이터베이스의 구조(칸)를 바꾸거나 저장된 값을 일괄로 바꾸는 반영은 단계를 더 거칩니다.

  1. 나눠서 반영합니다 — 더하기 → 옮기기 → (며칠 뒤) 지우기. 한 번에 지우지 않습니다.
  2. 반영 직전 백업 — 백업을 뜨고 되살아나는지 확인합니다. 이 백업이 없으면 반영 절차가 그 단계에서 멈추게 되어 있습니다.
  3. (고도화) 리허설 — 운영 백업을 일회용 데이터베이스에 되살려 같은 변경을 먼저 적용해 보고, 걸린 시간과 바뀐 건수를 확인한 뒤 그 데이터베이스는 지웁니다.
  4. 반영 후 기록과 화면을 확인합니다.

긴급 수정

운영에서만 생긴 문제는 운영 코드에서 바로 고쳐 반영하고, 같은 수정을 개발 쪽에도 합칩니다(다음 반영 때 문제가 되살아나지 않게). 원인과 조치는 기록으로 남깁니다.

4. 복구 시나리오

복구 목표는 고객사와 정합니다. 얼마만큼의 손실을 감수할 수 있는지(복구 목표 시점)와 얼마 안에 다시 써야 하는지(복구 목표 시간)는 업무의 무게와 비용에 따라 다릅니다. 정하는 법은 「보안 기준: 백업과 복구」에 있습니다. 출발점으로 제안하는 값은 다음과 같습니다.

기본 형태 고도화 형태
데이터 손실 최대 하루치(데이터베이스 서비스의 일일 백업 기준) 특정 시점 복구로 분 단위까지
다시 쓰기까지 구축 단계의 복원 연습에서 잰 시간 분기 연습으로 잰 시간, 목표 1시간

모든 경우의 공통 순서: 멈춘다 → 범위를 잰다 → 알린다 → 되돌린다 → 다시 안 생기게 한다. 더 고치려다 덮어쓰는 일이 가장 위험하므로, 먼저 문제를 만든 반영·작업을 멈춥니다.

상황 신호 조치
잘못된 반영 — 프로그램만 문제 반영 직후 화면 오류, 데이터는 그대로 바로 앞 버전으로 되돌린 뒤 원인을 고쳐 다시 반영
잘못된 데이터 변경 구조 변경 반영 뒤 값이 이상함 쓰기를 막고 → 반영 직전 백업을 시험 환경에 먼저 되살려 확인 → 운영 복원 → 백업 이후 들어온 입력은 기록에서 찾아 다시 넣음
사람의 실수 — 몇 건 잘못 넘김·잘못 고침 화면에서 되돌립니다(감사 기록의 이전 값이 기준). 데이터베이스를 손으로 고치지 않습니다
큰 손상·삭제 많은 건이 지워지거나 틀어짐 백업을 시험 환경에 되살려 그 부분만 골라 운영에 다시 넣습니다(통째 복원보다 피해가 작을 때)
데이터베이스 서비스 장애 모든 화면이 데이터 오류 업체 상태 확인·고객사 안내, 길어지면 최신 백업으로 새 데이터베이스를 세워 옮깁니다
비밀값 노출 의심 접속 정보·키가 밖에 보였을 수 있음 무엇이 어디에 남았는지 확인 → 돈·자료가 나갈 수 있는 것부터 교체 → 옛 값이 막혔는지 확인
백업 이상 새 백업이 오래 없음, 되살리기 실패 바로 손으로 백업을 뜨고 되살아나는지 확인한 뒤, 백업이 멈춘 원인을 찾습니다
개발·시험 환경 고장 개발 서버 오류 운영과 무관합니다. 비우고 가상 자료(또는 가린 사본)로 다시 채웁니다

백업은 되살려 봐야 백업입니다. 파일을 떠 두는 것으로 끝내지 않고, 빈 데이터베이스에 실제로 되살려 표와 건수가 맞는지 확인합니다. 이 확인을 통과하지 못한 백업은 없는 것으로 봅니다.

5. 정기 점검

주기 기본 형태 고도화 형태
반영 때 구조를 바꾸는 반영 직전 백업과 되살려 보기 + 리허설
매일 데이터베이스 서비스의 자동 백업 별도 백업과 되살려 보기
매달 계정과 권한 정리 지원 감사 기록 점검(로그인 실패, 근무 시간 밖 변경, 삭제, 데이터 내보내기) 보고, 개발 서버의 가린 사본 교체
분기 — 복원 연습 — 백업으로 빈 데이터베이스를 세워 서비스가 뜨는지 보고, 걸린 시간을 목표와 견줍니다
구축 때 복원 연습 한 번 —

6. 고객사와 나누는 역할

DUOLABS 고객사
환경 구성·백업·반영·장애 대응, 고른 고도화 항목의 운영 반영 시점 합의, 반영 전 확인(필요한 경우 승인), 고도화 항목 선택
개발 서버 자료 관리(가상 자료 또는 가린 사본) 개발 서버에 실제 자료를 입력하지 않기(시험용)
감사 기록 점검 지원, 계정 정리 지원 계정은 사람마다 하나, 퇴사자 계정 정리, 이상하면 바로 알리기
사고 시 숨기지 않고 즉시 알림 고객사 명의 계정(데이터베이스·도메인)의 결제와 관리 권한

자주 묻는 질문

기본 형태로도 괜찮을까요?
하루 입력이 많지 않고, 하루치를 잃더라도 종이·엑셀 기록으로 다시 넣을 수 있는 업무라면 기본 형태로 시작하는 것을 권합니다. 입력이 늘거나 손실이 곧 돈이 되는 업무가 되면 백업과 복원 연습부터 고도화합니다.

개발 서버에 우리 실제 데이터가 있나요?
기본 형태에서는 없습니다(가상 자료). 가린 사본을 고른 경우에는 연락처·금액·자유 글을 가린 사본이 있고, 계정은 따로이며, 사본도 고객사 명의 계정 안에 둡니다.

백업은 어디에 있나요?
고객사 명의 데이터베이스 서비스의 백업과, 구조를 바꾸는 반영 직전에 뜨는 백업이 있습니다. 백업 파일은 권한을 잠근 곳에 두고 다른 곳으로 보내지 않습니다. 자세한 주기와 보관 기간은 운영 계약에서 정합니다.

반영하다 문제가 생기면 얼마나 걸려 되돌리나요?
프로그램만의 문제는 몇 분 안에 앞 버전으로 되돌립니다. 데이터 문제는 반영 직전 백업으로 되살리며, 걸리는 시간은 복원 연습에서 잰 시간을 기준으로 안내드립니다.

관련 문서

마지막 수정:

재사용하실 때는 출처(Duolabs)와 이 문서의 정식 URL을 표시해 주세요.