데이터베이스 클러스터 내보내기

데이터를 내보내기 전에 다음 작업을 실행해야 합니다.

데이터베이스 서비스 내보내기 서비스 계정에 대상 객체 스토리지 버킷에 대한 쓰기 액세스 권한을 부여합니다. 이 역할 결합은 주체 데이터베이스 클러스터와 동일한 네임스페이스 내에서 생성되어야 합니다. 스토리지 액세스 권한 부여 및 획득을 참조하세요.

데이터베이스 클러스터가 생성되면 데이터베이스 서비스 시스템에서 이 서비스 계정을 자동으로 생성합니다. 컨트롤러에서 유지관리하는 서비스 계정이 포함된 네임스페이스를 찾으려면 다음 명령어를 사용하세요.

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를 사용하여 데이터베이스 클러스터를 데이터 덤프 파일로 내보낼 수 있습니다.

콘솔

  1. 기본 메뉴에서 데이터베이스 서비스 를 선택합니다.
  2. 내보낼 데이터베이스 클러스터를 선택합니다. 그러면 해당 클러스터의 데이터베이스 클러스터 개요 페이지로 이동합니다.
  3. 내보내기 를 클릭합니다. 데이터 내보내기 패널이 열립니다.
  4. 데이터 내보내기 패널에서 내보낼 스토리지 위치를 지정합니다.
  5. 내보내기 를 클릭합니다. 화면 메시지에 내보내기 프로세스의 상태가 표시됩니다.

gdcloud CLI

  1. Distributed Cloud CLI를 사용하기 전에, 설치하고 초기화합니다. 그런 다음 조직으로 인증합니다.
  2. 다음 명령어를 실행하여 데이터베이스 파일을 덤프 파일로 내보냅니다.

    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: 내보낸 파일을 저장할 객체 스토리지 버킷의 이름입니다.