4. 운영 백업/복구(재현 가능한 빌드 & 롤백)
2025. 12. 28. 23:43

Tech Note — React 4. 운영 백업/복구

Tech NoteReact4화 · 2025-12

0) React 운영에서 “백업”이 의미하는 것

React 앱은 보통 DB를 직접 들고 있지 않다. 그래서 백업의 핵심은 “정적 파일”이 아니라 재현 가능한 빌드와 배포다.

1) 필수 백업 1: 소스 + 락파일(재현 가능한 빌드)

  • Git 저장소(소스)는 당연히 백업(미러링/원격)
  • 락파일(package-lock.json / pnpm-lock.yaml)은 반드시 커밋
  • node_modules는 백업 대상이 아님(재설치가 원칙)
운영에서 “어제 빌드하던 게 오늘 빌드가 안 됨”은 대형 장애로 번질 수 있다. 락파일 + CI 빌드 재현성이 사실상 백업이다.

2) 필수 백업 2: 환경변수/배포 설정(비밀 분리)

프론트 .env는 노출될 수 있으므로 비밀정보 금지. 그렇다면 운영에서 “백업해야 할 환경변수”는 무엇일까?

  • 공개 가능 설정: API base path, 기능 플래그, 앱 이름 등
  • 비밀 설정: 토큰/키/비밀번호 → 프론트가 아니라 서버(또는 비밀 저장소)가 들고 있어야 함

3) 배포 아티팩트(dist) 보관 전략

  • 원칙: 소스+락파일로 언제든 동일 빌드를 재생성
  • 현실: 장애 대응 속도를 위해 “릴리즈 아티팩트(dist)”를 CI 산출물로 함께 보관하는 경우가 많음
  • 권장: 버전 태그(예: v1.4.3) + 아티팩트를 짝지어 보관

4) 롤백 시나리오(가장 현실적인 복구)

정적 SPA의 롤백은 단순해야 한다.

  1. 이전 버전 dist를 빠르게 서빙하도록 전환(심볼릭 링크/리비전 디렉터리)
  2. Nginx 캐시/브라우저 캐시 문제를 고려해 파일명 해시(기본)와 캐시 헤더 전략 점검
  3. 문제가 API/권한 쪽이면 프론트 롤백만으론 해결되지 않으므로 “백엔드/프록시”도 함께 롤백 플랜 수립
다음 글: Tech Note — React 5. 업그레이드 전략(React/Vite/Router/Node)