데이터베이스 클러스터 클론

데이터베이스 클러스터를 클론하여 원본 클러스터와 동일한 데이터가 포함된 새 데이터베이스 클러스터를 만들 수 있습니다. 클론은 테스트 목적으로 데이터베이스 클러스터를 만드는 좋은 방법입니다.

시작하기 전에

클론할 소스 데이터베이스 클러스터에 백업 서비스가 사용 설정되어 있는지 확인합니다.

소스 데이터베이스 클러스터에 복구 기간을 사용할 수 있게 되면 복구 기간 내에서 클론의 기준이 되는 시점을 지정할 수 있습니다. 데이터베이스 클러스터의 현재 상태를 클론하는 것으로 제한되지 않습니다. 데이터베이스 서비스는 지정한 정확한 시점에 새 데이터베이스 클러스터를 클론합니다.

데이터베이스 클러스터 클론

GDC 콘솔, gdcloud CLI 또는 API를 사용하여 데이터베이스 클러스터를 클론할 수 있습니다.

콘솔

  1. GDC 콘솔의 기본 메뉴에서 데이터베이스 서비스를 선택합니다.
  2. 클론할 데이터베이스 클러스터를 선택합니다.
  3. add_box 복제를 클릭합니다.
  4. 클론 만들기 대화상자에서 클론할 시점을 지정하고 새 데이터베이스 클러스터의 ID를 지정합니다.
  5. CLONE을 클릭하세요. 그러면 새 클러스터의 데이터베이스 클러스터 개요 페이지로 이동하여 상태를 모니터링할 수 있습니다.

gdcloud

다음 명령어를 사용하여 데이터베이스 클러스터를 클론합니다.

gdcloud database clusters clone SOURCE \
   DESTINATION --point-in-time POINT_IN_TIME

다음을 바꿉니다.

  • <var>SOURCE</var>: 클론을 만들 데이터베이스 클러스터의 이름입니다.
  • <var>DESTINATION</var>: 만들려는 새 데이터베이스 클러스터의 이름입니다.
  • <var>POINT_IN_TIME</var>: 클론의 기준으로 사용할 시점의 타임스탬프입니다. RFC 3339 타임스탬프 형식 (yyyy-MM-dd'T'HH:mm:ss'Z')을 사용합니다. 타임스탬프는 소스 데이터베이스 클러스터의 복구 기간 내에 있어야 합니다. 그렇지 않으면 클론 요청이 거부됩니다.

API

데이터베이스 클러스터를 클론하려면 복원 리소스를 만듭니다.

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Restore
metadata:
  name: NEW_DBCLUSTER_NAME_restore
  namespace: NAMESPACE
spec:
  sourceDBCluster: DBCLUSTER_NAME
  pointInTime: "POINT_IN_TIME"
  clonedDBClusterConfig:
    dbclusterName: NEW_DBCLUSTER_NAME

다음을 바꿉니다.

  • NEW_DBCLUSTER_NAME: 만들 새 데이터베이스 클러스터의 이름입니다.
  • NAMESPACE: 새 데이터베이스 클러스터를 만들 네임스페이스입니다.
  • POINT_IN_TIME: 클론의 기준으로 사용할 시점의 타임스탬프입니다. RFC 3339 타임스탬프 형식 (yyyy-MM-dd'T'HH:mm:ss'Z')을 사용합니다. 소스 데이터베이스 클러스터의 복구 기간 내에 타임스탬프를 설정합니다. 그렇지 않으면 시스템에서 클론 요청을 거부합니다. kubectl get backupplan.o -n NAMESPACE를 실행하여 복구 기간을 확인합니다.