이 페이지에서는 Spanner 데이터베이스 백업을 만드는 방법을 설명합니다.
백업에 대한 자세한 내용은 백업 개요를 참조하세요. 다음 방법을 사용하여 데이터베이스를 백업할 수 있습니다.
시작하기 전에
-
백업을 만드는 데 필요한 권한을 얻으려면 관리자에게 인스턴스에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
백업 만들기, 보기, 업데이트, 삭제:
Cloud Spanner 백업 관리자(
roles/spanner.backupAdmin
) -
백업 만들기 및 보기:
Cloud Spanner 백업 작성자(
roles/spanner.backupWriter
)
-
백업 만들기, 보기, 업데이트, 삭제:
Cloud Spanner 백업 관리자(
이 페이지의 gcloud CLI 예시에서는 다음 가정이 사용됩니다.
- gcloud CLI가 이미 Spanner에 사용하도록 설정되어 있습니다. Spanner와 함께 gcloud CLI를 처음 사용하는 경우 gcloud CLI를 사용하여 데이터베이스 만들기 및 쿼리를 참조하세요.
프로젝트에 gcloud CLI를 구성했습니다. 예를 들면 다음과 같습니다.
gcloud config set core/project PROJECT_ID
백업 만들기
백업을 만들 때 Spanner는 백업 진행 상황을 추적하기 위해 백업 리소스 및 장기 실행 백업 작업을 만듭니다. 새로 생성된 백업은 소스 데이터베이스와 동일한 인스턴스, 리전 및 프로젝트에 있습니다.
백업을 만들 때 다음 정보를 지정해야 합니다.
- 소스 데이터베이스 ID
- 백업 리소스의 이름
- 만료 날짜(백업 생성 시점으로부터 최대 1년)
선택적으로 소스 데이터베이스에 대해 versionTime
을 지정할 수 있습니다. 그러면 데이터베이스를 이전 시점으로 백업할 수 있습니다.
versionTime
필드는 일반적으로 PITR(point-in-time recovery)을 사용하여 여러 데이터베이스의 백업을 동기화하거나 데이터를 복구하기 위해 사용됩니다.
versionTime
이 지정되지 않았으면 백업의 createTime
으로 설정됩니다.
또한 백업 일정을 사용해서 지정된 빈도로 백업을 만들 수 있습니다. 자세한 내용은 백업 일정 만들기 및 관리를 참조하세요.
콘솔
Google Cloud 콘솔에서 Spanner 인스턴스 페이지로 이동합니다.
백업할 데이터베이스가 포함된 인스턴스를 클릭합니다.
데이터베이스를 클릭합니다.
탐색창에서 백업/복원을 클릭합니다.
백업 탭에서 백업 만들기를 클릭합니다.
양식을 작성하고 만들기를 클릭합니다.
백업 작업의 진행 상황을 확인하려면 작업 진행 상황 확인을 참조하세요.
gcloud
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- INSTANCE_ID: Spanner 인스턴스 ID입니다.
- DATABASE_ID: Spanner 데이터베이스 ID입니다.
- BACKUP_NAME: Spanner 백업 이름입니다.
-
RETENTION_PERIOD: 생성된 백업의 보관 기간입니다. 예를 들어 보관 기간을 1일로 설정하려면
86400s
를 사용하면 됩니다. -
ENCRYPTION_TYPE: 생성된 백업의 암호화 유형입니다.
유효한 값은
USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION
,GOOGLE_DEFAULT_ENCRYPTION
,CUSTOMER_MANAGED_ENCRYPTION
입니다.CUSTOMER_MANAGED_ENCRYPTION
을 사용하는 경우kmsKeyName
을 지정해야 합니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud spanner backups create BACKUP_NAME\ --instance=INSTANCE_ID\ --database=DATABASE_ID\ --retention-period=RETENTION_PERIOD\ --encryption-type=ENCRYPTION_TYPE\ --async
Windows(PowerShell)
gcloud spanner backups create BACKUP_NAME` --instance=INSTANCE_ID` --database=DATABASE_ID` --retention-period=RETENTION_PERIOD` --encryption-type=ENCRYPTION_TYPE` --async
Windows(cmd.exe)
gcloud spanner backups create BACKUP_NAME^ --instance=INSTANCE_ID^ --database=DATABASE_ID^ --retention-period=RETENTION_PERIOD^ --encryption-type=ENCRYPTION_TYPE^ --async
다음과 비슷한 응답이 표시됩니다.
Create request issued for: BACKUP_NAME Check operation [projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME/operations/_auto_op_234567] for status.
다음은 몇 가지 사용법 참고사항입니다.
- 백업의 만료 날짜를 설정하려면
--retention-period
또는--expiration-date
플래그를 지정합니다. 날짜 구문에 대한 자세한 내용은gcloud topic datetimes
를 참조하세요. - 백업 이름은 인스턴스에서 고유해야 합니다.
- 이 명령어는
--async
플래그로 인해 즉시 반환합니다. 이 플래그가 없으면 백업 작업이 완료될 때까지 명령어가 대기합니다. - 모든 명령어의 도움말을 보려면
--help
플래그를 지정하세요.
백업 작업의 진행 상황을 확인하려면 작업 진행 상황 확인을 참조하세요.
클라이언트 라이브러리
다음 코드 샘플은 특정 version_time
에서 백업을 만들고 완료될 때까지 기다립니다. 완료되면 백업이 준비되었는지 확인하고 이름, 크기, 생성 시간과 같은 몇 가지 정보를 가져옵니다.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby