백업하고 복원하기
앱 데이터베이스를 특정 시점 스냅샷으로 남기고, 사고가 났을 때 그 시점으로 되돌려요.
앱 콘솔의 백업 탭에서 앱 전용 데이터베이스를 통째로 스냅샷으로 남기고, 필요할 때 그 시점으로 되돌려요.
스키마를 바꾸거나 데이터를 대량으로 손대기 전에 하나 남겨 두면, 잘못돼도 돌아올 자리가 생겨요.
앱 전용 데이터베이스를 쓰는 앱만 백업할 수 있어요. 화면만 있는 앱(정적 호스팅)에는 백업 탭이 아예 안 보여요. DB를 켜는 법은 데이터베이스 연결하기에 있어요.
백업은 세 자리로 나뉘어요
한 앱이 가질 수 있는 백업 자리가 정해져 있어요. 무한정 쌓이지 않아요.
| 자리 | 몇 개 | 누가 만드나요 |
|---|---|---|
| 고정 백업 | 최대 3개 | 내가 직접 "백업 만들기"를 눌러서 |
| 자동 백업 | 1개 (교체형) | 정해진 주기마다 자동으로 |
| 복원 전 자동 백업 | 1개 (교체형) | 복원을 실행할 때 자동으로 |
교체형이 핵심이에요. 자동 백업과 복원 전 백업은 최신 하나만 남고 다음 것이 덮어써요. 오래 남겨 두고 싶은 시점이 있으면 고정 백업으로 올려야 해요.
지금 백업 만들기
백업 만들기를 누르면 그 시점의 DB 전체가 고정 슬롯에 저장돼요. 진행은 비동기라 목록에서 대기 중 → 진행 중 → 완료로 상태가 바뀌어요.
- 메모를 달 수 있어요 (60자까지). 나중에 어느 시점인지 고를 때 이게 전부예요 — "결제 스키마 바꾸기 전"처럼 적어 두세요
- 고정 슬롯 3개가 다 차면 만들 수 없어요. 오래된 것을 먼저 지워야 해요
- 앱 하나에 백업·복원은 한 번에 하나만 돌아요. 진행 중이면 "현재 백업 중이에요"로 거절돼요
자동으로 정기 백업 받기
자동 백업은 기본으로 꺼져 있어요. 백업 탭에서 직접 켜요.
| 항목 | 고를 수 있는 것 |
|---|---|
| 주기 | 매일 또는 6시간마다 |
| 실행 시각 | 매일이면 실행 시각, 6시간마다면 기준 시각 (내 시간대로 고르면 돼요) |
자동 백업은 한 자리뿐이에요. 새 백업이 이전 것을 덮어쓰니, 되돌릴 수 있는 폭은 최대 한 주기(하루 또는 6시간)예요. 더 오래된 시점을 지키려면 그 백업을 고정 백업으로 보관해 두세요.
오래 남기고 싶을 때 — 고정하기
자동 백업이나 복원 전 백업 옆의 고정 백업으로 보관을 누르면 고정 슬롯으로 올라가요. 파일을 새로 만드는 게 아니라 자리만 옮기는 거라 즉시 끝나요.
올라간 뒤에는 자동으로 교체되지 않아요. 대신 고정 슬롯 3개를 차지해요.
그 시점으로 복원하기
목록에서 시점을 고르고 복원을 누르면 확인 창이 떠요. 운영 DB 전체를 그 백업 내용으로 덮어쓰는 작업이라 되돌리기 어려워요.
확인 창에서 알려 주는 것들이에요.
- 복원 직전에 지금 DB가 자동으로 백업돼요 — 시점을 잘못 골랐어도 돌아올 수 있어요
- 복원하는 동안 앱의 DB 접속이 잠시 끊겨요. 앱 자체는 재시작되지 않고, 끝나면 바로 회복돼요
- 실행하려면 앱 주소(slug)를 직접 입력해야 해요
앱 버전이 다르면 경고가 떠요. 백업을 만든 시점의 앱 버전과 지금 운영 버전이 다르면, 스키마가 안 맞아 앱이 오동작할 수 있어요. 코드까지 되돌리려면 배포 탭에서 그 버전으로 롤백을 따로 실행해야 해요 — 복원은 데이터만 되돌려요.
복원한 기록은 복원 기록 목록에 남아요. 어느 시점으로, 어떤 앱 버전에서, 누가 실행했는지가 함께 보여요. 원본 백업을 나중에 지워도 시점은 기록에 남아요.
덤프 파일 내려받기
완료된 백업은 덤프 파일로 내려받을 수 있어요. 로컬에서 열어 보거나 다른 곳으로 옮길 때 써요.
앱의 열람 정책이 잠겨 있으면 내려받을 수 없어요. 데이터 내용을 콘솔에서 못 보게 잠근 상태라 덤프도 막혀요 — 먼저 열람 정책을 풀어야 해요.
이렇게 보이면 성공
백업 탭의 고정 슬롯에 방금 만든 백업이 완료 상태로 뜨고, 크기와 만든 시각이 함께 보이면 돼요. 실패했다면 목록에 실패와 사유가 남아요 — 조용히 사라지지 않아요.