Network > Private DNS > API v2 가이드
NHN Cloud Network 서비스는 API 호출 시 인증/인가를 위해 IaaS 토큰을 사용합니다. IaaS 토큰은 NHN Cloud의 OpenStack 기반 인프라 서비스(IaaS)에서 사용하는 인증 토큰입니다. IaaS 토큰 발급 및 사용에 대한 자세한 내용은 IaaS 토큰을 참고하세요.
Private DNS Zone과 레코드 세트는 network 타입 엔드포인트를 이용합니다. 정확한 엔드포인트는 토큰 발급 응답의 serviceCatalog를 참조합니다.
| 타입 |
리전 |
엔드포인트 |
| network |
한국(판교) 리전 한국(평촌) 리전 한국(광주) 리전 |
https://kr1-api-network-infrastructure.nhncloudservice.com https://kr2-api-network-infrastructure.nhncloudservice.com https://kr3-api-network-infrastructure.nhncloudservice.com |
API 응답에 가이드에 명시되지 않은 필드가 나타날 수 있습니다. 이런 필드는 NHN Cloud 내부 용도로 사용하며 사전 공지 없이 변경될 수 있으므로 사용하지 않습니다.
Private DNS Zone
Private DNS Zone 목록 보기
GET /v2.0/privatedns/zones
X-Auth-Token: {tokenId}
요청
이 API는 요청 본문을 요구하지 않습니다.
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| id |
Query |
UUID |
- |
조회할 Private DNS Zone ID |
| name |
Query |
String |
- |
조회할 Private DNS Zone 이름 |
| status |
Query |
String |
- |
조회할 Private DNS Zone 상태 |
응답
| 이름 |
종류 |
형식 |
설명 |
| zones |
Body |
Array |
Private DNS Zone 객체 목록 |
| zones.id |
Body |
UUID |
Private DNS Zone ID |
| zones.name |
Body |
String |
Private DNS Zone 이름 |
| zones.description |
Body |
String |
Private DNS Zone 설명 |
| zones.status |
Body |
String |
Private DNS Zone 상태 |
| zones.networks |
Body |
Array |
Private DNS Zone에 속한 네트워크 목록 |
| zones.created_at |
Body |
Date |
Private DNS Zone 생성한 시간 |
| zones.updated_at |
Body |
Date |
Private DNS Zone 수정한 시간 |
| zones.rrset_count |
Body |
Integer |
Private DNS Zone의 레코드 세트 개수 |
예시
{
"zones": [
{
"id": "ecb6de30-5665-4f97-9b96-3ff06e90ecd8",
"name": "example.net.",
"description": "",
"status": "ACTIVE",
"networks": [
"8970f625-0b41-4e04-8ece-64a7d5651113",
"8a725559-671f-486f-96f0-8d77a21f6394"
],
"created_at": "2025-05-11 06:44:23",
"updated_at": "2025-05-11 06:44:23",
"rrset_count": 10
}
]
}
Private DNS Zone 보기
GET /v2.0/privatedns/zones/{zoneId}
X-Auth-Token: {tokenId}
요청
이 API는 요청 본문을 요구하지 않습니다.
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zoneId |
URL |
UUID |
O |
Private DNS Zone ID |
| 이름 |
종류 |
형식 |
설명 |
| zones |
Body |
Array |
Private DNS Zone 객체 목록 |
| zones.id |
Body |
UUID |
Private DNS Zone ID |
| zones.name |
Body |
String |
Private DNS Zone 이름 |
| zones.description |
Body |
String |
Private DNS Zone 설명 |
| zones.status |
Body |
String |
Private DNS Zone 상태 |
| zones.networks |
Body |
Array |
Private DNS Zone에 속한 네트워크 목록 |
| zones.created_at |
Body |
Date |
Private DNS Zone 생성한 시간 |
| zones.updated_at |
Body |
Date |
Private DNS Zone 수정한 시간 |
| zones.rrset_count |
Body |
Integer |
Private DNS Zone의 레코드 세트 개수 |
Private DNS Zone 생성하기
POST /v2.0/privatedns/zones
X-Auth-Token: {tokenId}
요청
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zone |
Body |
Object |
O |
Private DNS Zone 정보 객체 |
| zone.name |
Body |
String |
O |
Private DNS Zone 이름 |
| zone.description |
Body |
String |
- |
Private DNS Zone 설명 |
| zone.networks |
Body |
Arrray |
O |
Private DNS Zone을 사용할 VPC UUID 목록 |
예시
{
"zone": {
"name": "example.net.",
"description": "",
"networks": [
"8970f625-0b41-4e04-8ece-64a7d5651113",
"8a725559-671f-486f-96f0-8d77a21f6394"
]
}
}
응답
| 이름 |
종류 |
형식 |
설명 |
| zone |
Body |
Array |
Private DNS Zone 정보 객체 |
| zone.id |
Body |
UUID |
Private DNS Zone ID |
| zone.name |
Body |
String |
Private DNS Zone 이름 |
| zone.description |
Body |
String |
Private DNS Zone 설명 |
| zone.status |
Body |
String |
Private DNS Zone 상태 |
| zone.networks |
Body |
Array |
Private DNS Zone 사용하는 Network UUID 목록 |
| zone.created_at |
Body |
Date |
Private DNS Zone 생성한 시간 |
| zone.updated_at |
Body |
Date |
Private DNS Zone 수정한 시간 |
예시
{
"zone": {
"id": "ecb6de30-5665-4f97-9b96-3ff06e90ecd8",
"name": "example.net.",
"description": "",
"status": "BUILD",
"networks": [
"8970f625-0b41-4e04-8ece-64a7d5651113",
"8a725559-671f-486f-96f0-8d77a21f6394"
],
"created_at": "2025-05-11 06:44:23",
"updated_at": "2025-05-11 06:44:23"
}
}
Private DNS Zone 수정하기
PUT /v2.0/privatedns/zones/{zoneId}
X-Auth-Token: {tokenId}
요청
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zoneId |
URL |
UUID |
O |
Private DNS Zone ID |
| zone |
Body |
Object |
O |
Private DNS Zone 정보 객체 |
| zone.description |
Body |
String |
- |
Private DNS Zone 설명 |
| zone.networks |
Body |
Arrray |
O |
Private DNS Zone을 사용할 VPC UUID 목록 VPC UUID 목록을 수정하는 경우, 기존 값은 모두 제거되고 수정 요청한 레코드로 적용됨 |
예시
{
"zone": {
"description": "test",
"networks": [
"2c590fdf-993d-4377-a49b-a54f66759909"
]
}
}
응답
| 이름 |
종류 |
형식 |
설명 |
| zone |
Body |
Array |
Private DNS Zone 정보 객체 |
| zone.id |
Body |
UUID |
Private DNS Zone ID |
| zone.name |
Body |
String |
Private DNS Zone 이름 |
| zone.description |
Body |
String |
Private DNS Zone 설명 |
| zone.status |
Body |
String |
Private DNS Zone 상태 |
| zone.networks |
Body |
Array |
Private DNS Zone 사용하는 Network UUID 목록 |
| zone.created_at |
Body |
Date |
Private DNS Zone 생성한 시간 |
| zone.updated_at |
Body |
Date |
Private DNS Zone 수정한 시간 |
예시
{
"zone": {
"id": "ecb6de30-5665-4f97-9b96-3ff06e90ecd8",
"name": "example.net.",
"description": "test",
"status": "ACTIVE",
"networks": [
"2c590fdf-993d-4377-a49b-a54f66759909"
],
"created_at": "2025-05-11 08:44:23",
"updated_at": "2025-05-11 08:44:23"
}
}
Private DNS Zone 삭제하기
DELETE /v2.0/privatedns/zones/{zoneId}
X-Auth-Token: {tokenId}
요청
이 API는 요청 본문을 요구하지 않습니다.
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zoneId |
URL |
UUID |
O |
Private DNS Zone ID |
응답
이 API는 응답 본문을 반환하지 않습니다.
레코드 세트
레코드 세트 목록 보기
GET /v2.0/privatedns/zones/{zoneId}/rrsets
X-Auth-Token: {tokenId}
요청
이 API는 요청 본문을 요구하지 않습니다.
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zoneId |
URL |
UUID |
O |
조회할 레코드 세트 Private DNS Zone ID |
| id |
Query |
UUID |
- |
조회할 레코드 세트 ID |
| name |
Query |
String |
- |
조회할 레코드 세트 이름 |
| type |
Query |
String |
- |
조회할 레코드 타입 |
| ttl |
Query |
Integer |
- |
조회할 레코드 ttl |
응답
| 이름 |
종류 |
형식 |
설명 |
| rrsets |
Body |
Array |
레코드 세트 객체 목록 |
| rrsets.id |
Body |
UUID |
레코드 세트 ID |
| rrsets.name |
Body |
String |
레코드 세트 이름 |
| rrsets.description |
Body |
String |
레코드 세트 설명 |
| rrsets.zone_id |
Body |
String |
레코드 세트가 속한 Private DNS Zone ID |
| rrsets.ttl |
Body |
Integer |
레코드 세트 ttl |
| rrsets.type |
Body |
String |
레코드 세트 타입. A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV, TXT |
| rrsets.records |
Body |
Array |
레코드 세트에 속한 레코드 객체 목록 |
| rrsets.records.content |
Body |
String |
레코드 세트 레코드 값 |
| rrsets.created_at |
Body |
Date |
레코드 세트 생성한 시간 |
| rrsets.updated_at |
Body |
Date |
레코드 세트 수정한 시간 |
예시
{
"rrsets": [
{
"id": "db12b85e-0b41-4c58-816f-dfb833ae098f",
"name": "test.example.net.",
"description": "DESCRIPTION",
"zone_id": "ecb6de30-5665-4f97-9b96-3ff06e90ecd8",
"ttl": 1000,
"type": "A",
"records": [
{
"content": "192.168.59.9"
}
],
"created_at": "2025-05-11 06:44:23",
"updated_at": "2025-05-11 06:44:23"
}
]
}
레코드 세트 보기
GET /v2.0/privatedns/zones/{zoneId}/rrsets/{rrsetId}
X-Auth-Token: {tokenId}
요청
이 API는 요청 본문을 요구하지 않습니다.
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zoneId |
URL |
UUID |
O |
Private DNS Zone ID |
| rrsetId |
URL |
UUID |
O |
레코드 세트 ID |
응답
| 이름 |
종류 |
형식 |
설명 |
| rrset |
Body |
Array |
레코드 세트 객체 목록 |
| rrset.id |
Body |
UUID |
레코드 세트 ID |
| rrset.name |
Body |
String |
레코드 세트 이름 |
| rrset.description |
Body |
String |
레코드 세트 설명 |
| rrset.zone_id |
Body |
String |
레코드 세트가 속한 Private DNS Zone ID |
| rrset.ttl |
Body |
Integer |
레코드 세트 정보 갱신 주기. 기본값은 300 |
| rrset.type |
Body |
String |
레코드 세트 타입. A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV, TXT |
| rrset.records |
Body |
Array |
레코드 세트에 속한 레코드 객체 목록 |
| rrset.records.content |
Body |
Array |
레코드 세트 레코드 값 |
| rrset.created_at |
Body |
Date |
레코드 세트 생성한 시간 |
| rrset.updated_at |
Body |
Date |
레코드 세트 수정한 시간 |
예시
{
"rrsets": {
"id": "db12b85e-0b41-4c58-816f-dfb833ae098f",
"name": "test.example.net.",
"description": "DESCRIPTION",
"zone_id": "ecb6de30-5665-4f97-9b96-3ff06e90ecd8",
"ttl": 1000,
"type": "A",
"records": [
{
"content": "192.168.59.9"
}
],
"created_at": "2025-05-11 06:44:23",
"updated_at": "2025-05-11 06:44:23"
}
}
레코드 세트 생성하기
POST /v2.0/privatedns/zones/{zoneId}/rrsets
X-Auth-Token: {tokenId}
요청
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zoneId |
URL |
UUID |
O |
Private DNS Zone ID |
| rrset |
Body |
Object |
O |
레코드 세트 정보 객체 |
| rrset.name |
Body |
String |
O |
레코드 세트 이름 |
| rrset.records |
Body |
Array |
O |
레코드 세트 레코드 목록 |
| rrset.records.content |
Body |
String |
O |
레코드 값 |
| rrset.ttl |
Body |
Integer |
- |
레코드 세트 정보 갱신 주기. 기본값은 300 |
| rrset.type |
Body |
String |
O |
레코드 세트 타입. A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV, TXT |
| rrset.description |
Body |
String |
O |
레코드 세트 설명 |
예시
{
"rrset": {
"name": "test.example.net.",
"records": [
{
"content": "192.168.39.9"
},
{
"content": "192.168.49.10"
}
],
"ttl": 86400,
"type": "A",
"description": "test"
}
}
응답
| 이름 |
종류 |
형식 |
설명 |
| rrset |
Body |
Array |
레코드 세트 객체 목록 |
| rrset.id |
Body |
UUID |
레코드 세트 ID |
| rrset.name |
Body |
String |
레코드 세트 이름 |
| rrset.description |
Body |
String |
레코드 세트 설명 |
| rrset.zone_id |
Body |
String |
레코드 세트가 속한 Private DNS Zone ID |
| rrset.ttl |
Body |
Integer |
레코드 세트 정보 갱신 주기. 기본값은 300 |
| rrset.type |
Body |
String |
레코드 세트 타입. A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV, TXT |
| rrset.records |
Body |
Array |
레코드 세트에 속한 레코드 객체 목록 |
| rrset.records.content |
Body |
Array |
레코드 세트 레코드 값 |
| rrset.created_at |
Body |
Date |
레코드 세트 생성한 시간 |
| rrset.updated_at |
Body |
Date |
레코드 세트 수정한 시간 |
예시
{
"rrset": {
"id": "db12b85e-0b41-4c58-816f-dfb833ae098f",
"name": "test.example.net.",
"description": "test",
"zone_id": "ecb6de30-5665-4f97-9b96-3ff06e90ecd8",
"ttl": 86400,
"type": "A",
"records": [
{
"content": "192.168.39.9"
},
{
"content": "192.168.49.10"
}
],
"created_at": "2025-05-11 06:44:23",
"updated_at": "2025-05-11 06:44:23"
}
}
레코드 세트 수정하기
PUT /v2.0/privatedns/zones/{zoneId}/rrsets/{rrsetId}
X-Auth-Token: {tokenId}
요청
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zoneId |
URL |
UUID |
O |
Private DNS Zone ID |
| rrsetId |
URL |
UUID |
O |
수정할 레코드 세트 ID |
| rrset |
Body |
Object |
O |
레코드 세트 정보 객체 |
| rrset.records |
Body |
Array |
O |
레코드 세트 레코드 목록 레코드 목록을 수정하는 경우, 기존 값은 모두 제거되고 수정 요청한 레코드로 적용됨 |
| rrset.records.content |
Body |
String |
O |
레코드 값 |
| rrset.ttl |
Body |
Integer |
- |
레코드 세트 정보 갱신 주기. 기본값은 300 |
| rrset.type |
Body |
String |
O |
레코드 세트 타입. A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV, TXT |
| rrset.description |
Body |
String |
O |
레코드 세트 설명 |
예시
{
"rrset": {
"records": [
{
"content": "192.168.59.9"
}
],
"ttl": 1000,
"description": "change"
}
}
응답
| 이름 |
종류 |
형식 |
설명 |
| rrset |
Body |
Array |
레코드 세트 객체 목록 |
| rrset.id |
Body |
UUID |
레코드 세트 ID |
| rrset.name |
Body |
String |
레코드 세트 이름 |
| rrset.description |
Body |
String |
레코드 세트 설명 |
| rrset.zone_id |
Body |
String |
레코드 세트가 속한 Private DNS Zone ID |
| rrset.ttl |
Body |
Integer |
레코드 세트 정보 갱신 주기. 기본값은 300 |
| rrset.type |
Body |
String |
레코드 세트 타입. A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV, TXT |
| rrset.records |
Body |
Array |
레코드 세트에 속한 레코드 객체 목록 |
| rrset.records.content |
Body |
Array |
레코드 세트 레코드 값 |
| rrset.created_at |
Body |
Date |
레코드 세트 생성한 시간 |
| rrset.updated_at |
Body |
Date |
레코드 세트 수정한 시간 |
예시
{
"rrset": {
"id": "db12b85e-0b41-4c58-816f-dfb833ae098f",
"name": "test.example.net.",
"description": "change",
"zone_id": "ecb6de30-5665-4f97-9b96-3ff06e90ecd8",
"ttl": 1000,
"type": "A",
"records": [
{
"content": "192.168.59.9"
}
],
"created_at": "2025-08-11 06:44:23",
"updated_at": "2025-08-11 06:44:23"
}
}
레코드 세트 삭제하기
DELETE /v2.0/privatedns/zones/{zoneId}/rrsets/{rrsetId}
X-Auth-Token: {tokenId}
요청
이 API는 요청 본문을 요구하지 않습니다.
| 이름 |
종류 |
형식 |
필수 |
설명 |
| tokenId |
Header |
String |
O |
토큰 ID |
| zoneId |
URL |
UUID |
O |
Private DNS Zone ID |
| rrsetId |
URL |
UUID |
O |
수정할 레코드 세트 ID |
응답
이 API는 응답 본문을 반환하지 않습니다.