백업 및 복원

이 페이지에서는 애플리케이션이 Google Cloud Datastore에 저장하는 데이터를 백업하고 복원하는 방법을 설명합니다.

시작하기 전에

  1. 아직 프로젝트의 저장소 버킷을 생성하지 않았다면 지금 생성합니다. 원하는 경우 액세스 제어 목록을 통해 프로젝트의 App Engine 기본 서비스 계정에 버킷에 대한 액세스 권한이 부여되어 있는지 확인합니다. 이 목록은 이미 기본값으로 설정되어 있으며 필요에 따라 재정의할 수 있습니다.
  2. 아직 Cloud Datastore 관리자 액세스를 사용 설정하지 않았다면 사용 설정합니다.

데이터 백업

이후 데이터 복원 또는 내보내기 용도로 백업 파일을 생성하려면 다음을 수행하세요.

  1. (추천) Cloud Datastore 쓰기를 사용 중지합니다.
  2. 관리 페이지로 이동합니다.

    관리 페이지로 이동

  3. Datastore 관리자 열기를 클릭합니다.

  4. 백업하려는 항목 종류를 선택합니다.

  5. 항목 백업을 클릭하여 백업 양식을 표시합니다.

  6. 백업 이름이 제공되고 날짜 스탬프가 포함되어 있는지 확인합니다.

    동일한 이름의 백업이 이미 존재하면 백업이 만들어지지 않으므로 하루에 백업을 2개 이상 만드는 경우에는 이 값을 변경해야 합니다.

  7. 백업 작업에는 기본 대기열이 사용되므로 대부분의 경우 이 대기열을 사용할 수 있습니다.

    백업/복원에 기본값 이외의 대기열을 사용하는 경우 queue.yaml에 대상 ah-builtin-python-bundle만 지정할 수 있습니다. 그 외의 다른 대상은 사용할 수 없습니다.

  8. Google Cloud Storage를 백업 저장소 위치로 선택합니다.

  9. Cloud Storage를 선택하면 [BUCKET_NAME] 형식으로 백업을 저장할 버킷 이름을 입력하라는 메시지가 나타납니다. 원하는 경우 버킷 이름 뒤에 디렉토리 구조를 서픽스로 추가할 수 있습니다(예: [BUCKET_NAME]/backups/foo). 기존에 이러한 폴더가 없는 경우에는 새로 만들어집니다.

  10. 항목 백업을 클릭하여 백업 작업을 시작합니다. 작업 상태 페이지가 표시됩니다. 백업 작업 상태

  11. Datastore 관리자로 돌아가기를 클릭하여 백업 상태를 확인합니다.

  12. Cloud Datastore 쓰기를 사용 중지한 경우 백업이 완료되면 다시 사용 설정합니다.

백업 취소

백업 작업이 현재 실행 중인 경우 Cloud Datastore 관리자 화면의 대기중 백업 목록에 나타납니다.

이렇게 실행 중인 백업을 중단하려면 다음을 수행하세요.

  1. 관리 페이지로 이동합니다.

    관리 페이지로 이동

  2. Datastore 관리자 열기를 클릭합니다.

  3. 대기중 백업 섹션의 목록에서 백업을 선택하고 취소를 클릭합니다.

백업 작업을 취소하면 App Engine이 이 시점까지 저장된 백업 데이터의 삭제를 시도합니다. 그러나 경우에 따라 취소 후에도 남아 있는 파일이 있을 수 있습니다. 취소가 완료된 후에 Google Cloud Storage에서 백업 위치로 선택한 위치에서 이러한 파일을 찾아 안전하게 삭제할 수 있습니다. 이러한 파일의 이름은 datastore_backup_[BUCKET_NAME]과 같은 패턴으로 시작합니다.

백업 관련 정보 찾기

백업에 포함된 항목 종류, Google Cloud Storage에서 저장된 위치, 시작 및 종료 시간과 같은 백업에 관한 자세한 내용을 확인할 수 있습니다. 이 백업 정보를 표시하려면 다음을 수행하세요.

  1. 관리 페이지로 이동합니다.

    관리 페이지로 이동

  2. Datastore 관리자 열기를 클릭합니다.

  3. 백업 또는 대기중 백업 목록에서 백업을 하나 이상 선택합니다.

  4. 정보를 클릭하여 이러한 백업에 관한 정보를 표시합니다.

  5. Cloud Datastore 관리자 기본 화면으로 돌아가려면 뒤로를 클릭합니다.

데이터 복원

백업에서 복원하려면 다음 안내를 따르세요.

  1. (권장사항) 애플리케이션의 Cloud Datastore 쓰기를 사용 중지합니다. 일반적으로 이 작업은 Cloud Datastore에 쓰인 신규 데이터와 복원 데이터 간의 충돌을 방지하는 데 도움이 됩니다.
  2. 관리 페이지로 이동합니다.

    관리 페이지로 이동

  3. Datastore 관리자 열기를 클릭합니다.

  4. 사용 가능한 백업 목록에서 복원하려는 백업을 선택합니다.

  5. 복원을 클릭합니다.

  6. 표시되는 안내 페이지에 체크박스와 함께 항목 목록이 제공됩니다. 기본적으로는 모든 항목이 복원됩니다. 복원하지 않으려는 각 항목 옆에 있는 체크박스의 선택을 해제합니다.

  7. 또한 안내 페이지에서 복원 작업에 사용되는 기본 대기열과 사전 구성된 성능 설정을 확인할 수 있습니다. 다른 대기열 성능 특성이 필요한 경우에는 기본 대기열을 다르게 구성한 다른 대기열로 변경하고 선택한 대기열에 ah-builtin-python-bundle이 아닌 queue.yaml의 대상이 지정되지 않도록 유의합니다.

  8. 복원을 클릭하여 복원을 시작합니다. 작업 상태 페이지가 표시됩니다.

  9. Datastore 관리자로 돌아가기를 클릭하여 복원 상태를 확인합니다. 복원 상태

  10. Cloud Datastore 쓰기를 사용 중지한 경우 복원이 완료되면 애플리케이션에서 다시 사용 설정합니다.

다른 애플리케이션에 데이터 복원

Google Cloud Storage를 사용하여 데이터를 백업하는 경우 백업 생성에 사용한 애플리케이션 이외의 애플리케이션으로 백업을 복원할 수 있습니다.

원본 애플리케이션의 백업 데이터를 대상 애플리케이션으로 복원하려면 다음을 수행하세요.

  1. 다음과 같은 권한을 사용하여 원본 애플리케이션의 저장소 버킷에 있는 Identity and Access Management (IAM) 정책을 생성합니다.

    • 구성원: [PROJECT_ID]@appspot.gserviceaccount.com
    • 역할: Storage Legacy Bucket ReaderStorage Legacy Object Reader

    이때 [PROJECT_ID]는 대상 애플리케이션의 프로젝트 ID입니다.

  2. 원본 애플리케이션에서 신규 백업을 생성합니다.

  3. (권장사항) Cloud Datastore에 쓰인 신규 데이터와 복원 데이터 간의 충돌을 방지하기 위해 대상 애플리케이션의 Cloud Datastore 쓰기를 사용 중지합니다.

  4. 대상 애플리케이션의 관리 페이지로 이동합니다.

    관리 페이지로 이동

  5. Datastore 관리자 열기를 클릭합니다.

  6. 백업 정보 가져오기 라벨이 표시된 버튼 옆에 있는 입력란에 백업이 포함된 소스 애플리케이션 버킷을 /gs/[BUCKET_NAME] 형식으로 지정합니다. 저장소 버킷 백업
    대안으로, 특정 백업의 파일 핸들을 제공하는 방법도 있습니다. 백업을 위한 파일 핸들을 보려면 원본 애플리케이션의 관리 페이지를 열고 백업을 선택한 후 정보를 클릭하세요. 핸들이라는 라벨 옆에서 파일 핸들을 확인할 수 있습니다.

  7. 백업 정보 가져오기를 클릭합니다.
    핸들로 백업을 지정하지 않았다면 이때 나타나는 선택 페이지에 지정된 버킷에 사용 가능한 백업이 표시됩니다. 원하는 백업을 선택하고 다음 중 하나를 클릭합니다.

    • 백업 목록에 추가: 이 백업을 애플리케이션에 사용 가능한 백업 목록에 보관하려는 경우
    • 백업에서 복원: 이 백업에서 복원하되 애플리케이션에 사용 가능한 백업 목록에는 표시하지 않으려는 경우
  8. 표시되는 안내 페이지에 체크박스와 함께 항목 목록이 제공됩니다. 기본적으로는 모든 항목이 복원됩니다. 복원하지 않으려는 각 항목 옆에 있는 체크박스의 선택을 해제합니다.

  9. 또한 안내 페이지에서 복원 작업에 사용되는 기본 대기열과 사전 구성된 성능 설정을 확인할 수 있습니다. 다른 대기열 성능 특성이 필요한 경우에는 다르게 구성한 다른 대기열로 변경합니다.

  10. 복원을 클릭하여 복원을 시작합니다. 작업 상태 페이지가 표시됩니다.

  11. Cloud Datastore 쓰기를 사용 중지한 경우 복원이 완료되면 다시 사용 설정합니다.

리소스 사용량 보기

지나치게 빈번한 백업은 비용 증가로 이어지기 쉽습니다. Cloud Datastore 관리자 작업을 실행하면 실제로는 기본 MapReduce 작업을 실행하게 됩니다. MapReduce 작업은 저장소 작업과 저장소 사용량에 더해 프런트엔드 인스턴스 시간까지 늘립니다.

리소스 사용량을 보려면 다음을 수행하세요.

  1. GCP 콘솔 App Engine 페이지를 방문합니다.

    App Engine 페이지로 이동

  2. 페이지 상단의 풀다운 메뉴를 사용하여 default 서비스와 ah-builtin-python-bundle 버전을 선택합니다.

백업 및 복원 시 고려 사항

백업 및 복원 기능은 데이터의 우발적 삭제를 복원하고 데이터를 내보내는 작업을 지원하기 위해 제공됩니다. 모든 항목 또는 선택한 종류의 항목만 백업 가능하며 필요한 경우 이러한 백업 중 하나를 복원할 수 있습니다.

백업은 Cloud Storage에 저장됩니다.

백업에는 어떠한 색인도 포함되지 않습니다. 복원할 때 필수 색인은 애플리케이션을 사용하여 업로드한 색인 정의를 사용하여 자동으로 다시 빌드됩니다.

또한 데이터를 BigQuery와 같은 다른 Google Cloud Platform 서비스로 내보내기 위해 백업 파일을 사용할 수도 있습니다.

복원을 수행하면 항목에 새로운 ID가 할당되지 않고, 백업 당시 존재했던 ID를 사용하여 동일한 ID가 지정된 기존 항목을 덮어씁니다. 항목을 복원하는 동안에는 ID가 예약됩니다. 이 조치는 복원을 실행하는 동안 쓰기가 사용 설정되어 있을 때 ID가 신규 항목과 충돌하는 경우를 방지합니다. 이로써 백업 이후 추가된 신규 항목이 보존됩니다.

백업에서 모든 데이터를 복원하거나 백업에서 특정 항목 종류를 복원할 수 있습니다. 또한 백업에 Cloud Storage를 사용한다는 전제하에 한 애플리케이션 데이터의 백업을 다른 애플리케이션으로 복원하는 데 이 기능을 사용할 수도 있습니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Cloud Datastore 문서