Network > Service Gateway > API v2 가이드

NHN Cloud Network 서비스는 API 호출 시 인증/인가를 위해 IaaS 토큰을 사용합니다. IaaS 토큰은 NHN Cloud의 OpenStack 기반 인프라 서비스(IaaS)에서 사용하는 인증 토큰입니다. IaaS 토큰 발급 및 사용에 대한 자세한 내용은 IaaS 토큰을 참고하세요.

서비스 게이트웨이 API는 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 내부 용도로 사용되며 사전 공지 없이 변경될 수 있으므로 사용하지 않습니다.

서비스 게이트웨이

서비스 게이트웨이 목록 보기

GET /v2.0/gateways/servicegateways
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
id Query UUID - 조회할 서비스 게이트웨이 ID
name Query String - 조회할 서비스 게이트웨이 이름
service_endpoint_id Query UUID - 조회할 서비스 게이트웨이의 서비스 엔드포인트(또는 사용자 정의 엔드포인트) ID
network_id Query UUID - 조회할 서비스 게이트웨이 VPC ID
subnet_id Query UUID - 조회할 서비스 게이트웨이 서브넷 ID
port_id Query UUID - 조회할 서비스 게이트웨이 포트 ID
fixed_ip Query String - 조회할 서비스 게이트웨이 IP 주소
include_gateway_identity Query Boolean - NAT IP 주소 고정 사용 여부

응답

이름 종류 형식 설명
servicegateways Body Array 서비스 게이트웨이 정보 객체 목록
servicegateways.id Body UUID 서비스 게이트웨이 ID
servicegateways.name Body String 서비스 게이트웨이 이름
servicegateways.port_id Body UUID 포트 ID
servicegateways.tenant_id Body String 테넌트 ID
servicegateways.network_id Body UUID VPC ID
servicegateways.subnet_id Body UUID 서브넷 ID
servicegateways.fixed_ip Body String 서비스 게이트웨이 IP 주소
servicegateways.include_gateway_identity Body Boolean NAT IP 주소 고정 사용 여부
servicegateways.service_endpoint_id Body UUID 서비스 엔드포인트(또는 사용자 정의 엔드포인트) ID
servicegateways.service_provider Body String 연결 유형(연결된 엔드포인트의 값). csp=서비스 엔드포인트 / user=사용자 정의 엔드포인트
servicegateways.description Body String 서비스 게이트웨이 설명
예시
{
  "servicegateways": [
    {
      "status": "AVAILABLE",
      "include_gateway_identity": true,
      "description": "",
      "network_id": "55529e1d-c6ee-4be8-baa9-2b6546667e6d",
      "tenant_id": "302406c4a1d44b2cb2bc07a652c0b202",
      "fixed_ip": "192.168.0.82",
      "subnet_id": "72d9d6e0-3ee2-4287-bcf9-be45a8422ff1",
      "service_endpoint_id": "7ba5b6e7-d871-43d3-90d2-7e2beecaaae5",
      "service_provider": "csp",
      "create_time": "2023-08-31 02:11:09",
      "project_id": "302406c4a1d44b2cb2bc07a652c0b202",
      "port_id": "182a31be-9e29-400d-983b-f701cf9b4bbc",
      "id": "d383a4a3-dae7-4609-b2db-ecdf5859fac5",
      "name": "sgw_test"
    }
  ]
}

서비스 게이트웨이 보기

GET /v2.0/gateways/servicegateways/{serviceGatewayId}
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceGatewayId URL UUID O 서비스 게이트웨이 ID

응답

이름 종류 형식 설명
servicegateway Body Object 서비스 게이트웨이 정보 객체
servicegateway.id Body UUID 서비스 게이트웨이 ID
servicegateway.name Body String 서비스 게이트웨이 이름
servicegateway.port_id Body UUID 포트 ID
servicegateway.tenant_id Body String 테넌트 ID
servicegateway.network_id Body UUID VPC ID
servicegateway.subnet_id Body UUID 서브넷 ID
servicegateway.fixed_ip Body String 서비스 게이트웨이 IP 주소
servicegateway.include_gateway_identity Body Boolean NAT IP 주소 고정 사용 여부
servicegateway.service_endpoint_id Body UUID 서비스 엔드포인트(또는 사용자 정의 엔드포인트) ID
servicegateway.service_provider Body String 연결 유형(연결된 엔드포인트의 값). csp=서비스 엔드포인트 / user=사용자 정의 엔드포인트
servicegateway.api_endpoints Body Array API 엔드포인트 정보 객체 목록
servicegateway.api_endpoints.domain_name Body String API 엔드포인트 도메인
servicegateway.description Body String 서비스 게이트웨이 설명
예시
{
  "servicegateway": {
    "status": "AVAILABLE",
    "include_gateway_identity": true,
    "description": "",
    "network_id": "55529e1d-c6ee-4be8-baa9-2b6546667e6d",
    "tenant_id": "302406c4a1d44b2cb2bc07a652c0b202",
    "fixed_ip": "192.168.0.82",
    "subnet_id": "72d9d6e0-3ee2-4287-bcf9-be45a8422ff1",
    "api_endpoints": [
      {
        "domain_name": "test.test.com"
      }
    ],
    "service_endpoint_id": "7ba5b6e7-d871-43d3-90d2-7e2beecaaae5",
    "service_provider": "csp",
    "create_time": "2023-08-31 02:11:09",
    "project_id": "302406c4a1d44b2cb2bc07a652c0b202",
    "port_id": "182a31be-9e29-400d-983b-f701cf9b4bbc",
    "id": "d383a4a3-dae7-4609-b2db-ecdf5859fac5",
    "name": "sgw_test"
  }
}

서비스 게이트웨이 생성하기

POST /v2.0/gateways/servicegateways
X-Auth-Token: {tokenId}

요청

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
servicegateway Body Object O 서비스 게이트웨이 정보 객체
servicegateway.name Body String - 서비스 게이트웨이 이름
servicegateway.description Body String - 서비스 게이트웨이 설명
servicegateway.network_id Body UUID O VPC ID
servicegateway.subnet_id Body UUID O 서브넷 ID
servicegateway.fixed_ip Body String - 서비스 게이트웨이 IP 주소
servicegateway.include_gateway_identity Body Boolean - NAT IP 주소 고정 사용 여부
servicegateway.service_endpoint_id Body UUID O 서비스 엔드포인트(또는 사용자 정의 엔드포인트) ID

사용자 정의 엔드포인트에 연결하려면 게시자에게 전달받은 service_name으로 서비스 엔드포인트 목록 보기를 조회해 얻은 service_endpoint_id를 사용합니다. 연결 유형(service_provider)은 연결된 엔드포인트에서 자동으로 결정되며 요청 값으로 지정하지 않습니다.

예시
{
  "servicegateway": {
    "network_id": "55529e1d-c6ee-4be8-baa9-2b6546667e6d",
    "subnet_id": "72d9d6e0-3ee2-4287-bcf9-be45a8422ff1",
    "fixed_ip": "192.168.0.82",
    "service_endpoint_id": "7ba5b6e7-d871-43d3-90d2-7e2beecaaae5",
    "name": "sgw_test",
    "description": "test"
  }
}

응답

이름 종류 형식 설명
servicegateway Body Object 서비스 게이트웨이 정보 객체 목록
servicegateway.id Body UUID 서비스 게이트웨이 ID
servicegateway.name Body String 서비스 게이트웨이 이름
servicegateway.port_id Body UUID 포트 ID
servicegateway.tenant_id Body String 테넌트 ID
servicegateway.network_id Body UUID VPC ID
servicegateway.subnet_id Body UUID 서브넷 ID
servicegateway.fixed_ip Body String 서비스 게이트웨이 IP 주소
servicegateway.include_gateway_identity Body Boolean NAT IP 주소 고정 사용 여부
servicegateway.service_endpoint_id Body UUID 서비스 엔드포인트(또는 사용자 정의 엔드포인트) ID
servicegateway.service_provider Body String 연결 유형(연결된 엔드포인트의 값). csp=서비스 엔드포인트 / user=사용자 정의 엔드포인트
servicegateway.api_endpoints Body Array API 엔드포인트 정보 객체 목록
servicegateway.api_endpoints.domain_name Body String API 엔드포인트 도메인
servicegateway.description Body String 서비스 게이트웨이 설명
예시
{
  "servicegateway": {
    "status": "BUILD",
    "include_gateway_identity": false,
    "description": "",
    "network_id": "55529e1d-c6ee-4be8-baa9-2b6546667e6d",
    "tenant_id": "302406c4a1d44b2cb2bc07a652c0b202",
    "fixed_ip": "192.168.0.82",
    "subnet_id": "72d9d6e0-3ee2-4287-bcf9-be45a8422ff1",
    "api_endpoints": [
      {
        "domain_name": "test.test.com"
      }
    ],
    "service_endpoint_id": "7ba5b6e7-d871-43d3-90d2-7e2beecaaae5",
    "service_provider": "csp",
    "create_time": "2023-08-31 02:11:09",
    "project_id": "302406c4a1d44b2cb2bc07a652c0b202",
    "port_id": "182a31be-9e29-400d-983b-f701cf9b4bbc",
    "id": "d383a4a3-dae7-4609-b2db-ecdf5859fac5",
    "name": "sgw_test"
  }
}

서비스 게이트웨이 수정하기

PUT /v2.0/gateways/servicegateways/{serviceGatewayId}
X-Auth-Token: {tokenId}

요청

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceGatewayId URL UUID O 서비스 게이트웨이 ID
servicegateway Body Object O 서비스 게이트웨이 정보 객체
servicegateway.name Body String - 서비스 게이트웨이 이름
servicegateway.description Body String - 서비스 게이트웨이 설명

연결 유형(service_provider)은 연결된 엔드포인트의 값을 보여주는 읽기 전용 항목이며, 서비스 게이트웨이 수정으로 변경할 수 없습니다.

예시
{
  "servicegateway": {
    "name": "sgw_test1",
    "description": "test1"
  }
}

응답

이름 종류 형식 설명
servicegateway Body Object 서비스 게이트웨이 정보 객체
servicegateway.id Body UUID 서비스 게이트웨이 ID
servicegateway.name Body String 서비스 게이트웨이 이름
servicegateway.port_id Body UUID 포트 ID
servicegateway.tenant_id Body String 테넌트 ID
servicegateway.network_id Body UUID VPC ID
servicegateway.subnet_id Body UUID 서브넷 ID
servicegateway.fixed_ip Body String 서비스 게이트웨이 IP 주소
servicegateway.include_gateway_identity Body Boolean NAT IP 주소 고정 사용 여부
servicegateway.service_endpoint_id Body UUID 서비스 엔드포인트(또는 사용자 정의 엔드포인트) ID
servicegateway.service_provider Body String 연결 유형(연결된 엔드포인트의 값). csp=서비스 엔드포인트 / user=사용자 정의 엔드포인트
servicegateway.api_endpoints Body Array API 엔드포인트 정보 객체 목록
servicegateway.api_endpoints.domain_name Body String API 엔드포인트 도메인
servicegateway.description Body String 서비스 게이트웨이 설명
예시
{
  "servicegateway": {
    "status": "AVAILABLE",
    "include_gateway_identity": false,
    "description": "test1",
    "network_id": "55529e1d-c6ee-4be8-baa9-2b6546667e6d",
    "tenant_id": "302406c4a1d44b2cb2bc07a652c0b202",
    "fixed_ip": "192.168.0.82",
    "subnet_id": "72d9d6e0-3ee2-4287-bcf9-be45a8422ff1",
    "api_endpoints": [
      {
        "domain_name": "test.test.com"
      }
    ],
    "service_endpoint_id": "7ba5b6e7-d871-43d3-90d2-7e2beecaaae5",
    "service_provider": "csp",
    "create_time": "2023-08-31 02:11:09",
    "project_id": "302406c4a1d44b2cb2bc07a652c0b202",
    "port_id": "182a31be-9e29-400d-983b-f701cf9b4bbc",
    "id": "d383a4a3-dae7-4609-b2db-ecdf5859fac5",
    "name": "sgw_test1"
  }
}

서비스 게이트웨이 삭제하기

DELETE /v2.0/gateways/servicegateways/{serviceGatewayId}
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceGatewayId URL UUID O 서비스 게이트웨이 ID

응답

이 API는 응답 본문을 반환하지 않습니다.

서비스 엔드포인트

서비스 엔드포인트 목록 보기

GET /v2.0/gateways/serviceendpoints/
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
id Query UUID - 조회할 서비스 엔드포인트 ID
display_name Query String - 조회할 서비스 엔드포인트 이름
service_name Query String - 조회할 서비스 이름(사용자 정의 엔드포인트 연결 시 사용, 형식 {region}.sep-{12 hex})

서비스 게이트웨이를 사용자 정의 엔드포인트에 연결할 때는 게시자에게 전달받은 service_name으로 조회하여 서비스 엔드포인트 ID를 획득합니다. 보안을 위해 service_name 값은 응답에 포함되지 않으며, 허용 프로젝트에 포함되지 않은 경우 빈 목록이 반환됩니다.

응답

이름 종류 형식 설명
serviceendpoints Body Array 서비스 엔드포인트 정보 객체 목록
serviceendpoints.id Body UUID 서비스 엔드포인트 ID
serviceendpoints.display_name Body String 콘솔에 출력되는 서비스 엔드포인트 이름
serviceendpoints.support_gateway_identity Body Boolean NAT IP 주소 고정 사용 가능 여부
serviceendpoints.description Body String 서비스 엔드포인트 설명
예시
{
  "serviceendpoints": [
    {
      "display_name": "Object Storage",
      "support_gateway_identity": true,
      "description": "",
      "name": "OBS",
      "id": "7ba5b6e7-d871-43d3-90d2-7e2beecaaae5"
    }
  ]
}

서비스 엔드포인트 보기

GET /v2.0/gateways/serviceendpoints/{seerviceEndpointId}
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceEndpointId URL UUID O 서비스 엔드포인트 ID

응답

이름 종류 형식 설명
serviceendpoint Body Object 서비스 엔드포인트 정보 객체
serviceendpoint.id Body UUID 서비스 엔드포인트 ID
serviceendpoint.display_name Body String 콘솔에 출력되는 서비스 엔드포인트 이름
serviceendpoint.support_gateway_identity Body Boolean NAT IP 주소 고정 사용 가능 여부
serviceendpoint.description Body String 서비스 엔드포인트 설명
예시
{
  "serviceendpoint": {
      "display_name": "Object Storage",
      "support_gateway_identity": true,
      "description": "",
      "name": "OBS",
      "id": "7ba5b6e7-d871-43d3-90d2-7e2beecaaae5"
  }
}

사용자 정의 엔드포인트

사용자가 자신의 리소스(로드 밸런서)를 엔드포인트로 게시하여 다른 프로젝트와 공유하는 기능입니다. 게시자(소유자)가 생성/관리하며, 생성 시 공유용 서비스 이름(service_name)이 발급됩니다.

사용자 정의 엔드포인트 목록 보기

GET /v2.0/gateways/myserviceendpoints
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
id Query UUID - 조회할 사용자 정의 엔드포인트 ID
endpoint_type Query String - 조회할 엔드포인트 유형(예: lb.type1)
port_id Query UUID - 조회할 대상 리소스(로드 밸런서) 포트 ID

응답

이름 종류 형식 설명
myserviceendpoints Body Array 사용자 정의 엔드포인트 정보 객체 목록
myserviceendpoints.id Body UUID 사용자 정의 엔드포인트 ID
myserviceendpoints.name Body String 이름
myserviceendpoints.display_name Body String 표시 이름(서비스 게이트웨이에 노출되는 이름)
myserviceendpoints.endpoint_type Body String 엔드포인트 유형(리소스 유형, 예: lb.type1)
myserviceendpoints.port_id Body UUID 대상 리소스(로드 밸런서) 포트 ID. GET /v2.0/lbaas/loadbalancers?vip_port_id={port_id}로 대상 로드 밸런서를 찾을 수 있습니다.
myserviceendpoints.service_name Body String 공유용 서비스 이름(형식 {region}.sep-{12 hex})
myserviceendpoints.max_count Body Integer 최대 생성 개수(이 엔드포인트로 생성 가능한 서비스 게이트웨이 최대 개수). 0=생성 차단, 미설정=무제한
myserviceendpoints.current_count Body Integer 사용 현황(이 엔드포인트로 현재 생성된 서비스 게이트웨이 수)
myserviceendpoints.service_provider Body String 연결 유형(사용자 정의 엔드포인트는 user)
myserviceendpoints.description Body String 설명
myserviceendpoints.project_id Body String 테넌트 ID
예시
{
  "myserviceendpoints": [
    {
      "id": "ef2b41aa-81f4-40de-9dc9-677ca58428f1",
      "name": "my-lb-service",
      "display_name": "My LB Service",
      "endpoint_type": "lb.type1",
      "port_id": "a6e6ff53-8c70-48db-95ec-8b4895f002c2",
      "service_name": "kr1.sep-0a1b2c3d4e5f",
      "max_count": 10,
      "current_count": 3,
      "service_provider": "user",
      "description": "",
      "project_id": "302406c4a1d44b2cb2bc07a652c0b202"
    }
  ]
}

사용자 정의 엔드포인트 보기

GET /v2.0/gateways/myserviceendpoints/{serviceEndpointId}
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceEndpointId URL UUID O 사용자 정의 엔드포인트 ID

응답

이름 종류 형식 설명
myserviceendpoint Body Object 사용자 정의 엔드포인트 정보 객체
myserviceendpoint.id Body UUID 사용자 정의 엔드포인트 ID
myserviceendpoint.name Body String 이름
myserviceendpoint.display_name Body String 표시 이름
myserviceendpoint.endpoint_type Body String 엔드포인트 유형(리소스 유형)
myserviceendpoint.port_id Body UUID 대상 리소스(로드 밸런서) 포트 ID. GET /v2.0/lbaas/loadbalancers?vip_port_id={port_id}로 대상 로드 밸런서를 찾을 수 있습니다.
myserviceendpoint.service_name Body String 공유용 서비스 이름
myserviceendpoint.max_count Body Integer 최대 생성 개수
myserviceendpoint.current_count Body Integer 사용 현황(현재 생성된 서비스 게이트웨이 수)
myserviceendpoint.service_provider Body String 연결 유형(user)
myserviceendpoint.description Body String 설명
myserviceendpoint.project_id Body String 테넌트 ID
예시
{
  "myserviceendpoint": {
    "id": "ef2b41aa-81f4-40de-9dc9-677ca58428f1",
    "name": "my-lb-service",
    "display_name": "My LB Service",
    "endpoint_type": "lb.type1",
    "port_id": "a6e6ff53-8c70-48db-95ec-8b4895f002c2",
    "service_name": "kr1.sep-0a1b2c3d4e5f",
    "max_count": 10,
    "current_count": 3,
    "service_provider": "user",
    "description": "",
    "project_id": "302406c4a1d44b2cb2bc07a652c0b202"
  }
}

사용자 정의 엔드포인트 생성하기

POST /v2.0/gateways/myserviceendpoints
X-Auth-Token: {tokenId}

요청

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
myserviceendpoint Body Object O 사용자 정의 엔드포인트 정보 객체
myserviceendpoint.name Body String O 이름(255자 이내, 영문/숫자/-/_)
myserviceendpoint.display_name Body String - 표시 이름(생략 시 name과 동일하게 적용)
myserviceendpoint.port_id Body UUID O 대상 리소스(로드 밸런서) 포트 ID. 로드 밸런서 보기(GET /v2.0/lbaas/loadbalancers/{loadbalancerId}) 응답의 vip_port_id를 사용합니다.
myserviceendpoint.max_count Body Integer - 최대 생성 개수(0~1,000). 0: 생성 차단, null 또는 미입력: 무제한
myserviceendpoint.description Body String - 설명

대상 리소스로 로드 밸런서를 지정하면 endpoint_typelb.type1로, service_provideruser로 자동 설정됩니다. 생성이 완료되면 공유용 service_name이 자동으로 발급됩니다. 프로젝트당 기본 5개까지 생성할 수 있습니다.

예시
{
  "myserviceendpoint": {
    "name": "my-lb-service",
    "display_name": "My LB Service",
    "port_id": "a6e6ff53-8c70-48db-95ec-8b4895f002c2",
    "max_count": 10,
    "description": ""
  }
}

응답

응답 본문은 사용자 정의 엔드포인트 보기와 동일하며, 자동 발급된 service_name이 포함됩니다.


사용자 정의 엔드포인트 수정하기

PUT /v2.0/gateways/myserviceendpoints/{serviceEndpointId}
X-Auth-Token: {tokenId}

요청

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceEndpointId URL UUID O 사용자 정의 엔드포인트 ID
myserviceendpoint Body Object O 사용자 정의 엔드포인트 정보 객체
myserviceendpoint.name Body String - 이름
myserviceendpoint.display_name Body String - 표시 이름
myserviceendpoint.max_count Body Integer - 최대 생성 개수(0~1000). 0: 생성 차단, null: 무제한으로 변경, 필드 미포함 시 기존 값 유지
myserviceendpoint.description Body String - 설명

리소스 유형(endpoint_type)과 대상 리소스(port_id)는 변경할 수 없습니다. 최대 생성 개수를 줄여도 기존 서비스 게이트웨이는 유지되며, 현재 개수가 최대 생성 개수를 초과하는 동안에는 추가 생성할 수 없습니다.

예시
{
  "myserviceendpoint": {
    "name": "my-lb-renamed",
    "display_name": "My LB (renamed)",
    "max_count": 20,
    "description": "renamed"
  }
}

응답

응답 본문은 사용자 정의 엔드포인트 보기와 동일합니다.


사용자 정의 엔드포인트 삭제하기

DELETE /v2.0/gateways/myserviceendpoints/{serviceEndpointId}
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceEndpointId URL UUID O 사용자 정의 엔드포인트 ID

이 엔드포인트를 사용 중인 서비스 게이트웨이가 있으면 삭제할 수 없습니다. 삭제 시 등록된 허용 프로젝트도 함께 삭제됩니다.

응답

이 API는 응답 본문을 반환하지 않습니다.


서비스 이름 재발급하기

PUT /v2.0/gateways/serviceendpoints/{serviceEndpointId}/generate_service_name
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceEndpointId URL UUID O 사용자 정의 엔드포인트 ID

엔드포인트를 생성한 프로젝트의 구성원(소유자)만 수행할 수 있습니다. 재발급 시 기존 service_name은 즉시 폐기되어 더 이상 조회되지 않습니다. 기존 service_name으로 생성한 서비스 게이트웨이는 정상 동작하지만, 신규 생성 시에는 재발급된 service_name을 사용해야 합니다.

응답

이름 종류 형식 설명
service_name Body String 재발급된 공유용 서비스 이름
예시
{
  "service_name": "kr1.sep-9f8e7d6c5b4a"
}

허용 프로젝트

사용자 정의 엔드포인트에 연결(서비스 게이트웨이 생성)을 허용할 대상(테넌트)을 관리하는 목록(white list)입니다. 순수 허용 목록(권한)이며 생성 개수 제한은 다루지 않습니다(개수 제한은 엔드포인트의 max_count에서 관리).

허용 프로젝트 목록 보기

GET /v2.0/gateways/serviceendpointallowprojects
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
service_endpoint_id Query UUID - 조회할 사용자 정의 엔드포인트 ID
target_tenant_id Query String - 조회할 허용 대상 테넌트 ID

응답

이름 종류 형식 설명
serviceendpointallowprojects Body Array 허용 프로젝트 정보 객체 목록
serviceendpointallowprojects.id Body UUID 허용 프로젝트 ID
serviceendpointallowprojects.service_endpoint_id Body UUID 사용자 정의 엔드포인트 ID
serviceendpointallowprojects.target_tenant_id Body String 허용 대상. *=전체 프로젝트 / 테넌트 ID=특정 프로젝트
serviceendpointallowprojects.name Body String 이름(참고용)
serviceendpointallowprojects.description Body String 설명
예시
{
  "serviceendpointallowprojects": [
    {
      "id": "d9e0f111-2222-3333-4444-555566667777",
      "service_endpoint_id": "ef2b41aa-81f4-40de-9dc9-677ca58428f1",
      "target_tenant_id": "302406c4a1d44b2cb2bc07a652c0b202",
      "name": "allow-b",
      "description": "allow b-tenant"
    }
  ]
}

허용 프로젝트 보기

GET /v2.0/gateways/serviceendpointallowprojects/{allowProjectId}
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
allowProjectId URL UUID O 허용 프로젝트 ID

응답

응답 본문은 허용 프로젝트 목록 보기의 단일 객체(serviceendpointallowproject)와 동일합니다.


허용 프로젝트 생성하기

POST /v2.0/gateways/serviceendpointallowprojects
X-Auth-Token: {tokenId}

요청

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
serviceendpointallowproject Body Object O 허용 프로젝트 정보 객체
serviceendpointallowproject.service_endpoint_id Body UUID O 사용자 정의 엔드포인트 ID
serviceendpointallowproject.target_tenant_id Body String O 허용 대상. *=전체 프로젝트 / 테넌트 ID(32 hex)=특정 프로젝트
serviceendpointallowproject.name Body String - 이름(참고용)
serviceendpointallowproject.description Body String - 설명

전체 허용(*)과 특정 프로젝트를 함께 등록한 경우 더 좁은 범위(특정 프로젝트)가 적용됩니다. 이를 이용해 무중단으로 허용 범위를 전환할 수 있습니다. 엔드포인트 소유자의 테넌트 ID는 등록할 수 없습니다(소유자는 항상 허용). 동일(엔드포인트, 테넌트) 조합이 이미 있으면 409.

예시
{
  "serviceendpointallowproject": {
    "service_endpoint_id": "ef2b41aa-81f4-40de-9dc9-677ca58428f1",
    "target_tenant_id": "302406c4a1d44b2cb2bc07a652c0b202",
    "name": "allow-b",
    "description": "allow b-tenant"
  }
}

응답

응답 본문은 허용 프로젝트 목록 보기의 단일 객체(serviceendpointallowproject)와 동일합니다.


허용 프로젝트 수정하기

PUT /v2.0/gateways/serviceendpointallowprojects/{allowProjectId}
X-Auth-Token: {tokenId}

요청

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
allowProjectId URL UUID O 허용 프로젝트 ID
serviceendpointallowproject Body Object O 허용 프로젝트 정보 객체
serviceendpointallowproject.name Body String - 이름(참고용)
serviceendpointallowproject.description Body String - 설명

허용 대상(target_tenant_id)과 엔드포인트(service_endpoint_id)는 변경할 수 없으며, name·description만 수정할 수 있습니다.

예시
{
  "serviceendpointallowproject": {
    "name": "allow-b-renamed",
    "description": "B 프로젝트 연동"
  }
}

응답

응답 본문은 허용 프로젝트 목록 보기의 단일 객체(serviceendpointallowproject)와 동일합니다.


허용 프로젝트 삭제하기

DELETE /v2.0/gateways/serviceendpointallowprojects/{allowProjectId}
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
allowProjectId URL UUID O 허용 프로젝트 ID

응답

이 API는 응답 본문을 반환하지 않습니다.


사용 현황

사용자 정의 엔드포인트를 사용 중인(연결한) 소비자 측 서비스 게이트웨이 목록을 조회합니다.

사용 현황 목록 보기

GET /v2.0/gateways/serviceendpointusages
X-Auth-Token: {tokenId}

요청

이 API는 요청 본문을 요구하지 않습니다.

이름 종류 형식 필수 설명
tokenId Header String O 토큰 ID
id Query UUID - 조회할 사용자 정의 엔드포인트 ID(복수 지정 가능, 생략 시 소유한 모든 엔드포인트 대상)
network_id Query UUID - 조회할 서비스 게이트웨이 VPC ID(복수 지정 가능)
subnet_id Query UUID - 조회할 서비스 게이트웨이 서브넷 ID(복수 지정 가능)
limit Query Integer - 한 번에 조회할 최대 개수(생략 시 전체 반환)
marker Query UUID - 직전 페이지 마지막 항목의 서비스 게이트웨이 ID(다음 페이지 조회 시 사용)
page_reverse Query Boolean - true로 지정하면 이전 페이지 방향으로 조회
sort_key Query String - 정렬 기준 필드(복수 지정 가능)
sort_dir Query String - 정렬 방향(asc 또는 desc). sort_key와 반드시 쌍으로, 같은 개수로 지정

결과는 기본적으로 서비스 게이트웨이 ID(id) 오름차순으로 정렬됩니다. 생성 시각순으로 조회하려면 sort_key=create_time&sort_dir=desc와 같이 명시해야 합니다. sort_key에는 응답 필드(id, name, fixed_ip, status, tenant_id, network_id, subnet_id, service_endpoint_id, create_time)를 사용할 수 있습니다. limit을 지정하면 응답에 다음/이전 페이지 링크(serviceendpointusages_links)가 포함됩니다. 다음 페이지는 링크의 URL을 그대로 호출하거나, 현재 페이지 마지막 항목의 idmarker로 지정해 조회합니다. 페이지를 순회하는 동안에는 동일한 필터/정렬 조건을 유지해야 합니다.

응답

이름 종류 형식 설명
serviceendpointusages Body Array 사용 현황 정보 객체 목록
serviceendpointusages.id Body UUID 서비스 게이트웨이 ID
serviceendpointusages.name Body String 서비스 게이트웨이 이름
serviceendpointusages.fixed_ip Body String 서비스 게이트웨이 IP 주소
serviceendpointusages.status Body String 서비스 게이트웨이 상태
serviceendpointusages.tenant_id Body String 서비스 게이트웨이를 생성한 소비자 프로젝트의 테넌트 ID
serviceendpointusages.network_id Body UUID 서비스 게이트웨이 VPC ID
serviceendpointusages.subnet_id Body UUID 서비스 게이트웨이 서브넷 ID
serviceendpointusages.service_endpoint_id Body UUID 연결된 사용자 정의 엔드포인트 ID
serviceendpointusages.create_time Body String 서비스 게이트웨이 생성 시각
serviceendpointusages_links Body Array 페이지네이션 링크 목록(limit 지정 시에만 포함)
serviceendpointusages_links.rel Body String 링크 유형. next=다음 페이지 / previous=이전 페이지
serviceendpointusages_links.href Body String 해당 페이지를 조회할 수 있는 URL
예시
{
  "serviceendpointusages": [
    {
      "id": "d383a4a3-dae7-4609-b2db-ecdf5859fac5",
      "name": "sgw_partner",
      "fixed_ip": "192.168.0.51",
      "status": "AVAILABLE",
      "tenant_id": "302406c4a1d44b2cb2bc07a652c0b202",
      "network_id": "55529e1d-c6ee-4be8-baa9-2b6546667e6d",
      "subnet_id": "72d9d6e0-3ee2-4287-bcf9-be45a8422ff1",
      "service_endpoint_id": "ef2b41aa-81f4-40de-9dc9-677ca58428f1",
      "create_time": "2023-08-31 02:11:09"
    }
  ],
  "serviceendpointusages_links": [
    {
      "rel": "next",
      "href": "https://kr1-api-network-infrastructure.nhncloudservice.com/v2.0/gateways/serviceendpointusages?limit=20&marker=d383a4a3-dae7-4609-b2db-ecdf5859fac5"
    },
    {
      "rel": "previous",
      "href": "https://kr1-api-network-infrastructure.nhncloudservice.com/v2.0/gateways/serviceendpointusages?limit=20&marker=d383a4a3-dae7-4609-b2db-ecdf5859fac5&page_reverse=True"
    }
  ]
}
TOP