데이터베이스 클러스터를 클론하여 원본 클러스터와 동일한 데이터가 포함된 새 데이터베이스 클러스터를 만들 수 있습니다. 클론은 테스트 목적으로 데이터베이스 클러스터를 만드는 좋은 방법입니다.
시작하기 전에
클론할 소스 데이터베이스 클러스터에 백업 서비스가 사용 설정되어 있는지 확인합니다.
소스 데이터베이스 클러스터에 복구 기간을 사용할 수 있게 되면 복구 기간 내에서 클론의 기준이 되는 시점을 지정할 수 있습니다. 데이터베이스 클러스터의 현재 상태를 클론하는 것으로 제한되지 않습니다. 데이터베이스 서비스는 지정한 정확한 시점에 새 데이터베이스 클러스터를 클론합니다.
데이터베이스 클러스터 클론
GDC 콘솔, gdcloud CLI 또는 API를 사용하여 데이터베이스 클러스터를 클론할 수 있습니다.
콘솔
- GDC 콘솔의 기본 메뉴에서 데이터베이스 서비스를 선택합니다.
- 클론할 데이터베이스 클러스터를 선택합니다.
- add_box 복제를 클릭합니다.
- 클론 만들기 대화상자에서 클론할 시점을 지정하고 새 데이터베이스 클러스터의 ID를 지정합니다.
- 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를 실행하여 복구 기간을 확인합니다.