롤백
Rollback · 되돌리기
롤백은 배포·설정·데이터 변경 뒤 문제가 생겼을 때 미리 정한 기준점으로 상태를 되돌리는 절차입니다. 백업 파일이 존재한다는 사실만으로 실제 복구 가능성과 허용 손실 범위가 확인되지는 않습니다.
AI 보조 조사·작성 후 원문과 대조한 설명입니다. 사례·계산은 별도 출처 표기가 없는 한 이해를 위한 가상 예시이며 실제 고객 성과가 아닙니다.
롤백 전에 무엇을 정해야 하나요?
대상과 기준점을 먼저 고정합니다. 애플리케이션 버전만 되돌릴지, 데이터베이스 스키마와 설정도 포함할지, 변경 후 생성된 데이터는 보존할지 결정합니다. PostgreSQL의 ROLLBACK은 현재 트랜잭션에서 발생한 갱신을 폐기하지만 트랜잭션 밖에서 이미 확정된 변경까지 되돌리는 명령은 아닙니다. PostgreSQL ROLLBACK 문서
실행 권한, 예상 시간, 중단 기준과 확인 쿼리도 계획에 포함합니다. 되돌린 뒤 로그인만 되면 성공이라고 보지 말고 핵심 업무 흐름과 데이터 일관성을 검사합니다.
CRM 가져오기를 되돌리는 예시는 무엇인가요?
가상으로 연락처 8,000건을 배치 ID import-1027로 가져왔다고 하자. 롤백 단위는 이 배치가 새로 만든 레코드, 기존 레코드에서 바꾼 필드, 연결한 회사 관계로 나눕니다. 신규 레코드 삭제는 가능해도 기존 값 덮어쓰기는 이전 값을 별도 보관하지 않았다면 복원할 수 없습니다.
따라서 실행 전 변경 전 스냅샷과 키를 저장하고, 실행 뒤에는 배치별 성공·실패 건수와 표본 값을 비교합니다. 이메일 발송이나 외부 웹훅처럼 시스템 밖으로 전달된 효과는 레코드를 지운다고 회수되지 않습니다.
어떤 변경은 롤백하기 어려운가요?
삭제된 원본, 단방향 해시, 외부 수신자에게 보낸 메시지, 이미 소비된 쿠폰, 제3자 API 호출은 비가역적일 수 있습니다. 스키마를 이전 버전으로 되돌려도 새 버전에서 저장한 값이 구버전 형식과 맞지 않을 수 있습니다.
Kubernetes Deployment는 이전 리비전으로 돌아갈 수 있지만 리비전 기록이 남아 있어야 하고, 별도 저장소의 데이터까지 함께 복구해 주지는 않습니다. Kubernetes 롤백 문서의 범위를 보면 애플리케이션 롤백과 업무 전체 복구를 구분해야 하는 이유가 드러납니다.
롤백과 백업 복원은 같은가요?
롤백은 변경을 취소하는 운영 절차이고 백업 복원은 저장된 사본으로 데이터를 재구성하는 방법입니다. 트랜잭션 롤백처럼 즉시 취소되는 경우도 있고 백업 복원을 롤백 계획의 수단으로 쓰는 경우도 있습니다. 복원 시점 이후의 정상 데이터가 사라질 수 있으므로 복구 시점 목표와 손실 허용 범위를 함께 정합니다.
실행 승인에 필요한 증거
- 되돌릴 버전과 데이터 시점이 식별돼 있는가?
- 롤백 명령을 시험 환경에서 실행했는가?
- 변경 뒤 생성된 정상 데이터를 보존할 방법이 있는가?
- 외부 발송·결제·웹훅의 후속 조치를 정했는가?
- 복귀 뒤 확인할 핵심 지표와 승인자가 정해졌는가?
롤백에 걸리는 시간이 허용 중단 시간보다 길다면 즉시 복귀 대신 기능 차단이나 우회 경로가 먼저일 수 있습니다. 선택 기준을 사고 중에 새로 만들지 않도록 사전에 적습니다.
애플리케이션은 이전 버전으로 복귀했지만 새 버전에서 추가한 필드와 외부 시스템으로 전달된 메시지가 남아 있다면 화면 정상화만 보고 완료하지 말고 데이터 일치 여부, 후속 처리와 고객 영향을 별도 확인해야 합니다.
자주 묻는 질문
- 백업이 있으면 롤백 테스트는 생략해도 되나요?
- 아닙니다. 백업의 완전성, 복원 시간, 권한과 외부 연동을 실제로 시험해야 합니다.
- 롤백 후 새 데이터는 어떻게 하나요?
- 변경 후 생성된 정상 데이터의 보존·재처리 방법을 미리 정합니다. 무조건 전체 덮어쓰기를 하면 추가 손실이 생길 수 있습니다.
- 배포 롤백이 끝나면 장애도 끝난 건가요?
- 서비스 지표와 핵심 흐름이 정상화됐는지 확인해야 합니다. 원인이 데이터나 외부 서비스에 있으면 배포 복귀만으로 해결되지 않습니다.
출처와 확인 범위
- ROLLBACK · PostgreSQL Global Development Group · 확인 2026-10-27
현재 트랜잭션의 갱신을 폐기하는 ROLLBACK 동작을 설명합니다.
확인 범위: 이미 커밋된 변경과 외부 시스템 효과에는 적용되지 않습니다.
- Deployments: Rolling Back a Deployment · Kubernetes · 확인 2026-10-27
Deployment의 이전 리비전 복귀와 리비전 기록을 설명합니다.
확인 범위: Kubernetes 워크로드 범위이며 데이터베이스 복구를 포함하지 않습니다.