이 페이지에서는 Spanner 복원 작업과 데이터베이스 복원 방법에 대해 설명합니다. Spanner에서 데이터베이스 복원에 대한 자세한 내용은 복원 개요를 참조하세요.
다음을 사용해서 Spanner 데이터베이스를 복원할 수 있습니다.
시작하기 전에
이 페이지의 gcloud CLI 예시에서는 다음 가정이 사용됩니다.
- gcloud CLI가 이미 Spanner에 사용하도록 설정되어 있습니다. Spanner에서 Google Cloud CLI를 처음 사용하는 경우 Google Cloud CLI를 사용하여 Spanner 시작하기를 참조하세요.
Google Cloud CLI가 자신의 프로젝트에 구성되어 있습니다. 예를 들면 다음과 같습니다.
gcloud config set core/project PROJECT_ID
test-instance
라는 인스턴스와example-db
라는 데이터베이스가 있습니다.
-
백업에서 데이터베이스를 복원하는 데 필요한 권한을 얻으려면 관리자에게 인스턴스에 대한 Cloud Spanner 복원 관리자(
roles/spanner.restoreAdmin
) IAM 역할을 부여해 달라고 요청하세요.
백업에서 데이터베이스 복원
콘솔
Google Cloud 콘솔에서 Spanner 인스턴스 페이지로 이동합니다.
데이터베이스가 포함된 인스턴스를 클릭하여 개요 페이지를 엽니다.
데이터베이스를 클릭하여 개요 페이지를 엽니다.
탐색창에서 백업/복원을 클릭합니다.
선택한 백업에 대해 작업 버튼을 클릭한 후 복원을 선택합니다.
양식을 작성하고 복원 버튼을 클릭합니다.
작업 진행 상황을 확인하려면 작업 페이지에 표시된 것처럼 진행률 표시를 확인합니다.
작업에 시간이 너무 오래 걸리는 경우 취소할 수 있습니다. 자세한 내용은 장기 실행 인스턴스 작업 취소를 참조하세요.
gcloud
데이터베이스를 복원하려면 gcloud spanner databases restore
를 사용합니다.
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6 \
--encryption_type=google-managed-encryption
사용 참고사항:
- 이 명령어는
--async
플래그로 인해 즉시 반환합니다. 이 플래그가 없으면 복원 작업이 완료될 때까지 명령어가 대기합니다. - 소스 및 대상 인스턴스가 서로 다르면 동일한 인스턴스 구성을 포함해야 합니다.
- 대상 데이터베이스가 이미 있으면 작업이 실패합니다.
encryption_type
에 가능한 값은USE_DATABASE_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
,CUSTOMER_MANAGED_ENCRYPTION
입니다.CUSTOMER_MANAGED_ENCRYPTION
을 사용하는 경우kmsKeyName
을 지정해야 합니다.
클라이언트 라이브러리
다음 코드 샘플은 특정 백업에서 데이터베이스를 복원하고 복원 작업(RestoreDatabaseMetadata
를 사용하는 작업)이 완료될 때까지 기다립니다. 복원된 데이터베이스는 백업과 동일한 인스턴스에서 생성됩니다. 완료되면 샘플은 데이터베이스에서 일부 복원 정보를 검색 및 출력합니다.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby