CreateListener

1. 接口描述

本接口(CreateListener)用于查询创建负载均衡监听器。

2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

参数名称
必选
类型
描述

loadBalancerId

String

负载均衡实例 ID。

listenerName

String

要创建的监听器名称。

仅支持字母、数字、连字符 (-) 和句点 (.),且开头和结尾必须是字母或数字。

protocol

监听器协议。

scheduler

监听器转发的方式。

port

String

监听器端口。

多个端口使用,分隔。

当端口是范围时用-连接,例如:10000-10005。

端口的取值范围为1~65535。

请注意端口不能和该监听器的其他端口有重叠。

healthCheck

健康检查相关参数。

如果不传该参数或者healthCheck.enable = false. 将会关闭健康检查。

kind

工作模式。

如果不传则会根据负载均衡实例所在的区域设定默认值。

默认值可能为DNAT、FNAT。

3. 响应结果

参数名称
类型
描述

requestId

String

唯一请求 ID。

每次请求都会返回。定位问题时需要提供该次请求的 requestId。

listenerId

String

创建的监听器ID。

4. 代码示例

1. 创建一个TCP负载均衡监听器,监听8080-9000以及8000端口。不开启健康检查。

POST /api/v2/zlb HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateListener
<Common Request Params>

Request:
{
  "loadBalancerId" : "<loadBalancerId>",
  "listenerName" : "sample",
  "protocol" : "TCP",
  "scheduler" : "mh",
  "port" : "8080-9000,8000"
}

Response:
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "listenerId": "<listenerId>"
  }
}

2. 创建一个TCP负载均衡监听器的同时设置健康检查信息。

POST /api/v2/zlb HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateListener
<Common Request Params>

Request:
{
  "loadBalancerId" : "<loadBalancerId>",
  "listenerName" : "sample",
  "protocol" : "TCP",
  "scheduler" : "mh",
  "healthCheck": {
      "enabled": true,
      "checkType": "HTTP_GET",
      "checkPort": null,
      "checkDelayLoop": 3,
      "checkConnTimeout": 2,
      "checkRetry": 2,
      "checkDelayTry": 2,
      "checkHttpGetUrl": "/health",
      "checkHttpStatusCode": 200
  }
  "port" : "8080"
}

Response:
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "listenerId": "<listenerId>"
  }
}

5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的开发工具集(SDK),未来会陆续支持更多开发语言,方便快速接入和使用Zenlayer的产品和服务。

6. 错误码

下面包含业务逻辑中遇到的错误码,其他错误码见公共错误码

HTTP状态码
错误码
说明

409

INVALID_BACKEND_INSTANCE_LISTENER_EXIST

后端服务器已存在。

409

INVALID_BACKEND_INSTANCE_MULTIPLE

后端服务器重复。

400

INVALID_BACKEND_IP_ADDRESS

后端服务器的内网IP未找到相关实例。

409

INVALID_BACKEND_IP_ZBG_REQUIRED

加入的后端服务器IP需要VPC建立边界网关。

400

INVALID_BACKEND_SERVER_IP_INVALID

后端服务器IP不合法,必须为内网IP地址。

409

INVALID_BACKEND_SERVER_IP_REPEAT

后端服务器IP重复。

400

INVALID_BACKEND_SERVER_PORT

DR模式或监听多个端口无法在指定端口。

400

INVALID_INSTANCE_IP_ADDRESS

实例的内网IP不合法。

404

INVALID_INSTANCE_NOT_FOUND

服务器实例不存在。

404

INVALID_LB_LISTENER_NOT_FOUND

监听器不存在。

404

INVALID_LB_NOT_FOUND

负载均衡器不存在。

400

INVALID_LB_STATUS

当前负载均衡器状态无法进行操作。

400

INVALID_LISTENER_KIND_NOT_SUPPORT

指定的监听器类型在该区域不支持。

409

INVALID_LISTENER_PORT_CONFLICT

端口和其他监听器端口冲突。

409

INVALID_LISTENER_PORT_CONFLICT_SELF

当前配置的端口不合法,有冲突。

400

INVALID_LISTENER_QUOTA_EXCEED

负载均衡器的监听器数量超过限制。

最后更新于