| 리전 | 엔드포인트 |
|---|---|
| 한국(판교) 리전 | https://kr1-rds-mariadb.api.gov-nhncloudservice.com |
RDS for MariaDB API를 사용하려면 User Access Key가 필요합니다. User Access Key는 NHN Cloud 계정 또는 IAM 계정을 기반으로 발급되는 인증 키로, Secret Access Key와 함께 사용하여 API 요청에 대한 인증 수단으로 활용됩니다.
User Access Key와 Secret Access Key는 콘솔의 API 보안 설정에서 발급할 수 있습니다. User Access Key 발급 및 사용에 대한 자세한 내용은 User Access Key를 참고하세요.
생성된 Key는 Appkey와 함께 요청 Header에 포함해야 합니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| X-TC-APP-KEY | Header | String | O | RDS for MariaDB 서비스의 Appkey 또는 프로젝트 통합 Appkey |
| X-TC-AUTHENTICATION-ID | Header | String | O | API 보안 설정 메뉴의 User Access Key ID |
| X-TC-AUTHENTICATION-SECRET | Header | String | O | API 보안 설정 메뉴의 Secret Access Key |
또한 프로젝트 멤버 역할에 따라 호출할 수 있는 API가 제한됩니다. RDS for MariaDB ADMIN, RDS for MariaDB VIEWER로 구분하여 권한을 부여할 수 있습니다.
RDS for MariaDB ADMIN 권한은 모든 기능을 사용 가능합니다.RDS for MariaDB VIEWER 권한은 정보를 조회하는 기능만 사용 가능합니다.API 요청 시 인증에 실패하거나 권한이 없을 경우 다음과 같은 오류가 발생합니다.
| resultCode | resultMessage | 설명 |
|---|---|---|
| 80401 | Unauthorized | 인증에 실패했습니다. |
| 80403 | Forbidden | 권한이 없습니다. |
모든 API 요청에 '200 OK'로 응답합니다. 자세한 응답 결과는 응답 본문의 헤더를 참고합니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
| 이름 | 형식 | 설명 |
|---|---|---|
| resultCode | Number | 결과 코드 - 성공: 0- 실패: 0이 아닌 값 |
| resultMessage | String | 결과 메시지 |
| isSuccessful | Boolean | 성공 여부 |
| DB 엔진 유형 | 생성 가능 여부 | OBS로부터 복원 가능 여부 | 인증 플러그인 지원 정보 |
|---|---|---|---|
| MARIADB_V10330 | O | O | NATIVE, ED25519 |
| MARIADB_V10611 | O | O | NATIVE, ED25519 |
| MARIADB_V10612 | O | O | NATIVE, ED25519 |
| MARIADB_V10616 | O | O | NATIVE, ED25519 |
| MARIADB_V10622 | O | O | NATIVE, ED25519 |
| MARIADB_V101107 | O | O | NATIVE, ED25519 |
| MARIADB_V101108 | O | O | NATIVE, ED25519 |
| MARIADB_V101113 | O | O | NATIVE, ED25519 |
| MARIADB_V11407 | O | O | NATIVE, ED25519 |
GET /v3.0/project/regions
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| regions | Body | Array | 리전 목록 |
| regions.regionCode | Body | Enum | 리전 코드 - KR1: 한국(판교) 리전 |
| regions.isEnabled | Body | Boolean | 리전의 활성화 여부 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"regions": [
{
"regionCode": "KR1",
"isEnabled": true
}
]
}
GET /v3.0/project/members
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| members | Body | Array | 프로젝트 멤버 목록 |
| members.memberId | Body | UUID | 프로젝트 멤버의 식별자 |
| members.memberName | Body | String | 프로젝트 멤버의 이름 |
| members.emailAddress | Body | String | 프로젝트 멤버의 이메일 주소 |
| members.phoneNumber | Body | String | 프로젝트 멤버의 전화번호 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"members": [
{
"memberId": "1b1d3627-507a-49ea-8cb7-c86dfa9caa58",
"memberName": "홍길동",
"emailAddress": "gildong.hong@nhn.com",
"phoneNumber": "+821012345678"
}
]
}
GET /v3.0/db-flavors
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbFlavors | Body | Array | DB 인스턴스 사양 목록 |
| dbFlavors.dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
| dbFlavors.dbFlavorName | Body | String | DB 인스턴스 사양 이름 |
| dbFlavors.ram | Body | Number | 메모리 용량(MB) |
| dbFlavors.vcpus | Body | Number | CPU 코어 수 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbFlavors": [
{
"dbFlavorId": "50be6d9c-02d6-4594-a2d4-12010eb65ec0",
"dbFlavorName": "m2.c1m2",
"ram": 2048,
"vcpus": 1
}
]
}
GET /v3.0/network/subnets
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| subnets | Body | Array | 서브넷 목록 |
| subnets.subnetId | Body | UUID | 서브넷의 식별자 |
| subnets.subnetName | Body | String | 서브넷을 식별할 수 있는 이름 |
| subnets.subnetCidr | Body | String | 서브넷의 CIDR |
| subnets.usingGateway | Body | Boolean | 게이트웨이 사용 여부 |
| subnets.availableIpCount | Body | Number | 사용 가능한 IP 수 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"subnets": [
{
"subnetId": "1b2a9b23-0725-4b92-8c78-35db66b8ad9f",
"subnetName": "Default Network",
"subnetCidr": "192.168.0.0/24",
"usingGateway": true,
"availableIpCount": 240
}
]
}
GET /v3.0/db-versions
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbVersions | Body | Array | DB 엔진 목록 |
| dbVersions.dbVersion | Body | String | DB 엔진 유형 |
| dbVersions.dbVersionName | Body | String | DB 엔진 이름 |
| dbVersions.restorableFromObs | Body | Boolean | 오브젝트 스토리지로부터 복원 가능 여부 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbVersions": [
{
"dbVersion": "MARIADB_V10330",
"dbVersionName": "Maria DB 10.3.30",
"restorableFromObs": true
}
]
}
GET /v3.0/storage-types
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| storageTypes | Body | Array | 데이터 스토리지 타입 목록 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"storageTypes": [
"General SSD",
"General HDD"
]
}
GET /v3.0/storages
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| storages | Body | Array | 데이터 스토리지 목록 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"storages": [
"General SSD",
"General HDD"
]
}
| 상태명 | 설명 |
|---|---|
PREPARING |
작업이 준비 중인 경우 |
READY |
작업이 준비 완료된 경우 |
RUNNING |
작업이 진행 중인 경우 |
COMPLETED |
작업이 완료된 경우 |
REGISTERED |
작업이 등록된 경우 |
WAIT_TO_REGISTER |
작업 등록 대기 중인 경우 |
INTERRUPTED |
작업 진행 중 인터럽트가 발생한 경우 |
CANCELED |
작업이 취소된 경우 |
FAILED |
작업이 실패한 경우 |
ERROR |
작업 진행 중 오류가 발생한 경우 |
DELETED |
작업이 삭제된 경우 |
FAIL_TO_READY |
작업 준비에 실패한 경우 |
GET /v3.0/jobs/{jobId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| jobId | URL | UUID | O | 작업의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 작업의 식별자 |
| jobStatus | Body | Enum | 작업의 현재 상태 |
| resourceRelations | Body | Array | 연관 리소스 목록 |
| resourceRelations.resourceType | Body | Enum | 연관 리소스 유형 |
| resourceRelations.resourceId | Body | UUID | 연관 리소스의 식별자 |
| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"jobId": "0ddb042c-5af6-43fb-a914-f4dd0540eb7c",
"jobStatus": "RUNNING",
"resourceRelations": [
{
"resourceType": "DB_INSTANCE",
"resourceId": "56b39dcf-65eb-47ec-9d4f-09f160ba2266"
}
],
"createdYmdt": "2023-02-22T20:47:12+09:00",
"updatedYmdt": "2023-02-22T20:49:46+09:00"
}
GET /v3.0/db-instance-groups
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbInstanceGroups | Body | Array | DB 인스턴스 그룹 목록 |
| dbInstanceGroups.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
| dbInstanceGroups.replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태 - STANDALONE: 단일- HIGH_AVAILABILITY: 고가용성 |
| dbInstanceGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| dbInstanceGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbInstanceGroups": [
{
"dbInstanceGroupId": "05de0746-89fd-49c8-94f9-9c5b1df97009",
"replicationType": "STANDALONE",
"createdYmdt": "2023-02-13T17:35:20+09:00",
"updatedYmdt": "2023-02-13T17:35:20+09:00"
}
]
}
GET /v3.0/db-instance-groups/{dbInstanceGroupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceGroupId | URL | UUID | O | DB 인스턴스 그룹의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
| replicationType | Body | Enum | DB 인스턴스 그룹의 복제 형태 - STANDALONE: 단일- HIGH_AVAILABILITY: 고가용성 |
| dbInstances | Body | Array | DB 인스턴스 그룹에 속한 DB 인스턴스 목록 |
| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입 - MASTER: 마스터- FAILED_MASTER: 장애 조치된 마스터- CANDIDATE_MASTER: 예비 마스터- READ_ONLY_SLAVE: 읽기 복제본 |
| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbInstanceGroupId": "36617a8e-0df8-4b16-b6ea-6306019e95da",
"replicationType": "STANDALONE",
"dbInstances": [
{
"dbInstanceId": "6d2db0ef-fe9b-4ed4-97b1-d97fcb4cf1b8",
"dbInstanceType": "MASTER",
"dbInstanceStatus": "AVAILABLE"
}
],
"createdYmdt": "2023-03-03T17:38:14+09:00",
"updatedYmdt": "2023-03-03T17:38:14+09:00"
}
| 상태 | 설명 |
|---|---|
AVAILABLE |
DB 인스턴스가 사용 가능한 경우 |
BEFORE_CREATE |
DB 인스턴스가 생성 전인 경우 |
STORAGE_FULL |
DB 인스턴스의 용량이 부족한 경우 |
FAIL_TO_CREATE |
DB 인스턴스 생성에 실패한 경우 |
FAIL_TO_CONNECT |
DB 인스턴스 연결에 실패한 경우 |
REPLICATION_STOP |
DB 인스턴스의 복제가 중단된 경우 |
FAILOVER |
DB 인스턴스가 고가용성 장애 조치된 경우 |
SHUTDOWN |
DB 인스턴스가 중지된 경우 |
DELETED |
DB 인스턴스가 삭제된 경우 |
| 상태 | 설명 |
|---|---|
APPLYING_PARAMETER_GROUP |
파라미터 그룹 적용 중 |
BACKING_UP |
백업 중 |
CANCELING |
취소 중 |
CREATING |
생성 중 |
CREATING_SCHEMA |
DB 스키마 생성 중 |
CREATING_USER |
사용자 생성 중 |
DELETING |
삭제 중 |
DELETING_SCHEMA |
DB 스키마 삭제 중 |
DELETING_USER |
사용자 삭제 중 |
EXPORTING_BACKUP |
백업을 내보내는 중 |
FAILING_OVER |
장애 조치 중 |
MIGRATING |
마이그레이션 중 |
MODIFYING |
수정 중 |
PREPARING |
준비 중 |
PROMOTING |
승격 중 |
REBUILDING |
재구축 중 |
REPAIRING |
복구 중 |
REPLICATING |
복제 중 |
RESTARTING |
재시작 중 |
RESTARTING_FORCIBLY |
강제 재시작 중 |
RESTORING |
복원 중 |
STARTING |
시작 중 |
STOPPING |
정지 중 |
SYNCING_SCHEMA |
DB 스키마 동기화 중 |
SYNCING_USER |
사용자 동기화 중 |
UPDATING_USER |
사용자 수정 중 |
GET /v3.0/db-instances
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbInstances | Body | Array | DB 인스턴스 목록 |
| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
| dbInstances.dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
| dbInstances.description | Body | String | DB 인스턴스에 대한 추가 정보 |
| dbInstances.dbVersion | Body | Enum | DB 엔진 유형 |
| dbInstances.dbPort | Body | Number | DB 포트 |
| dbInstances.dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입 - MASTER: 마스터- FAILED_MASTER: 장애 조치된 마스터- CANDIDATE_MASTER: 예비 마스터- READ_ONLY_SLAVE: 읽기 복제본 |
| dbInstances.dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
| dbInstances.progressStatus | Body | Enum | DB 인스턴스의 현재 진행 상태 |
| dbInstances.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| dbInstances.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbInstances": [
{
"dbInstanceId": "d067593b-1acc-4ccc-9e8a-cc72d6d79ec3",
"dbInstanceGroupId": "51c7d080-ff36-4025-84b1-9d9d0b4fe9e0",
"dbInstanceName": "db-instance",
"description": null,
"dbVersion": "MARIADB_V10330",
"dbPort": 10000,
"dbInstanceType": "MASTER",
"dbInstanceStatus": "AVAILABLE",
"progressStatus": "NONE",
"createdYmdt": "2023-01-23T12:03:13+09:00",
"updatedYmdt": "2023-02-02T17:20:17+09:00"
}
]
}
GET /v3.0/db-instances/{dbInstanceId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
| dbInstanceGroupId | Body | UUID | DB 인스턴스 그룹의 식별자 |
| dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
| description | Body | String | DB 인스턴스에 대한 추가 정보 |
| dbVersion | Body | Enum | DB 엔진 유형 |
| dbPort | Body | Number | DB 포트 |
| dbInstanceType | Body | Enum | DB 인스턴스의 역할 타입 - MASTER: 마스터- FAILED_MASTER: 장애 조치된 마스터- CANDIDATE_MASTER: 예비 마스터- READ_ONLY_SLAVE: 읽기 복제본 |
| dbInstanceStatus | Body | Enum | DB 인스턴스의 현재 상태 |
| progressStatus | Body | Enum | DB 인스턴스의 현재 작업 진행 상태 |
| dbFlavorId | Body | UUID | DB 인스턴스 사양의 식별자 |
| parameterGroupId | Body | UUID | DB 인스턴스에 적용된 파라미터 그룹의 식별자 |
| dbSecurityGroupIds | Body | Array | DB 인스턴스에 적용된 DB 보안 그룹의 식별자 목록 |
| notificationGroupIds | Body | Array | DB 인스턴스에 적용된 알림 그룹의 식별자 목록 |
| useDeletionProtection | Body | Boolean | DB 인스턴스 삭제 보호 여부 |
| supportAuthenticationPlugin | Body | Boolean | 인증 플러그인 지원 여부 |
| needToApplyParameterGroup | Body | Boolean | 최신 파라미터 그룹 적용 필요 여부 |
| needMigration | Body | Boolean | 마이그레이션 필요 여부 |
| supportDbVersionUpgrade | Body | Boolean | DB 버전 업그레이드 지원 여부 |
| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbInstanceId": "d067593b-1acc-4ccc-9e8a-cc72d6d79ec3",
"dbInstanceGroupId": "51c7d080-ff36-4025-84b1-9d9d0b4fe9e0",
"dbInstanceName": "db-instance",
"description": null,
"dbVersion": "MARIADB_V10330",
"dbPort": 10000,
"dbInstanceType": "MASTER",
"dbInstanceStatus": "AVAILABLE",
"progressStatus": "NONE",
"dbFlavorId": "e9ed4ef6-78d7-46fa-ace9-32481e97f3b7",
"parameterGroupId": "b03e8b13-de27-4d04-a488-ff5689589372",
"dbSecurityGroupIds": ["01908c35-d2c9-4852-baf0-17f06ec42c03"],
"notificationGroupIds": ["83a62a33-ddbf-4a04-8653-e54463d5b1ac"],
"useDeletionProtection": false,
"supportAuthenticationPlugin": true,
"needToApplyParameterGroup": false,
"needMigration": false,
"supportDbVersionUpgrade": true,
"createdYmdt": "2022-11-23T12:03:13+09:00",
"updatedYmdt": "2022-12-02T17:20:17+09:00"
}
POST /v3.0/db-instances
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
| dbVersion | Body | Enum | O | DB 엔진 유형 |
| dbPort | Body | Number | O | DB 포트 - 최솟값: 3306- 최댓값: 43306 |
| dbUserName | Body | String | O | DB 사용자 계정명 |
| dbPassword | Body | String | O | DB 사용자 계정 암호 - 최소 길이: 4- 최대 길이: 256 |
| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부 - 기본값: false |
| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초) - 기본값: 3- 최솟값: 1- 최댓값: 600 |
| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부 - 기본값: false |
| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부 - 기본값: false |
| authenticationPlugin | Body | Enum | X | 인증 플러그인 - 기본값: NATIVE(미지원 시 ED25519)- NATIVE: mysql_native_password- ED25519: auth_ed25519 |
| network | Body | Object | O | 네트워크 정보 객체 |
| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부 - 기본값: false |
| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 - 예시: kr-pub-a |
| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
| storage.storageType | Body | Enum | O | 데이터 스토리지 타입 - 예시: General SSD |
| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB) - 최솟값: 20- 최댓값: 2048 |
| backup | Body | Object | O | 백업 정보 객체 |
| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일) - 최솟값: 0- 최댓값: 730 |
| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초) - 기본값: 1800- 최솟값: 0- 최댓값: 21600 |
| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수 - 기본값: 0- 최솟값: 0- 최댓값: 10 |
| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 - 기본값: true |
| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 - 예시: 00:00:00 |
| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration 백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다. - HALF_AN_HOUR: 30분- ONE_HOUR: 1시간- ONE_HOUR_AND_HALF: 1시간 30분- TWO_HOURS: 2시간- TWO_HOURS_AND_HALF: 2시간 30분- THREE_HOURS: 3시간 |
{
"dbInstanceName": "db-instance",
"description": "description",
"dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
"dbVersion": "MARIADB_V10330",
"dbPort": 10000,
"dbUserName": "db-user",
"dbPassword": "password",
"parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
"dbSecurityGroupIds": [
"b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
],
"userGroupIds": [],
"network": {
"subnetId": "e721a9dd-dad0-4cf0-a53b-dd654ebfc683",
"availabilityZone": "kr-pub-a"
},
"storage": {
"storageType": "General SSD",
"storageSize": 20
},
"backup": {
"backupPeriod": 1,
"backupSchedules": [
{
"backupWndBgnTime": "00:00:00",
"backupWndDuration": "ONE_HOUR"
}
]
}
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
PUT /v3.0/db-instances/{dbInstanceId}
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| dbInstanceName | Body | String | X | DB 인스턴스를 식별할 수 있는 마스터 이름 |
| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
| dbPort | Body | Number | X | DB 포트 - 최솟값: 3306- 최댓값: 43306 |
| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 |
| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 |
| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부 - 기본값: false |
| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부 고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다. - 기본값: false |
{
"dbInstanceName": "db-instance2",
"description": "description2",
"dbPort": 10001,
"dbSecurityGroupIds": [],
"executeBackup": true
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
DELETE /v3.0/db-instances/{dbInstanceId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/restart
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부 고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다. - 기본값: false |
| executeBackup | Body | Boolean | X | 현재 시점 백업 진행 여부 - 기본값: false |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/force-restart
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
POST /v3.0/db-instances/{dbInstanceId}/start
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/stop
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/backup
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| backupName | Body | String | O | 백업을 식별할 수 있는 이름 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/backup-to-object-storage
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| tenantId | Body | String | O | 백업이 저장될 오브젝트 스토리지의 테넌트 ID |
| username | Body | String | O | NHN Cloud 계정 또는 IAM 계정 ID |
| password | Body | String | O | 백업이 저장될 오브젝트 스토리지의 API 비밀번호 |
| targetContainer | Body | String | O | 백업이 저장될 오브젝트 스토리지의 컨테이너 |
| objectPath | Body | String | O | 컨테이너에 저장될 백업의 경로 |
{
"tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
"username": "gildong.hong@nhn.com",
"password": "password",
"targetContainer": "container",
"objectPath": "backups/backup_file"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/replicate
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
| dbFlavorId | Body | UUID | X | DB 인스턴스 사양의 식별자 - 기본값: 원본 DB 인스턴스 값 |
| dbPort | Body | Number | X | DB 포트 - 기본값: 원본 DB 인스턴스 값 - 최솟값: 3306- 최댓값: 43306 |
| parameterGroupId | Body | UUID | X | 파라미터 그룹의 식별자 - 기본값: 원본 DB 인스턴스 값 |
| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 - 기본값: 원본 DB 인스턴스 값 |
| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부 - 기본값: false |
| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부 - 기본값: false |
| network | Body | Object | O | 네트워크 정보 객체 |
| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부 - 기본값: 원본 DB 인스턴스 값 |
| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 - 예시: kr-pub-a |
| storage | Body | Object | X | 데이터 스토리지 정보 객체 |
| storage.storageType | Body | Enum | X | 데이터 스토리지 타입 - 예시: General SSD |
| storage.storageSize | Body | Number | X | 데이터 스토리지 크기(GB) - 기본값: 원본 DB 인스턴스 값 - 최솟값: 20- 최댓값: 2048 |
| backup | Body | Object | X | 백업 정보 객체 |
| backup.backupPeriod | Body | Number | X | 백업 보관 기간(일) - 기본값: 원본 DB 인스턴스 값 - 최솟값: 0- 최댓값: 730 |
| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초) - 기본값: 원본 DB 인스턴스 값 - 최솟값: 0- 최댓값: 21600 |
| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수 - 기본값: 원본 DB 인스턴스 값 - 최솟값: 0- 최댓값: 10 |
| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 - 기본값: 원본 DB 인스턴스 값 |
| backup.backupSchedules | Body | Array | X | 예정된 자동 백업 목록 |
| backup.backupSchedules.backupWndBgnTime | Body | String | X | 백업 시작 시각 - 예시: 00:00:00- 기본값: 원본 DB 인스턴스 값 |
| backup.backupSchedules.backupWndDuration | Body | Enum | X | 백업 Duration 백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다. - HALF_AN_HOUR: 30분- ONE_HOUR: 1시간- ONE_HOUR_AND_HALF: 1시간 30분- TWO_HOURS: 2시간- TWO_HOURS_AND_HALF: 2시간 30분- THREE_HOURS: 3시간- 기본값: 원본 DB 인스턴스 값 |
{
"dbInstanceName": "db-instance-replicate",
"description": "description",
"dbPort": 11000,
"network": {
"availabilityZone": "kr-pub-a"
},
"storage": {
"stroageSize": 100
}
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/promote
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
GET /v3.0/db-instances/{dbInstanceId}/restoration-info
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| oldestRestorableYmdt | Body | DateTime | 가장 오래된 복원 가능한 시각 |
| latestRestorableYmdt | Body | DateTime | 가장 최신의 복원 가능한 시각 |
| restorableBackups | Body | Array | 복원 가능한 백업 목록 |
| restorableBackups.backup | Body | Object | 백업 정보 객체 |
| restorableBackups.backup.backupId | Body | UUID | 백업의 식별자 |
| restorableBackups.backup.backupName | Body | String | 백업 이름 |
| restorableBackups.backup.useBackupLock | Body | Boolean | 테이블 잠금 사용 여부 |
| restorableBackups.backup.backupSize | Body | Number | 백업 크기 |
| restorableBackups.backup.backupType | Body | Enum | 백업 유형 - AUTO: 자동- MANUAL: 수동 |
| restorableBackups.backup.backupStatus | Body | Enum | 백업 상태 - BACKING_UP: 백업 중인 경우- COMPLETED: 백업이 완료된 경우- DELETING: 백업이 삭제 중인 경우- DELETED: 백업이 삭제된 경우- ERROR: 오류가 발생한 경우 |
| restorableBackups.backup.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
| restorableBackups.backup.dbInstanceName | Body | String | 원본 DB 인스턴스의 이름 |
| restorableBackups.backup.dbVersion | Body | String | DB 엔진 유형 |
| restorableBackups.backup.failoverCount | Body | Number | 장애 조치 횟수 |
| restorableBackups.backup.binLogFileName | Body | String | 바이너리 로그 파일 이름 |
| restorableBackups.backup.binLogPosition | Body | Number | 바이너리 로그 파일 위치 |
| restorableBackups.backup.createdYmdt | Body | DateTime | 백업 생성 일시 |
| restorableBackups.backup.updatedYmdt | Body | DateTime | 백업 갱신 일시 |
| restorableBackups.restorableBinLogs | Body | Array | 해당 백업을 이용하여 복원 가능한 바이너리 로그 이름 목록 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"oldestRestorableYmdt": "2023-07-09T16:33:33+09:00",
"latestRestorableYmdt": "2023-07-10T15:44:44+09:00",
"restorableBackups": [
{
"backup": {
"backupId": "145d889a-fe08-474f-8f58-bde576ff96a9",
"backupName": "example-backup-name",
"backupStatus": "COMPLETED",
"dbInstanceId": "dba1be25-9429-4589-9716-7fb6daad7cb9",
"dbInstanceName": "original-db-instance-name",
"dbVersion": "MARIADB_V10330",
"backupType": "MANUAL",
"backupSize": 8299904,
"useBackupLock": true,
"failoverCount": 0,
"binLogFileName": "mysql-bin.000001",
"binLogPosition": 367916037,
"createdYmdt": "2023-07-10T15:44:44+09:00",
"updatedYmdt": "2023-07-10T15:46:07+09:00"
},
"restorableBinLogs": [
"mysql-bin.000001"
]
}
]
}
GET /v3.0/db-instances/{dbInstanceId}/restoration-info/last-query
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| restoreType | Query | Enum | O | 복원 타입 종류 - TIMESTAMP: 복원 가능한 시간 이내의 시간을 이용한 시점 복원 타입- BINLOG: 복원 가능한 바이너리 로그 위치를 이용한 시점 복원 타입 |
TIMESTAMP인 경우| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| restoreYmdt | Query | DateTime | O | DB 인스턴스 복원 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
BINLOG인 경우| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| backupId | Query | UUID | O | 복원에 사용할 백업의 식별자 |
| binLogFileName | Query | String | O | 복원에 사용할 바이너리 로그 이름 |
| binLogPosition | Query | Number | O | 복원에 사용할 바이너리 로그 위치 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| executedYmdt | Body | DateTime | 쿼리 수행 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| lastQuery | Body | String | 마지막 수행 쿼리 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"executedYmdt": "2023-03-17T14:02:29+09:00",
"lastQuery": "INSERT INTO `test`.`test`SET @1='0123'"
}
POST /v3.0/db-instances/{dbInstanceId}/restore
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| restore | Body | Object | O | 복원 정보 객체 |
| restore.restoreType | Body | Enum | O | 복원 타입 종류 - TIMESTAMP: 복원 가능 시간 범위 내의 특정 시각으로 시점 복원- BINLOG: 복원 가능한 바이너리 로그 위치를 지정하여 시점 복원- BACKUP: 기존에 생성한 백업을 이용하여 스냅숏 복원 |
| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
| dbPort | Body | Number | O | DB 포트 - 최솟값: 3306- 최댓값: 43306 |
| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부 - 기본값: false |
| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초) - 기본값: 3- 최솟값: 1- 최댓값: 600 |
| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부 - 기본값: false |
| network | Body | Object | O | 네트워크 정보 객체 |
| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부 - 기본값: false |
| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 - 예시: kr-pub-a |
| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
| storage.storageType | Body | Enum | O | 데이터 스토리지 타입 - 예시: General SSD |
| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB) - 최솟값: 20- 최댓값: 2048 |
| backup | Body | Object | O | 백업 정보 객체 |
| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일) - 최솟값: 0- 최댓값: 730 |
| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초) - 기본값: 1800- 최솟값: 0- 최댓값: 21600 |
| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수 - 기본값: 0- 최솟값: 0- 최댓값: 10 |
| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 - 기본값: true |
| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 - 예시: 00:00:00 |
| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration 백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다. - HALF_AN_HOUR: 30분- ONE_HOUR: 1시간- ONE_HOUR_AND_HALF: 1시간 30분- TWO_HOURS: 2시간- TWO_HOURS_AND_HALF: 2시간 30분- THREE_HOURS: 3시간 |
| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부 기본값: false |
TIMESTAMP인 경우)| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| restore.restoreYmdt | Body | DateTime | O | DB 인스턴스 복원 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) 복원 정보 조회로 조회한 가장 최신의 복원 가능한 시간 이전에 대해서만 복원이 가능하다. |
{
"dbInstanceName": "db-instance",
"description": "description",
"dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
"dbPort": 10000,
"dbUserName": "db-user",
"dbPassword": "password",
"parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
"dbSecurityGroupIds": [
"b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
],
"userGroupIds": [],
"network": {
"subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
"availabilityZone": "kr-pub-a"
},
"storage": {
"storageType": "General SSD",
"storageSize": 20
},
"restore": {
"restoreType": "TIMESTAMP",
"restoreYmdt": "2023-07-10T15:44:44+09:00"
},
"backup": {
"backupPeriod": 1,
"backupSchedules": [
{
"backupWndBgnTime": "00:00:00",
"backupWndDuration": "ONE_HOUR_AND_HALF"
}
]
}
}
BINLOG인 경우)| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| restore.backupId | Body | UUID | O | 복원에 사용할 백업의 식별자 |
| restore.binLog | Body | Object | O | 바이너리 로그 정보 객체 |
| restore.binLog.binLogFileName | Body | String | O | 복원에 사용할 바이너리 로그 이름 |
| restore.binLog.binLogPosition | Body | Number | O | 복원에 사용할 바이너리 로그 위치 |
{
"dbInstanceName": "db-instance",
"description": "description",
"dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
"dbPort": 10000,
"dbUserName": "db-user",
"dbPassword": "password",
"parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
"dbSecurityGroupIds": [
"b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
],
"userGroupIds": [],
"network": {
"subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
"availabilityZone": "kr-pub-a"
},
"storage": {
"storageType": "General SSD",
"storageSize": 20
},
"restore": {
"restoreType": "BINLOG",
"backupId":"3ae7914f-9b42-4729-b125-87417b72cf36",
"binLogFileName": "mysql-bin.000001",
"binLogPosition": 1234567
},
"backup": {
"backupPeriod": 1,
"backupSchedules": [
{
"backupWndBgnTime": "00:00:00",
"backupWndDuration": "ONE_HOUR_AND_HALF"
}
]
}
}
BACKUP인 경우)| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| restore.backupId | Body | UUID | O(restoreType이 BACKUP인 경우) |
복원에 사용할 백업의 식별자 |
{
"dbInstanceName": "db-instance",
"description": "description",
"dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
"dbPort": 10000,
"dbUserName": "db-user",
"dbPassword": "password",
"parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
"dbSecurityGroupIds": [
"b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
],
"userGroupIds": [],
"network": {
"subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
"availabilityZone": "kr-pub-a"
},
"storage": {
"storageType": "General SSD",
"storageSize": 20
},
"restore": {
"restoreType": "BACKUP",
"backupId":"3ae7914f-9b42-4729-b125-87417b72cf36"
},
"backup": {
"backupPeriod": 1,
"backupSchedules": [
{
"backupWndBgnTime": "00:00:00",
"backupWndDuration": "ONE_HOUR_AND_HALF"
}
]
}
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/restore-from-obs
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| restore | Body | Object | O | 복원 정보 객체 |
| restore.tenantId | Body | String | O | 백업이 저장된 오브젝트 스토리지의 테넌트 ID |
| restore.username | Body | String | O | NHN Cloud 계정 또는 IAM 계정 ID |
| restore.password | Body | String | O | 백업이 저장된 오브젝트 스토리지의 API 비밀번호 |
| restore.targetContainer | Body | String | O | 백업이 저장된 오브젝트 스토리지의 컨테이너 |
| restore.objectPath | Body | String | O | 컨테이너에 저장된 백업의 경로 |
| dbVersion | Body | Enum | O | DB 엔진 유형 |
| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
| dbPort | Body | Number | O | DB 포트 - 최솟값: 3306- 최댓값: 43306 |
| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부 - 기본값: false |
| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초) - 기본값: 3- 최솟값: 1- 최댓값: 600 |
| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부 - 기본값: false |
| network | Body | Object | O | 네트워크 정보 객체 |
| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부 - 기본값: false |
| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 - 예시: kr-pub-a |
| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
| storage.storageType | Body | Enum | O | 데이터 스토리지 타입 - 예시: General SSD |
| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB) - 최솟값: 20- 최댓값: 2048 |
| backup | Body | Object | O | 백업 정보 객체 |
| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일) - 최솟값: 0- 최댓값: 730 |
| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초) - 기본값: 1800- 최솟값: 0- 최댓값: 21600 |
| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수 - 기본값: 0- 최솟값: 0- 최댓값: 10 |
| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 - 기본값: true |
| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 - 예시: 00:00:00 |
| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration 백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다. - HALF_AN_HOUR: 30분- ONE_HOUR: 1시간- ONE_HOUR_AND_HALF: 1시간 30분- TWO_HOURS: 2시간- TWO_HOURS_AND_HALF: 2시간 30분- THREE_HOURS: 3시간 |
{
"dbInstanceName": "db-instance",
"description": "description",
"dbFlavorId": "71f69bf9-3c01-4c1a-b135-bb75e93f6268",
"dbPort": 10000,
"dbVersion": "MARIADB_V10330",
"dbUserName": "db-user",
"dbPassword": "password",
"parameterGroupId": "488bf4f5-d8f7-459b-ace6-529b606c8570",
"dbSecurityGroupIds": [
"b0483a3d-e8e2-46f6-9e84-d5e31b0d44f4"
],
"userGroupIds": [],
"network": {
"subnetId": "3ae7914f-9b42-4729-b125-87417b72cf36",
"availabilityZone": "kr-pub-a"
},
"storage": {
"storageType": "General SSD",
"storageSize": 20
},
"restore": {
"tenantId":"tenant-id",
"username":"username",
"password":"password",
"targetContainer":"targetContainer",
"objectPath":"objectPath"
},
"backup": {
"backupPeriod": 1,
"backupSchedules": [
{
"backupWndBgnTime": "00:00:00",
"backupWndDuration": "ONE_HOUR_AND_HALF"
}
]
}
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
PUT /v3.0/db-instances/{dbInstanceId}/deletion-protection
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| useDeletionProtection | Body | Boolean | O | 삭제 보호 여부 |
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
PUT /v3.0/db-instances/{dbInstanceId}/high-availability
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| useHighAvailability | Body | Boolean | O | 고가용성 사용 여부 |
| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초) - 최솟값: 1- 최댓값: 600 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/high-availability/resume
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/high-availability/pause
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/high-availability/repair
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
POST /v3.0/db-instances/{dbInstanceId}/high-availability/split
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
GET /v3.0/db-instances/{dbInstanceId}/storage-info
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| storageType | Body | Enum | 데이터 스토리지 타입 |
| storageSize | Body | Number | 데이터 스토리지 크기(GB) |
| storageStatus | Body | Enum | 데이터 스토리지의 현재 상태 - DETACHED: 부착되지 않음- ATTACHED: 부착됨- DELETED: 삭제됨 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"storageType": "General SSD",
"storageSize": 20,
"storageStatus": "ATTACHED"
}
PUT /v3.0/db-instances/{dbInstanceId}/storage-info
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| storageSize | Body | Number | O | 데이터 스토리지 크기(GB) - 최솟값: 현재값 - 최댓값: 2048 |
| useOnlineFailover | Body | Boolean | X | 장애 조치를 이용한 재시작 여부 고가용성을 사용 중인 DB 인스턴스에서만 사용 가능합니다. - 기본값: false |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
GET /v3.0/db-instances/{dbInstanceId}/backup-info
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| backupPeriod | Body | Number | 백업 보관 기간(일) |
| ftwrlWaitTimeout | Body | Number | 쿼리 지연 대기 시간(초) |
| backupRetryCount | Body | Number | 백업 재시도 횟수 |
| replicationRegion | Body | Enum | 백업 복제 리전 |
| useBackupLock | Body | Boolean | 테이블 잠금 사용 여부 |
| backupSchedules | Body | Array | 예정된 자동 백업 목록 |
| backupSchedules.backupWndBgnTime | Body | String | 백업 시작 시각 |
| backupSchedules.backupWndDuration | Body | Enum | 백업 Duration |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"backupPeriod": 1,
"ftwrlWaitTimeout": 1800,
"backupRetryCount": 0,
"replicationRegion": null,
"useBackupLock": false,
"backupSchedules": [
{
"backupWndBgnTime": "00:00:00",
"backupWndDuration": "ONE_HOUR_AND_HALF"
}
]
}
PUT /v3.0/db-instances/{dbInstanceId}/backup-info
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| backupPeriod | Body | Number | X | 백업 보관 기간(일) - 최솟값: 0- 최댓값: 730 |
| ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초) - 최솟값: 0- 최댓값: 21600 |
| backupRetryCount | Body | Number | X | 백업 재시도 횟수 - 최솟값: 0- 최댓값: 10 |
| useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 |
| backupSchedules | Body | Array | X | 예정된 자동 백업 목록 |
| backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 - 예시: 00:00:00 |
| backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration 백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다. - HALF_AN_HOUR: 30분- ONE_HOUR: 1시간- ONE_HOUR_AND_HALF: 1시간 30분- TWO_HOURS: 2시간- TWO_HOURS_AND_HALF: 2시간 30분- THREE_HOURS: 3시간 |
{
"backupPeriod": 5,
"useBackupLock": true,
"backupSchedules": [
{
"backupWndBgnTime": "01:00:00",
"backupWndDuration": "TWO_HOURS"
}
]
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
GET /v3.0/db-instances/{dbInstanceId}/network-info
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| availabilityZone | Body | Enum | DB 인스턴스를 생성할 가용성 영역 |
| subnet | Body | Object | 서브넷 객체 |
| subnet.subnetId | Body | UUID | 서브넷의 식별자 |
| subnet.subnetName | Body | UUID | 서브넷을 식별할 수 있는 이름 |
| subnet.subnetCidr | Body | UUID | 서브넷의 CIDR |
| endPoints | Body | Array | 접속 정보 목록 |
| endPoints.domain | Body | String | 도메인 |
| endPoints.ipAddress | Body | String | IP 주소 |
| endPoints.endPointType | Body | Enum | 접속 정보 타입 - EXTERNAL: 외부 접속 도메인- INTERNAL: 내부 접속 도메인- PUBLIC: (Deprecated) 외부 접속 도메인- PRIVATE: (Deprecated) 내부 접속 도메인 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"availabilityZone": "kr-pub-a",
"subnet": {
"subnetId": "bd453789-34ae-416c-9f78-05b9e43a46be",
"subnetName": "Default Network",
"subnetCidr": "192.168.0.0/16"
},
"endPoints": [
{
"domain": "ea548a78-d85f-43b4-8ddf-c88d999b9905.internal.kr1.mariadb.rds.nhncloudservice.com",
"ipAddress": "192.168.0.2",
"endPointType": "INTERNAL"
}
]
}
PUT /v3.0/db-instances/{dbInstanceId}/network-info
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| usePublicAccess | Body | Boolean | O | 외부 접속 가능 여부 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
GET /v3.0/db-instances/{dbInstanceId}/db-users
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbUsers | Body | Array | DB 사용자 목록 |
| dbUsers.dbUserId | Body | UUID | DB 사용자의 식별자 |
| dbUsers.dbUserName | Body | String | DB 사용자 계정 이름 |
| dbUsers.host | Body | String | DB 사용자 계정의 호스트 이름 |
| dbUsers.authorityType | Body | Enum | DB 사용자 권한 타입 - READ: SELECT 쿼리 수행 가능한 권한- CRUD: DML 쿼리 수행 가능한 권한- DDL: DDL 쿼리 수행 가능한 권한 |
| dbUsers.dbUserStatus | Body | Enum | DB 사용자의 현재 상태 - STABLE: 생성됨- CREATING: 생성 중- UPDATING: 수정 중- DELETING: 삭제 중- DELETED: 삭제됨 |
| dbUsers.authenticationPlugin | Body | Enum | 인증 플러그인 - NATIVE: mysql_native_password- ED25519: auth_ed25519 |
| dbUsers.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| dbUsers.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbUsers": [
{
"dbUserId": "4b3d530b-fd02-4d59-a620-83d019a67bbb",
"dbUserName": "db-user",
"host": "%",
"authorityType": "DDL",
"dbUserStatus": "STABLE",
"createdYmdt": "2023-03-17T14:02:29+09:00",
"updatedYmdt": "2023-03-17T14:02:31+09:00"
}
]
}
POST /v3.0/db-instances/{dbInstanceId}/db-users
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| dbUserName | Body | String | O | DB 사용자 계정 이름 - 최소 길이: 1- 최대 길이: 32 |
| dbPassword | Body | String | O | DB 사용자 계정 암호 - 최소 길이: 4- 최대 길이: 256 |
| host | Body | String | O | DB 사용자 계정의 호스트명 - 예시: 1.1.1.% |
| authorityType | Body | Enum | O | DB 사용자 권한 타입 - READ: SELECT 쿼리 수행 가능한 권한- CRUD: DML 쿼리 수행 가능한 권한- DDL: DDL 쿼리 수행 가능한 권한 |
| authenticationPlugin | Body | Enum | X | 인증 플러그인 - 기본값: NATIVE(미지원 시 ED25519)- NATIVE: mysql_native_password- ED25519: auth_ed25519 |
{
"dbUserName": "db-user",
"dbPassword": "password",
"host": "1.1.1.%",
"authorityType": "CRUD"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
PUT /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| dbUserId | URL | UUID | O | DB 사용자의 식별자 |
| dbPassword | Body | String | X | DB 사용자 계정 암호 - 최소 길이: 4- 최대 길이: 256 |
| authorityType | Body | Enum | X | DB 사용자 권한 타입 - READ: SELECT 쿼리 수행 가능한 권한- CRUD: DML 쿼리 수행 가능한 권한- DDL: DDL 쿼리 수행 가능한 권한 |
| authenticationPlugin | Body | Enum | X | 인증 플러그인 - NATIVE: mysql_native_password- ED25519: auth_ed25519 |
{
"authorityType": "DDL"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
DELETE /v3.0/db-instances/{dbInstanceId}/db-users/{dbUserId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| dbUserId | URL | UUID | O | DB 사용자의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
GET /v3.0/db-instances/{dbInstanceId}/db-schemas
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbSchemas | Body | Array | DB 스키마 목록 |
| dbSchemas.dbSchemaId | Body | UUID | DB 스키마의 식별자 |
| dbSchemas.dbSchemaName | Body | String | DB 스키마 이름 |
| dbSchemas.dbSchemaStatus | Body | Enum | DB 스키마의 현재 상태 - STABLE: 생성됨- CREATING: 생성 중- DELETING: 삭제 중- DELETED: 삭제됨 |
| dbSchemas.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbSchemas": [
{
"dbSchemaId": "7c9a94b8-86c1-435d-8af2-82a5e9d53fd4",
"dbSchemaName": "schema",
"dbSchemaStatus": "STABLE",
"createdYmdt": "2023-03-20T13:37:45+09:00"
}
]
}
POST /v3.0/db-instances/{dbInstanceId}/db-schemas
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| dbSchemaName | Body | String | O | DB 스키마 이름 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
DELETE /v3.0/db-instances/{dbInstanceId}/db-schemas/{dbSchemaId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| dbSchemaId | URL | UUID | O | DB 스키마의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
GET /v3.0/db-instances/{dbInstanceId}/log-files
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| logFileTypes | Query | Array | X | 로그 파일 타입 종류 목록 - ERROR: error.log- BINLOG: mysql-bin- GENERAL: general.log- SLOW_QUERY: slow_query.log- AUDIT: server_audit.log- BACKUP: xtra_full.log |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| logFiles | Body | Array | 로그 파일 목록 |
| logFiles.logFileName | Body | String | 로그 파일 이름 |
| logFiles.logFileType | Body | Enum | 로그 파일 타입 종류 - ERROR: error.log- BINLOG: mysql-bin- GENERAL: general.log- SLOW_QUERY: slow_query.log- AUDIT: server_audit.log- BACKUP: xtra_full.log |
| logFiles.logFileSize | Body | Number | 로그 파일 크기(Byte) |
| logFiles.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"logFiles": [
{
"logFileName": "xtra_full.log-20230317",
"logFileType": "BACKUP",
"logFileSize": 4096,
"createdYmdt": "2023-03-17T14:02:29+09:00"
}
]
}
POST /v3.0/db-instances/{dbInstanceId}/log-files/export
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | URL | UUID | O | DB 인스턴스의 식별자 |
| logFileNames | Body | Array | O | 로그 파일 이름 목록 - 최소 크기: 1 |
| tenantId | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 테넌트 ID |
| username | Body | String | O | NHN Cloud 계정 또는 IAM 계정 ID |
| password | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 API 비밀번호 |
| targetContainer | Body | String | O | 로그 파일이 저장될 오브젝트 스토리지의 컨테이너 |
| objectPath | Body | String | O | 컨테이너에 저장될 로그 파일의 경로 |
{
"logFileNames": ["xtra_full.log-20230317"],
"tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
"username": "gildong.hong@nhn.com",
"password": "password",
"targetContainer": "container",
"objectPath": "logs/backup"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
| 상태 | 설명 |
|---|---|
BACKING_UP |
백업 중인 경우 |
COMPLETED |
백업이 완료된 경우 |
DELETING |
백업이 삭제 중인 경우 |
DELETED |
백업이 삭제된 경우 |
ERROR |
오류가 발생한 경우 |
GET /v3.0/backups
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| page | Query | Number | O | 조회할 목록의 페이지 - 최솟값: 1 |
| size | Query | Number | O | 조회할 목록의 페이지 크기 - 최솟값: 1- 최댓값: 100 |
| backupType | Query | Enum | X | 백업 유형 - AUTO: 자동- MANUAL: 수동- 기본값: 전체 |
| dbInstanceId | Query | UUID | X | 원본 DB 인스턴스의 식별자 |
| dbVersion | Query | Enum | X | DB 엔진 유형 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| totalCounts | Body | Number | 전체 백업 목록 수 |
| backups | Body | Array | 백업 목록 |
| backups.backupId | Body | UUID | 백업의 식별자 |
| backups.backupName | Body | String | 백업을 식별할 수 있는 이름 |
| backups.backupStatus | Body | Enum | 백업의 현재 상태 |
| backups.dbInstanceId | Body | UUID | 원본 DB 인스턴스의 식별자 |
| backups.dbVersion | Body | Enum | DB 엔진 유형 |
| backups.backupType | Body | Enum | 백업 유형 |
| backups.backupSize | Body | Number | 백업의 크기(Byte) |
| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"totalCounts": 1,
"backups": [
{
"backupId": "0017f136-3e01-4530-94aa-20661afe6632",
"backupName": "backup",
"backupStatus": "COMPLETED",
"dbInstanceId": "142e6ccc-3bfb-4e1e-84f7-38861284fafd",
"dbVersion": "MARIADB_V10330",
"backupType": "AUTO",
"backupSize": 4996786,
"createdYmdt": "2023-02-21T00:35:00+09:00",
"updatedYmdt": "2023-02-22T00:35:32+09:00"
}
]
}
POST /v3.0/backups/{backupId}/export
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| backupId | URL | UUID | O | 백업의 식별자 |
| tenantId | Body | String | O | 백업이 저장될 오브젝트 스토리지의 테넌트 ID |
| username | Body | String | O | NHN Cloud 계정 또는 IAM 계정 ID |
| password | Body | String | O | 백업이 저장될 오브젝트 스토리지의 API 비밀번호 |
| targetContainer | Body | String | O | 백업이 저장될 오브젝트 스토리지의 컨테이너 |
| objectPath | Body | String | O | 컨테이너에 저장될 백업의 경로 |
{
"tenantId": "399631c404744dbbb18ce4fa2dc71a5a",
"username": "gildong.hong@nhn.com",
"password": "password",
"targetContainer": "container",
"objectPath": "backups/backup_file"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
[주의] 수동 백업의 경우 백업이 수행된 DB 인스턴스가 존재하지 않으면, 백업을 오브젝트 스토리지로 내보낼 수 없습니다.
POST /v3.0/backups/{backupId}/restore
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| backupId | URL | UUID | O | 백업의 식별자 |
| dbInstanceName | Body | String | O | DB 인스턴스를 식별할 수 있는 마스터 이름 |
| dbInstanceCandidateName | Body | String | X | DB 인스턴스를 식별할 수 있는 예비 마스터 이름 |
| description | Body | String | X | DB 인스턴스에 대한 추가 정보 |
| dbFlavorId | Body | UUID | O | DB 인스턴스 사양의 식별자 |
| dbPort | Body | Integer | O | DB 포트 - 최솟값: 3306- 최댓값: 43306 |
| parameterGroupId | Body | UUID | O | 파라미터 그룹의 식별자 |
| dbSecurityGroupIds | Body | Array | X | DB 보안 그룹의 식별자 목록 |
| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
| useHighAvailability | Body | Boolean | X | 고가용성 사용 여부 - 기본값: false |
| pingInterval | Body | Number | X | 고가용성 사용 시 Ping 간격(초) - 기본값: 3- 최솟값: 1- 최댓값: 600 |
| useDefaultNotification | Body | Boolean | X | 기본 알림 사용 여부 - 기본값: false |
| useDeletionProtection | Body | Boolean | X | 삭제 보호 여부 - 기본값: false |
| network | Body | Object | O | 네트워크 정보 객체 |
| network.subnetId | Body | UUID | O | 서브넷의 식별자 |
| network.usePublicAccess | Body | Boolean | X | 외부 접속 가능 여부 - 기본값: false |
| network.availabilityZone | Body | Enum | O | DB 인스턴스를 생성할 가용성 영역 - 예시: kr-pub-a |
| storage | Body | Object | O | 데이터 스토리지 정보 객체 |
| storage.storageType | Body | Enum | O | 데이터 스토리지 타입 - 예시: General SSD |
| storage.storageSize | Body | Number | O | 데이터 스토리지 크기(GB) - 최솟값: 20- 최댓값: 2048 |
| backup | Body | Object | O | 백업 정보 객체 |
| backup.backupPeriod | Body | Number | O | 백업 보관 기간(일) - 최솟값: 0- 최댓값: 730 |
| backup.ftwrlWaitTimeout | Body | Number | X | 쿼리 지연 대기 시간(초) - 기본값: 1800- 최솟값: 0- 최댓값: 21600 |
| backup.backupRetryCount | Body | Number | X | 백업 재시도 횟수 - 기본값: 0- 최솟값: 0- 최댓값: 10 |
| backup.useBackupLock | Body | Boolean | X | 테이블 잠금 사용 여부 - 기본값: true |
| backup.backupSchedules | Body | Array | O | 예정된 자동 백업 목록 |
| backup.backupSchedules.backupWndBgnTime | Body | String | O | 백업 시작 시각 - 예시: 00:00:00 |
| backup.backupSchedules.backupWndDuration | Body | Enum | O | 백업 Duration 백업 시작 시각부터 Duration 안에 자동 백업이 실행됩니다. - HALF_AN_HOUR: 30분- ONE_HOUR: 1시간- ONE_HOUR_AND_HALF: 1시간 30분- TWO_HOURS: 2시간- TWO_HOURS_AND_HALF: 2시간 30분- THREE_HOURS: 3시간 |
{
"dbInstanceName": "db-instance-restore",
"dbFlavorId": "50be6d9c-02d6-4594-a2d4-12010eb65ec0",
"dbPort": 10000,
"parameterGroupId": "132d383c-38e3-468a-a826-5e9a8fff15d0",
"network": {
"subnetId": "e721a9dd-dad0-4cf0-a53b-dd654ebfc683",
"availabilityZone": "kr-pub-a"
},
"storage": {
"storageType": "General SSD",
"storageSize": 20
},
"backup": {
"backupPeriod": 1,
"backupSchedules": [
{
"backupWndBgnTime": "00:00:00",
"backupWndDuration": "HALF_AN_HOUR"
}
]
}
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
DELETE /v3.0/backups/{backupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| backupId | URL | UUID | O | 백업의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
| 상태 | 설명 |
|---|---|
NONE |
진행 중인 작업이 없음 |
CREATING_RULE |
규칙 정책 생성 중 |
UPDATING_RULE |
규칙 정책 수정 중 |
DELETING_RULE |
규칙 정책 삭제 중 |
GET /v3.0/db-security-groups
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbSecurityGroups | Body | Array | DB 보안 그룹 목록 |
| dbSecurityGroups.dbSecurityGroupId | Body | UUID | DB 보안 그룹의 식별자 |
| dbSecurityGroups.dbSecurityGroupName | Body | String | DB 보안 그룹을 식별할 수 있는 이름 |
| dbSecurityGroups.description | Body | String | DB 보안 그룹에 대한 추가 정보 |
| dbSecurityGroups.progressStatus | Body | Enum | DB 보안 그룹의 현재 진행 상태 |
| dbSecurityGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| dbSecurityGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbSecurityGroups": [
{
"dbSecurityGroupId": "fe4f2aee-afbb-4c19-a5e9-eb2eab394708",
"dbSecurityGroupName": "dbSecurityGroup",
"description": "description",
"progressStatus": "NONE",
"createdYmdt": "2023-02-19T19:18:13+09:00",
"updatedYmdt": "2022-02-19T19:18:13+09:00"
}
]
}
GET /v3.0/db-security-groups/{dbSecurityGroupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbSecurityGroupId | Body | UUID | DB 보안 그룹의 식별자 |
| dbSecurityGroupName | Body | String | DB 보안 그룹을 식별할 수 있는 이름 |
| description | Body | String | DB 보안 그룹에 대한 추가 정보 |
| progressStatus | Body | Enum | DB 보안 그룹의 현재 진행 상태 |
| rules | Body | Array | DB 보안 그룹 규칙 목록 |
| rules.ruleId | Body | UUID | DB 보안 그룹 규칙의 식별자 |
| rules.description | Body | String | DB 보안 그룹 규칙에 대한 추가 정보 |
| rules.direction | Body | Enum | 통신 방향 - INGRESS: 수신- EGRESS: 송신 |
| rules.etherType | Body | Enum | Ether 타입 - IPV4: IPv4- IPV6: IPv6 |
| rules.port | Body | Object | 포트 객체 |
| rules.port.portType | Body | Enum | 포트 타입 - DB_PORT: 각 DB 인스턴스 포트값으로 설정됩니다.- PORT: 지정된 포트값으로 설정됩니다.- PORT_RANGE: 지정된 포트 범위로 설정됩니다. |
| rules.port.minPort | Body | Number | 최소 포트 범위 |
| rules.port.maxPort | Body | Number | 최대 포트 범위 |
| rules.cidr | Body | String | 허용할 트래픽의 원격 소스 |
| rules.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| rules.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"dbSecurityGroup": {
"dbSecurityGroupId": "fe4f2aee-afbb-4c19-a5e9-eb2eab394708",
"dbSecurityGroupName": "dbSecurityGroup",
"description": "description",
"progressStatus": "NONE",
"rules": [
{
"ruleId": "17c88ef6-95f1-4678-84f9-fee1b22e250d",
"description": "description",
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
"portType": "PORT_RANGE",
"minPort": 10000,
"maxPort": 10005
},
"cidr": "0.0.0.0/0",
"createdYmdt": "2023-02-19T19:18:13+09:00",
"updatedYmdt": "2023-02-19T19:18:13+09:00"
}
],
"createdYmdt": "2023-02-19T19:18:13+09:00",
"updatedYmdt": "2023-02-19T19:18:13+09:00"
}
}
POST /v3.0/db-security-groups
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbSecurityGroupName | Body | String | O | DB 보안 그룹을 식별할 수 있는 이름 |
| description | Body | String | X | DB 보안 그룹에 대한 추가 정보 |
| rules | Body | Array | O | DB 보안 그룹 규칙 목록 |
| rules.description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
| rules.direction | Body | Enum | O | 통신 방향 - INGRESS: 수신- EGRESS: 송신 |
| rules.etherType | Body | Enum | O | Ether 타입 - IPV4: IPv4- IPV6: IPv6 |
| rules.cidr | Body | String | O | 허용할 트래픽의 원격 소스 - 예시: 1.1.1.1/32 |
| rules.port | Body | Object | O | 포트 객체 |
| rules.port.portType | Body | Enum | O | 포트 타입 - DB_PORT: 각 DB 인스턴스 포트값으로 설정됩니다. minPort값과 maxPort값을 필요로 하지 않습니다.- PORT: 지정된 포트값으로 설정됩니다. minPort값과 maxPort값이 같아야 합니다.- PORT_RANGE: 지정된 포트 범위로 설정됩니다. |
| rules.port.minPort | Body | Number | X | 최소 포트 범위 - 최솟값: 1 |
| rules.port.maxPort | Body | Number | X | 최대 포트 범위 - 최댓값: 65535 |
[주의] DB 포트는 송신 방향으로 설정할 수 없습니다.
{
"dbSecurityGroupName": "dbSecurityGroup",
"description": "description",
"rules": [
{
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
"portType": "PORT_RANGE",
"minPort": 10000,
"maxPort": 10005
},
"cidr": "0.0.0.0/0"
}
]
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| dbSecurityGroupId | Body | UUID | DB 보안 그룹의 식별자 |
PUT /v3.0/db-security-groups/{dbSecurityGroupId}
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
| dbSecurityGroupName | Body | String | X | DB 보안 그룹을 식별할 수 있는 이름 |
| description | Body | String | X | DB 보안 그룹에 대한 추가 정보 |
{
"dbSecurityGroupName": "dbSecurityGroup",
"description": "description"
}
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
DELETE /v3.0/db-security-groups/{dbSecurityGroupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
POST /v3.0/db-security-groups/{dbSecurityGroupId}/rules
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
| direction | Body | Enum | O | 통신 방향 - INGRESS: 수신- EGRESS: 송신 |
| etherType | Body | Enum | O | Ether 타입 - IPV4: IPv4- IPV6: IPv6 |
| port | Body | Object | O | 포트 객체 |
| port.portType | Body | Enum | O | 포트 타입 - DB_PORT: 각 DB 인스턴스 포트값으로 설정됩니다. minPort값과 maxPort값을 필요로 하지 않습니다.- PORT: 지정된 포트값으로 설정됩니다. minPort값과 maxPort값이 같아야 합니다.- PORT_RANGE: 지정된 포트 범위로 설정됩니다. |
| port.minPort | Body | Number | X | 최소 포트 범위 - 최솟값: 1 |
| port.maxPort | Body | Number | X | 최대 포트 범위 - 최댓값: 65535 |
| cidr | Body | String | O | 허용할 트래픽의 원격 소스 - 예시: 1.1.1.1/32 |
[주의] DB 포트는 송신 방향으로 설정할 수 없습니다.
{
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
"portType": "PORT",
"minPort": 10000,
"maxPort": 10000
},
"cidr": "0.0.0.0/0"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
PUT /v3.0/db-security-groups/{dbSecurityGroupId}/rules/{ruleId}
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
| ruleId | URL | UUID | O | DB 보안 그룹 규칙의 식별자 |
| description | Body | String | X | DB 보안 그룹 규칙에 대한 추가 정보 |
| direction | Body | Enum | O | 통신 방향 - INGRESS: 수신- EGRESS: 송신 |
| etherType | Body | Enum | O | Ether 타입 - IPV4: IPv4- IPV6: IPv6 |
| port | Body | Object | O | 포트 객체 |
| port.portType | Body | Enum | O | 포트 타입 - DB_PORT: 각 DB 인스턴스 포트값으로 설정됩니다. minPort값과 maxPort값을 필요로 하지 않습니다.- PORT: 지정된 포트값으로 설정됩니다. minPort값과 maxPort값이 같아야 합니다.- PORT_RANGE: 지정된 포트 범위로 설정됩니다. |
| port.minPort | Body | Number | X | 최소 포트 범위 - 최솟값: 1 |
| port.maxPort | Body | Number | X | 최대 포트 범위 - 최댓값: 65535 |
| cidr | Body | String | O | 허용할 트래픽의 원격 소스 - 예시: 1.1.1.1/32 |
[주의] DB 포트는 송신 방향으로 설정할 수 없습니다.
{
"direction": "INGRESS",
"etherType": "IPV4",
"port": {
"portType": "DB_PORT"
},
"cidr": "0.0.0.0/0"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
DELETE /v3.0/db-security-groups/{dbSecurityGroupId}/rules
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbSecurityGroupId | URL | UUID | O | DB 보안 그룹의 식별자 |
| ruleIds | Query | Array | O | DB 보안 그룹 규칙의 식별자 목록 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| jobId | Body | UUID | 요청한 작업의 식별자 |
GET /v3.0/parameter-groups
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbVersion | Query | Enum | X | DB 엔진 유형 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| parameterGroups | Body | Array | 파라미터 그룹 목록 |
| parameterGroups.parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
| parameterGroups.parameterGroupName | Body | String | 파라미터 그룹을 식별할 수 있는 이름 |
| parameterGroups.description | Body | String | 파라미터 그룹에 대한 추가 정보 |
| parameterGroups.dbVersion | Body | Enum | DB 엔진 유형 |
| parameterGroups.parameterGroupStatus | Body | Enum | 파라미터 그룹의 현재 상태 - STABLE: 적용 완료- NEED_TO_APPLY: 적용 필요 |
| parameterGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| parameterGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"parameterGroups": [
{
"parameterGroupId": "404e8a89-ca4d-4fca-96c2-1518754d50b7",
"parameterGroupName": "parameter-group",
"description": null,
"dbVersion": "MARIADB_V10330",
"parameterGroupStatus": "STABLE",
"createdYmdt": "2023-02-31T15:28:17+09:00",
"updatedYmdt": "2023-02-31T15:28:17+09:00"
}
]
}
GET /v3.0/parameter-groups/{parameterGroupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
| parameterGroupName | Body | String | 파라미터 그룹을 식별할 수 있는 이름 |
| description | Body | String | 파라미터 그룹에 대한 추가 정보 |
| dbVersion | Body | Enum | DB 엔진 유형 |
| parameterGroupStatus | Body | Enum | 파라미터 그룹의 현재 상태 - STABLE: 적용 완료- NEED_TO_APPLY: 적용 필요 |
| parameters | Body | Array | 파라미터 목록 |
| parameters.parameterId | Body | UUID | 파라미터 식별자 |
| parameters.parameterFileGroup | Body | Enum | 파라미터 파일 그룹 타입 - CLIENT: client- MYSQL: mysql- MYSQLD: mysqld |
| parameters.parameterName | Body | String | 파라미터 이름 |
| parameters.fileParameterName | Body | String | 파라미터 파일 이름 |
| parameters.value | Body | String | 현재 설정된 값 |
| parameters.defaultValue | Body | String | 기본값 |
| parameters.allowedValue | Body | String | 허용된 값 |
| parameters.updateType | Body | Enum | 수정 타입 - VARIABLE: 언제든 수정 가능- CONSTANT: 수정 불가능- INIT_VARIABLE: DB 인스턴스 생성 시에만 수정 가능 |
| parameters.applyType | Body | Enum | 적용 타입 - SESSION: 세션 적용- FILE: 설정 파일 적용(재시작 필요)- BOTH: 전체(재시작 필요) |
| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"parameterGroupId": "404e8a89-ca4d-4fca-96c2-1518754d50b7",
"parameterGroupName": "parameter-group",
"description": null,
"dbVersion": "MARIADB_V10330",
"parameterGroupStatus": "STABLE",
"parameters": [
{
"parameterId": "fa040b5e-f29f-46de-8f0d-bba4cb82887a",
"parameterFileGroup": "client",
"parameterName": "socket",
"fileParameterName": "socket",
"value": "/home/tcrds/db/mysql/tmp/mysql.sock",
"defaultValue": "/home/tcrds/db/mysql/tmp/mysql.sock",
"allowedValue": "",
"updateType": "CONSTANT",
"applyType": "BOTH"
}
],
"createdYmdt": "2023-03-13T11:02:28+09:00",
"updatedYmdt": "2023-03-13T11:02:28+09:00"
}
POST /v3.0/parameter-groups
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| parameterGroupName | Body | String | O | 파라미터 그룹을 식별할 수 있는 이름 |
| description | Body | String | X | 파라미터 그룹에 대한 추가 정보 |
| dbVersion | Body | Enum | O | DB 엔진 유형 |
{
"parameterGroupName": "parameter-group",
"dbVersion": "MARIADB_V10330"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
POST /v3.0/parameter-groups/{parameterGroupId}/copy
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
| parameterGroupName | Body | String | O | 파라미터 그룹을 식별할 수 있는 이름 |
| description | Body | String | X | 파라미터 그룹에 대한 추가 정보 |
{
"parameterGroupName": "parameter-group-copy",
"description": "copy"
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| parameterGroupId | Body | UUID | 파라미터 그룹의 식별자 |
PUT /v3.0/parameter-groups/{parameterGroupId}
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
| parameterGroupName | Body | String | X | 파라미터 그룹을 식별할 수 있는 이름 |
| description | Body | String | X | 파라미터 그룹에 대한 추가 정보 |
{
"parameterGroupName": "parameter-group"
}
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
PUT /v3.0/parameter-groups/{parameterGroupId}/parameters
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
| modifiedParameters | Body | Array | O | 변경할 파라미터 목록 |
| modifiedParameters.parameterId | Body | UUID | O | 파라미터의 식별자 |
| modifiedParameters.value | Body | String | O | 변경할 파라미터 값 |
{
"modifiedParameters": [
{
"parameterId": "3abac558-7274-44e1-9f4a-f100f53f67ba",
"value": "0"
}
]
}
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
PUT /v3.0/parameter-groups/{parameterGroupId}/reset
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
DELETE /v3.0/parameter-groups/{parameterGroupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| parameterGroupId | URL | UUID | O | 파라미터 그룹의 식별자 |
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
GET /v3.0/user-groups
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| userGroups | Body | Array | 사용자 그룹 목록 |
| userGroups.userGroupId | Body | UUID | 사용자 그룹의 식별자 |
| userGroups.userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
| userGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| userGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"userGroups": [
{
"userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
"userGroupName": "dev-team",
"createdYmdt": "2023-02-23T10:07:54+09:00",
"updatedYmdt": "2023-02-26T01:15:50+09:00"
}
]
}
GET /v3.0/user-groups/{userGroupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| userGroupId | URL | UUID | O | 사용자 그룹의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| userGroupId | Body | UUID | 사용자 그룹의 식별자 |
| userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
| userGroupTypeCode | Body | Enum | 사용자 그룹 종류 ENTIRE: 프로젝트 멤버 전체를 포함하는 사용자 그룹 INDIVIDUAL_MEMBER: 특정 프로젝트 멤버를 포함하는 사용자 그룹 |
| members | Body | Array | 프로젝트 멤버 목록 |
| members.memberId | Body | UUID | 프로젝트 멤버의 식별자 |
| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
"userGroupName": "dev-team",
"userGroupTypeCode": "INDIVIDUAL_MEMBER",
"members": [
{
"memberId": "1321e759-2ef3-4b85-9921-b13e918b24b5"
}
],
"createdYmdt": "2023-02-23T10:07:54+09:00",
"updatedYmdt": "2023-02-26T01:15:50+09:00"
}
POST /v3.0/user-groups
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| userGroupName | Body | String | O | 사용자 그룹을 식별할 수 있는 이름 |
| memberIds | Body | Array | O | 프로젝트 멤버의 식별자 목록 selectAllYN이 true인 경우 해당 필드 값은 무시됨 |
| selectAllYN | Body | Boolean | X | 프로젝트 멤버 전체 유무 true인 경우 해당 그룹은 전체 멤버에 대해 설정됨 |
{
"userGroupName": "dev-team",
"memberIds": [
"1321e759-2ef3-4b85-9921-b13e918b24b5"
]
}
{
"userGroupName": "dev-team",
"selectAllYN":true
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| userGroupId | Body | UUID | 사용자 그룹의 식별자 |
PUT /v3.0/user-groups/{userGroupId}
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| userGroupId | URL | UUID | O | 사용자 그룹의 식별자 |
| userGroupName | Body | String | X | 사용자 그룹을 식별할 수 있는 이름 |
| memberIds | Body | Array | X | 프로젝트 멤버의 식별자 목록 |
| selectAllYN | Body | Boolean | X | 프로젝트 멤버 전체 유무 true인 경우 해당 그룹은 전체 멤버에 대해 설정됨 |
{
"userGroupName": "dev-team",
"memberIds": [
"1321e759-2ef3-4b85-9921-b13e918b24b5",
"f9064b09-2b15-442e-a4b0-3a5a2754555e"
]
}
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
DELETE /v3.0/user-groups/{userGroupId}
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| userGroupId | URL | UUID | O | 사용자 그룹의 식별자 |
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
GET /v3.0/notification-groups
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| notificationGroups | Body | Array | 알림 그룹 목록 |
| notificationGroups.notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
| notificationGroups.notificationGroupName | Body | String | 알림 그룹을 식별할 수 있는 이름 |
| notificationGroups.notifyEmail | Body | Boolean | 이메일 알림 여부 |
| notificationGroups.notifySms | Body | Boolean | SMS 알림 여부 |
| notificationGroups.isEnabled | Body | Boolean | 활성화 여부 |
| notificationGroups.createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| notificationGroups.updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"notificationGroups": [
{
"notificationGroupId": "b3901f17-9971-4d1e-8a81-8448cf533dc7",
"notificationGroupName": "dev-team-noti",
"notifyEmail": true,
"notifySms": false,
"isEnabled": true,
"createdYmdt": "2023-02-20T13:34:13+09:00",
"updatedYmdt": "2023-02-20T13:34:13+09:00"
}
]
}
GET /v3.0/notification-groups/{notificationGroupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
| notificationGroupName | Body | String | 알림 그룹을 식별할 수 있는 이름 |
| notifyEmail | Body | Boolean | 이메일 알림 여부 |
| notifySms | Body | Boolean | SMS 알림 여부 |
| isEnabled | Body | Boolean | 활성화 여부 |
| dbInstances | Body | Array | 감시 대상 DB 인스턴스 목록 |
| dbInstances.dbInstanceId | Body | UUID | DB 인스턴스의 식별자 |
| dbInstances.dbInstanceName | Body | String | DB 인스턴스를 식별할 수 있는 이름 |
| userGroups | Body | Array | 사용자 그룹 목록 |
| userGroups.userGroupId | Body | UUID | 사용자 그룹의 식별자 |
| userGroups.userGroupName | Body | String | 사용자 그룹을 식별할 수 있는 이름 |
| createdYmdt | Body | DateTime | 생성 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| updatedYmdt | Body | DateTime | 수정 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"notificationGroupId": "b3901f17-9971-4d1e-8a81-8448cf533dc7",
"notificationGroupName": "dev-team-noti",
"notifyEmail": true,
"notifySms": false,
"isEnabled": true,
"dbInstances": [
{
"dbInstanceId": "ed5cb985-526f-4c54-9ae0-40288593de65",
"dbInstanceName": "database"
}
],
"userGroups": [
{
"userGroupId": "1aac0437-f32d-4923-ad3c-ac61c1cfdfe0",
"userGroupName": "dev-team"
}
],
"createdYmdt": "2023-02-20T13:34:13+09:00",
"updatedYmdt": "2023-02-20T13:34:13+09:00"
}
POST /v3.0/notification-groups
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| notificationGroupName | Body | String | O | 알림 그룹을 식별할 수 있는 이름 |
| notifyEmail | Body | Boolean | X | 이메일 알림 여부 - 기본값: true |
| notifySms | Body | Boolean | X | SMS 알림 여부 - 기본값: true |
| isEnabled | Body | Boolean | X | 활성화 여부 - 기본값: true |
| dbInstanceIds | Body | Array | O | 감시 대상 DB 인스턴스의 식별자 목록 |
| userGroupIds | Body | Array | O | 사용자 그룹의 식별자 목록 |
{
"notificationGroupName": "dev-team-noti",
"notifyEmail": false,
"isEnable": true,
"dbInstanceIds": [
"ed5cb985-526f-4c54-9ae0-40288593de65"
],
"userGroupIds": [
"1aac0437-f32d-4923-ad3c-ac61c1cfdfe0"
]
}
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| notificationGroupId | Body | UUID | 알림 그룹의 식별자 |
PUT /v3.0/notification-groups/{notificationGroupId}
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
| notificationGroupName | Body | String | X | 알림 그룹을 식별할 수 있는 이름 |
| notifyEmail | Body | Boolean | X | 이메일 알림 여부 |
| notifySms | Body | Boolean | X | SMS 알림 여부 |
| isEnabled | Body | Boolean | X | 활성화 여부 |
| dbInstanceIds | Body | Array | X | 감시 대상 DB 인스턴스의 식별자 목록 |
| userGroupIds | Body | Array | X | 사용자 그룹의 식별자 목록 |
{
"notifyEmail": true,
"dbInstanceIds": [
"ed5cb985-526f-4c54-9ae0-40288593de65",
"d51b7da0-682f-47ff-b588-b739f6adc740"
]
}
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
DELETE /v3.0/notification-groups/{notificationGroupId}
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| notificationGroupId | URL | UUID | O | 알림 그룹의 식별자 |
이 API는 응답 본문을 반환하지 않습니다.
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
}
}
GET /v3.0/metrics
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| metrics | Body | Array | Metric 목록 |
| metrics.measureName | Body | Enum | 조회 지표 유형 |
| metrics.unit | Body | String | 측정값 단위 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"metrics": [
{
"measureName": "CPU_USAGE",
"unit": "%"
}
]
}
GET /v3.0/metric-statistics
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| dbInstanceId | Query | UUID | O | DB 인스턴스의 식별자 |
| measureNames | Query | Array | O | 조회 지표 목록 - 최소 크기: 1 |
| from | Query | Datetime | O | 시작 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| to | Query | Datetime | O | 종료 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| interval | Query | Number | X | 조회 간격 |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| metricStatistics | Body | Array | 통계 정보 목록 |
| metricStatistics.measureName | Body | Enum | 측정 항목 유형 |
| metricStatistics.unit | Body | String | 측정값 단위 |
| metricStatistics.values | Body | Array | 측정값 목록 |
| metricStatistics.values.timestamp | Body | Timestamp | 측정 시간 |
| metricStatistics.values.value | Body | Object | 측정값 |
{
"metricStatistics": [
{
"measureName": "MYSQL_STATUS",
"unit": "",
"values": [
[
1679298540,
"1"
],
[
1679298600,
"1"
],
[
1679298660,
"1"
]
]
}
]
}
이벤트는 카테고리로 분류할 수 있으며 아래와 같습니다.
| 이벤트 카테고리 | 설명 |
|---|---|
| ALL | 전체 |
| BACKUP | 백업 |
| DB_INSTANCE | DB 인스턴스 |
| JOB | 작업 |
| TENANT | 테넌트 |
| MONITORING | 모니터링 |
GET /v3.0/events
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 필수 | 설명 |
|---|---|---|---|---|
| page | Query | Number | O | 조회할 목록의 페이지 - 최솟값: 1 |
| size | Query | Number | O | 조회할 목록의 페이지 크기 - 최솟값: 1- 최댓값: 100 |
| from | Query | Datetime | O | 시작 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| to | Query | Datetime | O | 종료 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
| eventCategoryType | Query | Enum | O | 조회할 이벤트 카테고리 유형 - ALL: 전체- INSTANCE: DB 인스턴스- BACKUP: 백업- DB_SECURITY_GROUP: DB 보안 그룹- TENANT: 테넌트 |
| sourceId | Query | String | X | 이벤트가 발생한 대상 리소스의 식별자 |
| keyword | Query | String | X | 이벤트 메시지에 포함된 문자열 검색어 |
| ascendingOrder | Query | Enum | X | 이벤트 메시지 정렬 순서 - ASC: 오름차순- DESC: 내림차순- 기본값: DESC |
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| totalCounts | Body | Number | 전체 이벤트 목록 수 |
| events | Body | Array | 이벤트 목록 |
| events.eventCategoryType | Body | Enum | 이벤트 카테고리 유형 |
| events.eventCode | Body | Enum | 발생한 이벤트의 유형 |
| events.sourceId | Body | String | 이벤트 소스의 식별자 |
| events.sourceName | Body | String | 이벤트 소스를 식별할 수 있는 이름 |
| events.messages | Body | Array | 이벤트 메시지 목록 |
| events.messages.langCode | Body | String | 언어 코드 |
| events.messages.message | Body | String | 이벤트 메시지 |
| events.eventYmdt | Body | DateTime | 이벤트 발생 일시(YYYY-MM-DDThh:mm:ss.SSSTZD) |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"totalCounts": 28,
"events": [
{
"eventCategoryType": "INSTANCE",
"eventCode": "INSTC_02_01",
"sourceId": "76f00947-356e-4a20-8922-428368cc45ed",
"sourceName": "db-instance",
"messages": [
{
"langCode": "EN",
"message": "DB instance started"
},
{
"langCode": "JA",
"message": "DBインスタンスの起動"
},
{
"langCode": "KO",
"message": "DB 인스턴스 시작"
},
{
"langCode": "ZH",
"message": "DB instance started"
}
],
"eventYmdt": "2023-03-20T16:31:59+09:00"
}
]
}
GET /v3.0/event-codes
이 API는 요청 본문을 요구하지 않습니다.
| 이름 | 종류 | 형식 | 설명 |
|---|---|---|---|
| eventCodes | Body | Array | 이벤트 코드 목록 |
| eventCodes.eventCode | Body | Enum | 이벤트 코드 |
| eventCodes.eventCategoryType | Body | Enum | 이벤트 카테고리 유형 |
{
"header": {
"resultCode": 0,
"resultMessage": "SUCCESS",
"isSuccessful": true
},
"eventCodes": [
{
"eventCode": "INSTC_05_01",
"eventCategoryType": "INSTANCE"
}
]
}