백업, 복구해 본 적 없으면 백업이 아닙니다
백업이 돌고 있다는 사실만으로는 아무것도 보장되지 않습니다. 복구해 본 적이 있는가가 유일한 기준입니다.
무엇을 백업하나
- 데이터베이스 — 가장 중요합니다
- 업로드된 파일 — 사용자가 올린 것
- 설정 파일 — 서버 설정, 환경변수(암호화해서)
- 인증서 — 재발급 가능하지만 있으면 빠릅니다
어디에 두나 — 같은 서버는 백업이 아닙니다
같은 서버에 백업 파일을 두면 서버가 죽을 때 같이 죽습니다. 반드시 다른 곳에 복제해야 합니다.
그리고 버전을 여러 개 남겨야 합니다. 데이터가 잘못된 채로 백업되면 최신본이 오히려 쓸모없습니다.
얼마나 자주
| 데이터 | 주기 | 이유 |
|---|---|---|
| 거래·결제 데이터 | 실시간~시간 단위 | 잃으면 복구 불가 |
| 일반 데이터 | 일 단위 | 하루치 손실 감수 가능 |
| 설정 | 변경 시 | 자주 안 바뀜 |
반드시 해봐야 하는 것
백업 파일로 실제 복구를 한 번 해보세요. 대부분 이 과정에서 문제를 발견합니다.
복구 절차를 문서로 남겨두면 급할 때 훨씬 빠릅니다.
백업 파일에는 개인정보가 들어 있습니다. 암호화하지 않은 백업을 아무 데나 두면 그 자체가 사고입니다.
3-2-1 원칙
백업의 고전적인 기준입니다. 작은 서비스에도 그대로 적용됩니다.
- 3벌 — 원본 포함 세 벌
- 2가지 매체 — 서로 다른 저장 방식
- 1벌은 원격 — 물리적으로 다른 곳
같은 서버 안에 백업을 두는 것은 백업이 아닙니다. 서버가 죽으면 함께 사라집니다.
복구 목표를 먼저 정하세요
| 질문 | 결정하는 것 |
|---|---|
| 얼마나 잃어도 되는가 | 백업 주기 (RPO) |
| 얼마나 빨리 복구해야 하는가 | 백업 방식 (RTO) |
| 얼마나 오래 보관하는가 | 세대 수 |
“하루치를 잃어도 된다”면 일 1회로 충분합니다. “한 시간도 안 된다”면 훨씬 복잡한 구성이 필요합니다. 이걸 정하지 않으면 과하거나 부족하게 만들게 됩니다.
데이터베이스 백업의 함정
- 파일 복사는 실행 중인 DB에서 손상될 수 있습니다 — 전용 덤프 도구 사용
- 덤프 중 잠금이 걸려 서비스가 느려질 수 있습니다 — 시간대 선택
- 대용량이 되면 덤프 자체가 오래 걸립니다 — 증분 방식 검토
- 복구 시간이 백업 시간보다 훨씬 깁니다
덤프 파일이 생성은 됐지만 내용이 비어 있는 경우가 있습니다. 크기만 확인해도 상당수를 걸러낼 수 있으니 백업 후 파일 크기 검증을 넣으세요.
복구 훈련 체크리스트
이 훈련을 반기에 한 번만 해도 실제 사고 때 대응 속도가 완전히 달라집니다.
- 백업 파일을 다른 환경에 내려받습니다
- 실제로 복원합니다
- 데이터가 온전한지 확인합니다 — 최근 레코드까지
- 걸린 시간을 기록합니다
- 막힌 부분을 절차서에 반영합니다
백업에도 보안이 필요합니다
| 항목 | 조치 |
|---|---|
| 암호화 | 저장 시 암호화. 키는 별도 보관 |
| 접근 권한 | 백업 저장소 접근 최소화 |
| 보관 기간 | 개인정보는 무한 보관 불가 |
| 폐기 | 기간 경과 백업 자동 삭제 |
백업에는 전체 사용자 데이터가 들어 있습니다. 운영 DB보다 오히려 관리가 소홀해지기 쉬운 곳입니다.
자주 묻는 질문
얼마나 오래 보관하나요?
최소 몇 세대는 유지하는 것이 안전합니다. 다만 개인정보가 든 백업은 보관 기간 규정을 함께 고려해야 합니다.
클라우드 스냅샷만으로 충분한가요?
편리하지만 같은 제공사 안에 있습니다. 계정 문제나 지역 장애에 대비하려면 별도 복제가 필요합니다.
백업 주기는 어떻게 정하나요?
잃어도 되는 시간으로 정합니다. 하루치를 다시 만들 수 있으면 일 1회로 충분합니다.
같이 보면 좋은 글
혼자 운영할 때 최소한으로 봐야 할 것모니터링을 거창하게 하면 안 봅니다. 정말 필요한 네 가지. 대시보드를 아무리 예쁘게 만들어도 안 보면 소용없습니다. 혼자라면…서버를 열어두면 바로 시작되는 공격들실제 로그에서 관찰되는 스캔 유형과 최소한의 방어. 서버를 인터넷에 열면 몇 분 안에 스캔이 시작됩니다. 유명하지 않아도 상관…도메인을 여러 개 갖고 있을 때 생기는 일만료·방치·중복. 도메인이 늘어날 때 실제로 생기는 문제와 정리 기준. 도메인은 사기 쉽고 관리하기 어렵습니다. 특히 쓰지 않…검색엔진이 들어오게 만드는 최소 설정콘텐츠를 아무리 써도 이게 없으면 발견되지 않습니다. 검색엔진은 발견 → 크롤 → 색인 순서로 움직입니다. 첫 단계에서 막히면…검색에서 읽히는 글의 구조잘 쓴 글과 검색에서 잘 읽히는 글은 구조가 다릅니다. 검색으로 들어온 사람은 답을 찾으러 온 것입니다. 서론이 길면…사용자 데이터를 다룰 때 코드보다 먼저 정할 것수집·보관·파기·이전. 나중에 붙이면 안 되는 설계. 개인정보 관련 기능은 나중에 붙이기 매우 어렵습니다. 시작할 때 정해두면…