본문으로 건너뛰기

클러스터 모드 미사용 시

다음 API는 클러스터 모드를 미사용으로 설정했을 때 사용할 수 있습니다.

주의
  • user.password 필드의 값은 암호화한 값을 넣어야지만 정상적으로 생성이 가능합니다.

인스턴스 세트 생성​

신규 인스턴스 세트 생성​

신규 인스턴스 세트를 생성합니다.

Request​
신규 인스턴스 세트 생성 Request Syntax
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
종류파라미터유형설명
Header{token-id}*StringAPI 인증 토큰 참고
Content-Type*String콘텐츠 유형 기본값: application/json
BodydescriptionString인스턴스 세트 설명
- 글자수: 최대 100자
- 줄 바꿈 입력 불가 (CR, LF)
replicas*Integer노드 수
- Primary와 Replica를 포함한 총 노드 수
flavorId*String플레이버 ID
instanceSetName*String인스턴스 세트 이름
- 글자수: 4 ~ 20자
- 영어 소문자/숫자/- 제외 모든 값 입력 불가
- - 연속 입력 불가
- 영어로 시작해야 함
- 영어/숫자로 끝나야 함
- 공백 입력 불가
recoveryEnabled*Boolean고가용성 모드 활성화 여부
- true: 고가용성 모드 사용
- false: 고가용성 모드 사용 안 함
subnets[]*Object Array배치 가능한 서브넷 목록
subnets[].id*String서브넷 ID
- 서브넷 ID는 콘솔 > VPC > 서브넷에서 확인
subnetAssignments[]*Object Array서브넷 배치 목록
- subnets 필드에 있는 서브넷만 사용 가능
subnetAssignments[].primary*ObjectPrimary에 배치할 서브넷
subnetAssignments[].primary.id*StringPrimary에 배치할 서브넷 ID
subnetAssignments[].replicas[]*Object ArrayReplica에 배치할 서브넷 목록
subnetAssignments[].replicas[].id*StringReplica에 배치할 서브넷 ID
securityGroups[]*Object Array인스턴스 세트에 연결할 보안 그룹 목록
securityGroups[].id*String인스턴스 세트에 연결할 보안 그룹 ID
- 보안 그룹 ID는 콘솔 > Networking > VPC > 보안 그룹에서 확인 가능
backupScheduleObject자동 백업 정책
- 해당 필드가 없으면 자동 백업 사용하지 않음
backupSchedule.cronString백업 일정의 크론 표현
- 시간만 설정 가능함
- 5자리 크론 표현식 사용 (예시: "* 1 * * " → 매일 1시(KST)에 자동백업 생성)
- 시간 자리에는 0-23 사이의 값만 입력 가능 (특수문자 입력 불가)
- 시간을 제외한 다른 자리에는 별표(*)만 입력 가능
backupSchedule.retentionLimitInteger백업의 보존 기간(단위: 일)
- 최소 1일, 최대 35일
userObject데이터베이스 사용자 정보
- db 접근 시 계정 정보
user.nameString데이터베이스 사용자 이름
user.passwordString데이터베이스 사용자 암호 (암호화된 형태 또는 암호 해시)
데이터베이스 사용자 암호 암호화 방법
tlsEnabledBooleanTLS 활성화 여부
parameterGroupId*String인스턴스 세트에 반영할 파라미터 그룹 ID
port*IntegerRedis 포트 번호
- 2000 ~ 50000 내 입력
projectId*StringProject ID
version*StringRedis 버전
신규 인스턴스 세트 생성 Request Body Example
{
"description": "mars-test-description",
"replicas": 3,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"instanceSetName": "mars-repl-test",
"recoveryEnabled": true,
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 30
},
"tlsEnabled": false,
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"port": "{port-env}",
"projectId": "{project-id-env}",
"version": "{version-env}"
}
Response​
상태 코드설명
201리소스 생성 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
422사용자의 요청 구문은 유효하지만 작업을 진행할 수 없는 경우
403권한이 없는 사용자가 요청한 경우
409현재 서버의 상태에 중복된 요청이 발생한 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
신규 인스턴스 세트 생성 Response Example
201 Created
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "xxxxxxxx-7347-4d87-a49f-e705e91db2fb"
}

기존 백업 이름으로 인스턴스 세트 생성(복원)​

기존 백업 이름으로 인스턴스 세트를 복원합니다.

안내

선택한 백업의 클러스터 모드와 동일한 모드로만 복원할 수 있으며, 선택한 백업 Redis 엔진 버전과 같거나 상위 버전으로만 복원 가능

주의

소스 백업의 캐시 크기가 복원할 클러스터 플레이버의 메모리의 60% 이상인 경우, 복원에 실패할 수 있습니다.

Request​
기존 백업 이름으로 인스턴스 세트 생성(복원) Request Syntax
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
종류파라미터유형설명
Header{token-id}*StringAPI 인증 토큰 참고
Content-Type*String콘텐츠 유형 기본값: application/json
BodydescriptionString인스턴스 세트 설명
- 글자수: 최대 100자
- 줄 바꿈 입력 불가 (CR, LF)
replicas*Integer노드 수
- Primary와 Replica를 포함한 총 노드 수
flavorId*String플레이버 ID
instanceSetName*String인스턴스 세트 이름
- 글자수: 4 ~ 20자
- 영어 소문자/숫자/- 제외 모든 값 입력 불가
- - 연속 입력 불가
- 영어로 시작해야 함
- 영어/숫자로 끝나야 함
- 공백 입력 불가
recoveryEnabled*Boolean고가용성 모드 활성화 여부
- true: 고가용성 모드 사용
- false: 고가용성 모드 사용 안 함
subnets[]*Object Array배치 가능한 서브넷 목록
subnets[].id*String서브넷 ID
- 서브넷 ID는 콘솔 > VPC > 서브넷에서 확인
subnetAssignments[]*Object Array서브넷 배치 목록
- subnets 필드에 있는 서브넷만 사용 가능
subnetAssignments[].primary*ObjectPrimary에 배치할 서브넷
subnetAssignments[].primary.id*StringPrimary에 배치할 서브넷 ID
subnetAssignments[].replicas[]*Object ArrayReplica에 배치할 서브넷 목록
subnetAssignments[].replicas[].id*StringReplica에 배치할 서브넷 ID
securityGroups[]*Object Array인스턴스 세트에 연결할 보안 그룹 목록
securityGroups[].id*String인스턴스 세트에 연결할 보안 그룹 ID
- 보안 그룹 ID는 콘솔 > Networking > VPC > 보안 그룹에서 확인 가능
restoreSourceObject복원 소스 정보
restoreSource.backupNameStringMemStore 백업 목록의 이름 1개
backupScheduleObject자동 백업 정책
- 해당 필드가 없으면 자동 백업 사용하지 않음
backupSchedule.cronString백업 일정의 크론 표현
- 시간만 설정 가능함
- 5자리 크론 표현식 사용 (예시: "* 1 * * " → 매일 1시(KST)에 자동백업 생성)
- 시간 자리에는 0-23 사이의 값만 입력 가능 (특수문자 입력 불가)
- 시간을 제외한 다른 자리에는 별표(*)만 입력 가능
backupSchedule.retentionLimitInteger백업의 보존 기간(단위: 일)
- 최소 1일, 최대 35일
userObject데이터베이스 사용자 정보
- db 접근 시 계정 정보
user.nameString데이터베이스 사용자 이름
user.passwordString데이터베이스 사용자 암호 (암호화된 형태 또는 암호 해시)
데이터베이스 사용자 암호 암호화 방법
tlsEnabledBooleanTLS 활성화 여부
parameterGroupId*String인스턴스 세트에 반영할 파라미터 그룹 ID
port*IntegerRedis 포트 번호
- 2000 ~ 50000 내 입력
projectId*StringProject ID
version*StringRedis 버전
기존 백업 이름으로 인스턴스 세트 생성(복원) Request Body Example
{
"description": "mars-test-description",
"replicas": 3,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"instanceSetName": "mars-repl-test",
"recoveryEnabled": true,
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"restoreSource": {
"backupName": "scheduled.testhen.2024-02-27-16-47.KST"
},
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 30
},
"tlsEnabled": false,
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"port": "{port-env}",
"projectId": "{project-id-env}",
"version": "{version-env}"
}
Response​
상태 코드설명
201리소스 생성 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
409현재 서버의 상태에 중복된 요청이 발생한 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
기존 백업 이름으로 인스턴스 세트 생성(복원) Response Example
201 Created
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "xxxxxxxx-7347-4d87-a49f-e705e91db2fb"
}

Object Storage 파일로 인스턴스 세트 생성(복원)​

Object Storage에 있는 파일로 인스턴스 세트를 복원합니다.

주의

인스턴스 세트 복원 요청 시, Object Storage에서 백업 파일을 불러오던 도중 API 인증 토큰이 만료되는 경우 인스턴스 세트 복원에 실패할 수 있습니다. 또한 백업 파일의 Redis 메모리 크기가 복원할 클러스터 플레이버의 메모리의 60%보다 큰 경우 인스턴스 세트가 정상적으로 생성(복원)되지 않을 수 있습니다

Request​
Object Storage 파일로 인스턴스 세트 생성(복원) Request Syntax
curl -X POST "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
종류파라미터유형설명
Header{token-id}*StringAPI 인증 토큰 참고
Content-Type*String콘텐츠 유형 기본값: application/json
BodydescriptionString인스턴스 세트 설명
- 글자수: 최대 100자
- 입력 불가 (CR, LF)
replicas*Integer노드 수
- Primary와 Replica를 포함한 총 노드 수
flavorId*String플레이버 ID
instanceSetName*String인스턴스 세트 이름
- 글자수: 4 ~ 20자
- 영어 소문자/숫자/- 제외 모든 값 입력 불가
- - 연속 입력 불가
- 영어로 시작해야 함
- 영어/숫자로 끝나야 함
- 공백 입력 불가
recoveryEnabled*Boolean고가용성 모드 활성화 여부
- true: 고가용성 모드 사용
- false: 고가용성 모드 사용
subnets[]*Object Array배치 가능한 서브넷 목록
subnets[].id*String서브넷 ID
- 서브넷 ID는 콘솔 > VPC > 서브넷에서 확인
subnetAssignments[]*Object Array서브넷 배치 목록
- subnets 필드에 있는 서브넷만 사용 가능
subnetAssignments[].primary*ObjectPrimary에 배치할 서브넷
subnetAssignments[].primary.id*StringPrimary에 배치할 서브넷 ID
subnetAssignments[].replicas[]*Object ArrayReplica에 배치할 서브넷 목록
subnetAssignments[].replicas[].id*StringReplica에 배치할 서브넷 ID
securityGroups[]*Object Array인스턴스 세트에 연결할 보안 그룹 목록
securityGroups[].id*String인스턴스 세트에 연결할 보안 그룹 ID
- 보안 그룹 ID는 콘솔 > Networking > VPC > 보안 그룹에서 확인 가능
restoreSourceObject복원 소스 정보
restoreSource.files[]String Array사용자 백업 파일의 Object Storage 경로 1개
- 동일 리전/프로젝트 내에 편집 권한이 있는 Object Storage의 경로
- bucket/folder/.../file 형식으로 입력
- 백업 시 사용한 엔진 버전과 동일하거나 상위 엔진 버전으로만 복원 가능
backupScheduleObject자동 백업 정책
- 해당 필드가 없으면 자동 백업 사용하지 않음
backupSchedule.cronString백업 일정의 크론 표현
- 시간만 설정 가능함
- 5자리 크론 표현식 사용 (예시: "* 1 * * " → 매일 1시(KST)에 자동백업 생성)
- 시간 자리에는 0-23 사이의 값만 입력 가능 (특수문자 입력 불가)
- 시간을 제외한 다른 자리에는 별표(*)만 입력 가능
backupSchedule.retentionLimitInteger백업의 보존 기간(단위: 일)
- 최소 1일, 최대 35일
userObject데이터베이스 사용자 정보
- db 접근 시 계정 정보
user.nameString데이터베이스 사용자 이름
user.passwordString데이터베이스 사용자 암호 (암호화된 형태 또는 암호 해시)
데이터베이스 사용자 암호 암호화 방법
tlsEnabledBooleanTLS 활성화 여부
parameterGroupId*String인스턴스 세트에 반영할 파라미터 그룹 ID
port*IntegerRedis 포트 번호
- 2000 ~ 50000 내 입력
projectId*StringProject ID
version*StringRedis 버전
Object Storage 파일로 인스턴스 세트 생성(복원) Request Body Example
{
"description": "mars-test-description",
"replicas": 3,
"flavorId": "3830ebad-ea2f-4822-8a7d-9e301c86a58d",
"instanceSetName": "mars-repl-test",
"recoveryEnabled": true,
"subnets": [
{"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
],
"subnetAssignments": [
{
"primary": {"id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b"},
"replicas": [
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"},
{"id": "yyyyyyyy-0a69-4f8b-b56d-59ce12b4d55b"}
]
}
],
"securityGroups": [
{"id": "abcdxxxx-4870-4c4e-a267-2de13e38c2ea"},
{"id": "qwergggg-4870-4c4e-a267-2de13e38c2ea"}
],
"restoreSource": {
"files": ["bucket/path-to-file"]
},
"backupSchedule": {
"cron": "* 1 * * *",
"retentionLimit": 30
},
"tlsEnabled": false,
"parameterGroupId": "bbbbcccc-1234-1234-5678-e705e91db2fb",
"port": "{port-env}",
"projectId": "{project-id-env}",
"version": "{version-env}"
}
Response​
상태 코드설명
201리소스 생성 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
409현재 서버의 상태에 중복된 요청이 발생한 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
Object Storage 파일로 인스턴스 세트 생성(복원) Response Example
201 Created
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "xxxxxxxx-7347-4d87-a49f-e705e91db2fb"
}

인스턴스 세트 삭제​

인스턴스 세트를 삭제합니다. 생성된 자동백업이 있는 인스턴스 세트의 경우 콘솔에서 삭제가 불가능할 수 있고, 이 경우 API를 통해 keepAutomaticBackups 파라미터를 포함시켜 요청하면 삭제할 수 있습니다.

Request​
인스턴스 세트 삭제 Request Syntax
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets/{instance-set-id}?keepAutomaticBackups={keep-auto-backup}" \
-H "X-Auth-Token: {token-id}"
종류파라미터유형설명
Header{token-id}*StringAPI 인증 토큰 참고
URL{instance-set-id}*String인스턴스 세트 ID
Query{keep-auto-backup}Boolean자동 백업 보관 유무
- 자동백업이 생성되어 있는 경우 필수 입력
- true: 해당 인스턴스 세트로 만든 자동 백업은 보관되며 지정된 만료일에 삭제
- false: 인스턴스 세트와 함께 자동 백업 삭제
Response​
상태 코드설명
200리소스 조회/삭제 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
404사용자가 요청한 리소스가 존재하지 않은 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
인스턴스 세트 삭제 Response Example
200 OK
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "aabbccdd-a1d4-465b-8009-1d272bcc2db7"
}

인스턴스 세트 변경​

인스턴스 세트의 자동 백업 정책, 연결된 파라미터 그룹, 보안 그룹을 변경합니다.

Request​
인스턴스 세트 변경 Request Syntax
curl -X PATCH "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets/{instance-set-id}" \
-H "X-Auth-Token: {token-id}" \
-d '{Body}'
종류파라미터유형설명
Header{token-id}*StringAPI 인증 토큰 참고
URL{instance-set-id}*String인스턴스 세트 ID
BodybackupScheduleObject백업 스케줄 설정
backupSchedule.cronString백업 일정의 크론 표현
- 시간만 설정 가능
- 5자리 크론 표현식 사용
- cron 값을 ""으로 넘겨주면 백업 삭제
backupSchedule.retentionLimitInteger백업의 보존 기간(단위: 일)
descriptionString인스턴스 세트 설명
parameterGroupIdString인스턴스 세트에 연결할 파라미터 그룹 ID
- parameterGroupId 값을 ""으로 수정 불가능
securityGroups[]Object Array변경할 보안 그룹 ID 목록
securityGroups[].idString보안 그룹 ID
인스턴스 세트 변경 Request Body Example
{
"backupSchedule": {
"cron": "* 3 * * *",
"retentionLimit": 15
},
"description": ""
}
Response​
상태 코드설명
200리소스 조회/삭제 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
404사용자가 요청한 리소스가 존재하지 않은 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
인스턴스 세트 변경 Response Example
200 OK
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "aabbccdd-a1d4-465b-8009-1d272bcc2db7"
}

인스턴스 세트의 인스턴스 목록 조회​

인스턴스 세트의 인스턴스(노드) 목록을 조회합니다.

Request​
인스턴스 목록 조회 Request Syntax
curl -X GET "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets/{instance-set-id}/instances" \
-H "X-Auth-Token: {token-id}"
종류파라미터유형설명
URL{instance-set-id}*String인스턴스 세트 ID
Header{token-id}*StringAPI 인증 토큰 참고
Response​
상태 코드설명
200리소스 조회/삭제 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
sizeInteger데이터 개수
data[]Object Array인스턴스 목록
data[].instanceNameString인스턴스 이름
data[].descriptionString인스턴스 세트 설명
data[].projectIdStringProject ID
data[].roleString인스턴스 역할 (primary/replica)
data[].flavorIdString플레이버 ID
data[].versionStringRedis 버전
data[].portIntegerRedis 포트 번호
data[].subnetObject할당되어 있는 서브넷 정보
data[].subnet.idString서브넷 ID
data[].creatorString인스턴스 세트 생성자
data[].objectIdString인스턴스 ID
data[].endpointString인스턴스 엔드포인트(프라이빗 IP)
data[].licenseString라이선스
data[].createdAtString생성 시간 (RFC3339)
data[].statusString인스턴스 상태 (PROVISIONING/FAILED 등)
인스턴스 목록 조회 Response Example
200 OK
content-type: application/json; charset=UTF-8

{
"size": 2,
"data": [
{
"instanceName": "test-instance-set-1",
"description": "test",
"projectId": "abcdabcdf4d14b41a36823e2091c3a6d",
"flavorId": "xxxxxxxx-ea2f-4822-8a7d-9e301c86a58d",
"version": "6.2.5",
"port": 6379,
"subnet": {
"id": "qqqqwwww-2726-432e-aa37-04b778ef2ba1"
},
"creator": "ms@kakaoenterprise.com",
"objectId": "abcdefg-a97a-59c8-9e6a-e967383c65e2",
"role": "primary",
"endpoint": "172.30.1.244",
"license": "GPL",
"createdAt": "2024-03-11T01:15:03Z",
"status": "Running"
},
{
"instanceName": "test-instance-set-2",
"description": "test",
"projectId": "abcdabcdf4d14b41a36823e2091c3a6d",
"flavorId": "xxxxxxxx-ea2f-4822-8a7d-9e301c86a58d",
"version": "6.2.5",
"port": 6379,
"subnet": {
"id": "qqqqwwww-2726-432e-aa37-04b778ef2ba1"
},
"creator": "ms@kakaoenterprise.com",
"objectId": "abcdefg-39c8-55c2-b4d3-9009c554d102",
"role": "replica",
"endpoint": "172.30.0.67",
"license": "GPL",
"createdAt": "2024-03-11T01:15:03Z",
"status": "Running"
}
]
}

인스턴스 세트의 인스턴스 삭제​

인스턴스 세트의 인스턴스(노드)를 삭제합니다.

  • 고가용성 모드가 활성화되어 있는 경우 Primary 인스턴스는 삭제가 불가능합니다.
  • 고가용성 모드가 활성화되어 있는 경우 Running이 아닌 인스턴스는 삭제가 불가능합니다.
  • 고가용성 모드가 활성화되어 있지 않은 경우 Primary 인스턴스는 Failed 상태일 때만 삭제 가능합니다.
  • 자동백업 정책이 설정되어 있는 인스턴스 세트의 총 노드 개수가 2개일 경우 노드 삭제가 불가합니다.
Request​
인스턴스 세트의 인스턴스 삭제 Request Syntax
curl -X DELETE "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets/{instance-set-id}/instances/{instance-id}" \
-H "X-Auth-Token: {token-id}"
종류파라미터유형설명
URL{instance-set-id}*String인스턴스 세트 ID
{instance-id}*String인스턴스 ID
Header{token-id}*StringAPI 인증 토큰 참고
Response​
상태 코드설명
200리소스 조회/삭제 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
404사용자가 요청한 리소스가 존재하지 않은 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
인스턴스 세트의 인스턴스 삭제 Response Example
200 OK
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "aaaabbbb-a1d4-465b-8009-1d272bcc2db7"
}

Replica를 Primary로 승격​

특정 Replica를 Primary로 승격합니다. 고가용성 모드가 비활성화되어 있는 경우에만 승격 요청이 가능합니다.

Request​
Replica를 Primary로 승격 Request Syntax
curl -X PATCH "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets/{instance-set-id}/primary" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
종류파라미터유형설명
URL{instance-set-id}*String인스턴스 세트 ID
Header{token-id}*StringAPI 인증 토큰 참고
Content-Type*String콘텐츠 유형 기본값: application/json
BodyprimaryId*StringPrimary로 승격할 인스턴스 ID
Replica를 Primary로 승격 Request Body Example
{
"primaryId": "instance-idid-xxxx-a49f-e705e91db2fb"
}
Response​
상태 코드설명
200리소스 수정 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
404사용자가 요청한 리소스가 존재하지 않은 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
Replica를 Primary로 승격 Response Example
200 OK
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "bbccxxzz-7347-4d87-a49f-e705e91db2fb"
}

인스턴스 추가​

인스턴스(Replica 1개)를 추가합니다. Replica는 최대 5개까지 생성 가능합니다.

Request​
인스턴스 추가 Request Syntax
curl -X PATCH "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets/{instance-set-id}/replicas" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
종류파라미터유형설명
URL{instance-set-id}*String인스턴스 세트 ID
Header{token-id}*StringAPI 인증 토큰 참고
Content-Type*String콘텐츠 유형 기본값: application/json
Bodysubnet*Object배치할 서브넷 정보
subnet.id*String서브넷 ID
인스턴스 추가 Request Body Example
{
"subnet": { "id": "xxxxxxxx-0a69-4f8b-b56d-59ce12b4d55b" }
}
Response​
상태 코드설명
200리소스 수정 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
404사용자가 요청한 리소스가 존재하지 않은 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
인스턴스 추가 Response Example
200 OK
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "qqwweerr-7347-4d87-a49f-e705e91db2fb"
}

고가용성 모드 설정​

고가용성 모드를 설정 또는 설정 해제합니다. 인스턴스 세트의 상태가 Running인 경우에만 변경 가능합니다.

Request​
고가용성 모드 설정 Request Syntax
curl -X PATCH "https://redis.kr-central-2.kakaocloud.com/v1/instance-sets/{instance-set-id}/recovery" \
-H "X-Auth-Token: {token-id}" \
-H "Content-Type: application/json" \
-d '{Body}'
종류파라미터유형설명
URL{instance-set-id}*String인스턴스 세트 ID
Header{token-id}*StringAPI 인증 토큰 참고
Content-Type*String콘텐츠 유형 기본값: application/json
Bodyenabled*Boolean활성화 여부
- true: 고가용성 모드 설정
- false: 고가용성 모드 해제
고가용성 모드 설정 Request Body Example
{
"enabled": true
}
Response​
상태 코드설명
200리소스 수정 요청에 대한 성공 응답
400사용자의 요청이 유효하지 않아 작업을 진행할 수 없음
401인증되지 않은 사용자가 요청한 경우
403권한이 없는 사용자가 요청한 경우
404사용자가 요청한 리소스가 존재하지 않은 경우
500내부 에러로 작업을 진행할 수 없는 경우
필드유형설명
objectIdString인스턴스 세트 ID
고가용성 모드 설정 Response Example
200 OK
content-length: 52
content-type: application/json; charset=UTF-8

{
"objectId": "aassddff-7347-4d87-a49f-e705e91db2fb"
}