restoreCluster

Prev Next

이 가이드는 API 명세를 기반으로 AI가 자동 생성했습니다.

VPC 환경에서 이용 가능합니다.

Ncloud 표준 표현을 적용한 API입니다.

백업(클러스터 백업 또는 Imported Backup)으로부터 새 클러스터를 생성합니다. 비동기(LRO)로 처리됩니다. Operation.metadata는 operationType=CREATE(새 클러스터 생성), resourceType=clusters로 반환됩니다. engineVersion은 백업 소스에서 결정되며, 시점 복원(PITR)은 제공하지 않습니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /clusters/restore

요청 헤더

Cloud DB Serverless API에서 공통으로 사용하는 헤더에 대한 정보는 Cloud DB Serverless 요청 헤더를 참조해 주십시오.

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
name String Required 생성할 클러스터 이름
  • 패턴: ^[a-z0-9-]+$
  • 길이: 3 ~ 30
  • <예시> restored-cluster
source Object Required 복원 소스. type=BACKUP → originalClusterName+backupName, type=IMPORTED_BACKUP → backupName+adminUserName+adminPassword(+storageType)
source.type String Required 복원 소스 종류
  • BACKUP | IMPORTED_BACKUP
    • BACKUP: 클러스터 자동 백업
    • IMPORTED_BACKUP: Object Storage에서 가져온 백업
  • <예시> BACKUP
source.originalClusterName String Optional 원본 클러스터 이름 (type=BACKUP 시 필수)
  • 패턴: ^[a-z0-9-]+$
  • 길이: 3 ~ 30
  • <예시> new-cluster
source.backupName String Required 백업 이름 (type=BACKUP은 클러스터 백업, type=IMPORTED_BACKUP은 imported backup)
  • 패턴: ^[a-z0-9-]+$
  • 길이: 3 ~ 30
  • <예시> backup-20260721
source.adminUserName String Optional 관리 계정 이름 (type=IMPORTED_BACKUP 시 필수. 예약어 금지 — admin, root, agent 등)
  • 패턴: ^[A-Za-z][A-Za-z0-9_-]*[A-Za-z0-9]$
  • 길이: 4 ~ 16
  • <예시> admin_user
source.adminPassword String (password) Optional 관리 계정 비밀번호 (type=IMPORTED_BACKUP 시 필수)
  • 길이: 8 ~ 20
  • <예시> Passw0rd!
  • (쓰기 전용)
source.storageType String Optional 스토리지 타입 (type=IMPORTED_BACKUP 시 선택)
  • CB2
    • CB2: 현재 제공하는 유일한 스토리지 타입
  • <예시> CB2
network Object Required 네트워크 설정
network.vpcNo Integer (int64) Required VPC 번호
  • <예시> 12345
network.subnetNo Integer (int64) Required 서브넷 번호
  • <예시> 67890
network.port Integer (int32) Required DB 접속 포트
  • <예시> 3306
multiZone Boolean Required 복원 클러스터의 멀티 존 구성 여부
  • true | false
    • true: 백업 존에 복제본 배치
    • false: 단일 존 구성
  • 기본값: false
  • <예시> false
unit Object<UnitRange> Required 복원 클러스터의 컴퓨팅 unit 범위. scale up/down(autoScale.scaleUp)이 비활성이면 max 값으로 고정되며, 고정 unit을 원하면 min과 max를 같은 값으로 설정
backupConfig Object<BackupConfig> Required 복원 클러스터에 적용할 자동 백업 설정
autoScale Object<AutoscaleConfigRequest> Optional 복원 클러스터에 적용할 Auto Scaling 설정. 생략 시 scale up/down·scale in/out이 모두 비활성으로 생성되며, 이 경우 unit은 unit.max 값으로 고정
highAvailability Boolean Required 고가용성(자동 장애 조치) 사용 여부
  • true | false
    • true: 사용
    • false: 미사용
  • 기본값: false
  • <예시> true

UnitRange

컴퓨팅 unit 범위 (0.5 단위, 1 이상, min ≤ max). scale up/down이 활성일 때 min~max 범위에서 조정되며, 비활성이면 max 값으로 고정

필드 타입 필수 여부 설명
min Number (double) Required 최솟값
  • 범위: 1 ~
  • 0.5의 배수
  • <예시> 1
max Number (double) Required 최댓값
  • 범위: 1 ~
  • 0.5의 배수
  • <예시> 3

BackupConfig

자동 백업 설정

필드 타입 필수 여부 설명
backupAuto Boolean Optional 자동 백업 시각 지정 방식
  • true | false
    • true: Cloud DB Serverless가 지정한 시각에 백업 (backupTime 무시)
    • false: backupTime에 지정한 시각에 백업
  • 기본값: true
  • <예시> true
backupTime String | null Optional HH:MM (UTC). backupAuto=false 시 필수
  • 패턴: ^([01][0-9]|2[0-3]):[0-5][0-9]$
  • <예시> 02:00
retentionDays Integer (int32) Required 백업 보관일
  • 범위: 1 ~ 30
  • <예시> 3

AutoscaleConfigRequest

변경할 필드만 포함 (merge-patch)

필드 타입 필수 여부 설명
scaleOut Object Optional 수평 확장 설정
scaleOut.enabled Boolean Optional 수평 확장 활성화 여부
  • true | false
    • true: 활성화
    • false: 비활성화
  • 기본값: false
  • <예시> true
scaleOut.thresholdConnection Integer (int32) Optional 연결 수 임계값
  • 범위: 500 ~ 30,000
  • <예시> 500
scaleOut.thresholdCpu Integer (int32) Optional CPU 사용률 임계값 (%)
  • 범위: 30 ~ 99
  • <예시> 70
scaleOut.replica Object Optional 복제본 현황
scaleOut.replica.min Integer (int32) Optional 최솟값
  • <예시> 1
scaleOut.replica.max Integer (int32) Optional 최댓값
  • <예시> 4
scaleUp Object Optional 수직 확장 설정
scaleUp.enabled Boolean Optional 수직 확장(scale up/down) 활성화 여부
  • true | false
    • true: unit.min에서 시작해 부하에 따라 unit.min~unit.max 범위에서 조정
    • false: unit을 unit.max 값으로 고정
  • 기본값: false
  • <예시> true

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://clouddb-serverless.apigw.ntruss.com/mysql/v1/clusters/restore' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
  "name": "restored-cluster",
  "source": {
    "type": "BACKUP",
    "backupName": "backup-20260721"
  },
  "network": {
    "vpcNo": 12345,
    "subnetNo": 67890,
    "port": 3306
  },
  "multiZone": false,
  "unit": {
    "min": 1,
    "max": 3
  },
  "backupConfig": {
    "retentionDays": 3
  },
  "highAvailability": true
}'

응답

응답 형식을 설명합니다.

응답 헤더

응답 헤더에 대한 설명은 다음과 같습니다.

필드 필수 여부 설명
retry-after Optional 권장 폴링 간격 (초). done=false인 동안 이 간격으로 폴링 (202 응답)

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
id String (uuid) - Operation 식별자
  • <예시> 550e8400-e29b-41d4-a716-446655440000
done Boolean - 완료 여부
  • true | false
    • true: 완료
    • false: 진행 중
  • <예시> false
metadata Object - 작업 유형·대상 리소스·시각 등 Operation 부가 정보
metadata.operationType String - 작업 유형
  • CREATE | UPDATE | DELETE
    • CREATE: 생성
    • UPDATE: 변경
    • DELETE: 삭제
  • <예시> CREATE
metadata.resourceType String - 대상 리소스 (REST 경로의 리소스 세그먼트와 일치 — 컬렉션은 복수형, 싱글턴은 경로 그대로)
  • <예시> users
metadata.startDateTime String (date-time) - 작업 시작 시각 (RFC3339 UTC)
  • <예시> 2026-07-21T10:00:00Z
metadata.endDateTime String (date-time) | null - 완료 시각 (진행 중이면 null)
metadata.progress Integer (int32) | null - 진행률 (%) — 제공 가능한 작업에 한함
  • 범위: 0 ~ 100
results Map<Object> | null - 성공 결과. 요청 인덱스를 키로 하는 Map이며 단건 작업은 "0" 키 하나를 사용.
클러스터 작업(resourceType=clusters: 생성·복원·변경·삭제)만 값을 반환하며, 값은 대상 클러스터의 name 하나를 담은 객체.
그 외 리소스(users, databases, config, backups, imported-backups, logs, processes)의 작업은 null.
error Object - 실패 사유 (단건 작업)
error.errorCode String - 에러 코드
error.message String - 에러 메시지 (기본 영어, 다국어 지원 가능)
error.detail String - 에러 상세 정보 (기본 영어, 다국어 지원 가능)
error.fieldErrors List<FieldError> - 입력값 에러가 발생한 경우 각 필드별 에러 상세 정보 목록
failures Map<Error> | null - 일괄 작업의 index별 실패 사유

results

필드 타입 필수 여부 설명
name String - 작업 대상 클러스터 이름
  • <예시> new-cluster

FieldError

필드 에러 정보

필드 타입 필수 여부 설명
message String - 필드 에러 메시지 (기본 영어, 다국어 지원 가능)
field String - 입력값 검증 실패 시 해당 필드 이름

Error

에러 정보

필드 타입 필수 여부 설명
errorCode String - 에러 코드
message String - 에러 메시지 (기본 영어, 다국어 지원 가능)
detail String - 에러 상세 정보 (기본 영어, 다국어 지원 가능)
fieldErrors List<FieldError> - 입력값 에러가 발생한 경우 각 필드별 에러 상세 정보 목록

응답 상태 코드

Cloud DB Serverless API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Cloud DB Serverless 응답 상태 코드를 참조해 주십시오.

이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.

HTTP 상태 코드 코드 메시지 설명
400 InvalidParameter The specified parameter is invalid. 파라미터 값이 허용 범위나 형식을 벗어난 경우
400 InvalidState Indicates that the specified state is not a valid state for an event source. 복원 소스 백업이 사용 가능한 상태가 아닌 경우
409 Conflict The request could not be processed because of a conflict in the current status of the resource. 같은 이름의 클러스터가 이미 존재하는 경우
409 ResourceInUse The specified resource is in use. 복원 소스 백업이 다른 작업에 사용 중인 경우

응답 예시

응답 예시는 다음과 같습니다.

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "done": false,
  "metadata": {
    "operationType": "CREATE",
    "resourceType": "clusters",
    "startDateTime": "2026-07-21T10:00:00Z"
  },
  "results": {
    "key": {
      "name": "new-cluster"
    }
  }
}