데이터를 내보내기 전에 다음 작업을 실행해야 합니다.
데이터베이스 서비스 내보내기 서비스 계정에 대상 객체 스토리지 버킷에 대한 쓰기 액세스 권한을 부여합니다. 이 역할 결합은 주체 데이터베이스 클러스터와 동일한 네임스페이스 내에서 생성되어야 합니다. 스토리지 액세스 권한 부여 및 획득을 참조하세요.
데이터베이스 클러스터가 생성되면 데이터베이스 서비스 시스템에서 이 서비스 계정을 자동으로 생성합니다. 컨트롤러에서 유지관리하는 서비스 계정이 포함된 네임스페이스를 찾으려면 다음 명령어를 사용하세요.
kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.export}'
kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.import}'
네임스페이스가 있으면 찾고 있는 서비스 계정의 이름은
postgresql-export-DATABASE_CLUSTER_NAME입니다.
DATABASE_CLUSTER_NAME을 데이터를 내보내는 데이터베이스 클러스터의 이름으로 바꿉니다.
GDC 콘솔 또는 Distributed Cloud CLI를 사용하여 데이터베이스 클러스터를 데이터 덤프 파일로 내보낼 수 있습니다.
콘솔
- 기본 메뉴에서 데이터베이스 서비스 를 선택합니다.
- 내보낼 데이터베이스 클러스터를 선택합니다. 그러면 해당 클러스터의 데이터베이스 클러스터 개요 페이지로 이동합니다.
- 내보내기 를 클릭합니다. 데이터 내보내기 패널이 열립니다.
- 데이터 내보내기 패널에서 내보낼 스토리지 위치를 지정합니다.
- 내보내기 를 클릭합니다. 화면 메시지에 내보내기 프로세스의 상태가 표시됩니다.
gdcloud CLI
- Distributed Cloud CLI를 사용하기 전에, 설치하고 초기화합니다. 그런 다음 조직으로 인증합니다.
다음 명령어를 실행하여 데이터베이스 파일을 덤프 파일로 내보냅니다.
gdcloud database export sql DATABASE_CLUSTER \ BUCKET_NAME/SAMPLE.dmp --project=PROJECT_NAME다음을 바꿉니다.
- DATABASE_CLUSTER를 내보낼 데이터베이스 클러스터의 이름으로 바꿉니다.
- BUCKET_NAME/SAMPLE.dmp를 내보낸 덤프 파일의 대상 위치로 바꿉니다.
- PROJECT_NAME을 데이터베이스 클러스터가 있는 프로젝트의 이름으로 바꿉니다.
API
apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Export
metadata:
name: EXPORT_NAME
namespace: USER_PROJECT
spec:
dbclusterRef: DBCLUSTER_NAME
exportLocation:
s3Options:
bucket: BUCKET_NAME
key: dbs-export
type: S3
다음 변수를 바꿉니다.
EXPORT_NAME: 내보내기 작업의 이름입니다.USER_PROJECT: 내보낼 데이터베이스 클러스터가 생성되는 사용자 프로젝트의 이름입니다.DBCLUSTER_NAME: 데이터베이스 클러스터의 이름입니다.BUCKET_NAME: 내보낸 파일을 저장할 객체 스토리지 버킷의 이름입니다.