Blaze 요금제 사용자는 자동 백업을 위해 Firebase Firebase Realtime Database를 설정하여 데이터베이스 애플리케이션 데이터와 규칙을 JSON 형식으로 Cloud Storage 버킷에 매일 백업하는 셀프서비스 기능을 사용할 수 있습니다.
설정
시작하려면 Firebase Console의 데이터베이스 섹션에서 백업 탭으로 이동합니다. 그러면 자동 백업 설정을 안내하는 마법사가 표시됩니다.
스토리지 비용을 절약하기 위해 Gzip 압축이 기본적으로 사용 설정되며, 버킷에 30일 수명 주기 정책을 사용 설정하면 30일이 경과한 백업을 자동으로 삭제할 수 있습니다.
Firebase 콘솔에서 상태 및 백업 활동을 직접 확인할 수 있으며 수동 백업을 시작할 수도 있습니다. 이 기능은 특정 시간의 스냅샷을 생성할 때나 코드를 변경하기 전에 안전 조치로 유용하게 사용할 수 있습니다.
백업을 설정하면 Firebase에 작성자 권한이 제공되어 새 Cloud Storage 버킷이 자동으로 생성됩니다. Firebase에 액세스 권한을 부여하고 싶지 않은 데이터는 이 버킷에 저장하지 마세요. Firebase는 다른 Cloud Storage 버킷이나 Google Cloud의 다른 영역에는 추가로 액세스할 수 없습니다.
백업에서 복원
백업에서 Firebase를 복원하려면 먼저 Cloud Storage의 파일을 로컬 디스크에 다운로드합니다. 이렇게 하려면 백업 활동 섹션 또는 Cloud Storage 버킷 인터페이스에서 파일 이름을 클릭합니다. 파일이 Gzip으로 압축되었다면 먼저 파일의 압축을 풉니다.
데이터를 가져오는 방법은 두 가지입니다.
방법 1: 데이터베이스의 데이터 섹션에서 'JSON 가져오기' 버튼을 클릭하고 애플리케이션 데이터 JSON 파일을 선택합니다.
방법 2: 명령줄에서 CURL 요청을 실행할 수도 있습니다.
우선 Firebase에서 보안 비밀을 검색합니다. 데이터베이스 설정 페이지를 방문하여 확인할 수 있습니다.
그런 다음 터미널에 다음을 입력합니다. 여기에서 DATABASE_NAME
및
SECRET
필드에 값을 입력하세요.
curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -x PUT -d @<DATABASE_NAME>.json
초대형 데이터베이스에서 백업을 복원하는 데 문제가 있으면 지원팀에 문의하시기 바랍니다.
예약
데이터베이스 일일 백업은 모든 백업 고객을 고려하여 부하를 분산하고 가용성을 극대화할 수 있는 특정한 시각으로 지정됩니다. 이러한 예약 백업은 당일에 수동 백업을 했는지에 관계없이 진행됩니다.
파일 이름 지정
Cloud Storage 버킷으로 전송된 파일에는 ISO 8601 표준에 따라 타임스탬프가 지정되고 다음과 같은 명명 규칙이 사용됩니다.
- 데이터베이스 데이터:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
- 데이터베이스 규칙:
YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json
Gzip을 사용 설정하면 파일 이름에 .gz
서픽스가 추가됩니다. Cloud Storage 프리픽스 검색을 사용하면 특정 날짜 또는 시간에 생성된 백업을 손쉽게 찾을 수 있습니다.
Gzip 압축
저장소 비용을 절약하고 전송 시간을 줄이기 위해 기본적으로 백업 파일은 Gzip으로 압축됩니다. 압축된 파일 크기는 데이터베이스의 데이터 특성에 따라 다르지만, 일반적인 데이터베이스는 원래 크기의 ⅓까지 축소될 수 있으며 스토리지 비용 및 백업 업로드 시간이 그만큼 절약됩니다.
Gzip으로 압축된 JSON 파일의 압축을 풀려면 OS-X 및 대부분의 Linux 배포에 기본적으로 포함되는 gunzip
바이너리를 사용하여 명령줄 명령어를 실행합니다.
gunzip <DATABASE_NAME>.json.gz # Will unzip to <DATABASE_NAME>.json
스토리지 30일 수명 주기
Cloud Storage 버킷에 기본적인 30일 객체 수명 주기 정책을 사용 설정하는 간편한 구성 스위치가 제공됩니다. 이 스위치를 설정하면 버킷의 파일이 30일 후에 자동으로 삭제됩니다. 따라서 불필요한 기존 백업을 줄이고 스토리지 비용을 절약하며 버킷 디렉터리를 깔끔하게 유지할 수 있습니다. 자동 백업 버킷에 다른 파일이 저장되면 이 파일도 동일한 정책에 따라 삭제됩니다.
비용
Blaze 요금제로 별도 비용 없이 프로젝트에 백업 기능을 사용 설정할 수 있습니다. 그러나 Cloud Storage 버킷에 저장한 백업 파일에는 표준 요금이 부과됩니다. Gzip 압축과 스토리지 30일 수명 주기를 사용 설정하면 스토리지 비용을 절약할 수 있습니다.