调用CreateLoadBalancerTCPListener创建TCP监听。

说明 新建的监听的状态为stopped。创建完成后,调用StartLoadBalancerListener接口启动监听来转发流量。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateLoadBalancerTCPListener

要执行的操作。

取值:CreateLoadBalancerTCPListener

Bandwidth Integer -1

监听的带宽峰值,单位:Mbps。取值:

  • -1:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为-1,即不限制带宽峰值。
  • 1~5120: 对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。
ListenerPort Integer 80

负载均衡实例前端使用的端口。

取值:1~65535

LoadBalancerId String lb-bp1b6c719dfa08ex****

负载均衡实例的ID。

RegionId String cn-hangzhou

负载均衡实例的地域ID。

您可以从地域和可用区列表或通过调用DescribeRegions接口查询地域ID。

BackendServerPort Integer 80

负载均衡实例后端使用的端口。

取值:1~65535

如果不使用服务器组(不指定vServerGroupId),则该参数必选。

Scheduler String wrr

调度算法。取值:

  • wrr(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。
  • rr:按照访问顺序依次将外部请求依序分发到后端服务器。
  • sch:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。
  • tch:基于四元组的一致性hash(源IP+目的IP+源端口+目的端口),相同的流会调度到相同的后端服务器。
说明 仅有性能保障型实例支持schtch一致性hash算法。
PersistenceTimeout Integer 0

会话保持的超时时间。单位:秒。

取值:0~3600

默认值:0,表示关闭会话保持。

EstablishedTimeout Integer 500

连接超时时间。单位:秒。

取值:10~900

HealthyThreshold Integer 4

健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success

取值: 2~10

UnhealthyThreshold Integer 4

健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail

取值:2~10

HealthCheckConnectTimeout Integer 100

每次健康检查响应的最大超时时间。单位:秒。

取值:1~300

默认值:5

HealthCheckConnectPort Integer 80

健康检查使用的端口。

取值:1~65535

不设置此参数时,表示使用后端服务端口(BackendServerPort)。

healthCheckInterval Integer 3

健康检查的时间间隔。单位:秒。

取值:1~50

HealthCheckDomain String 172.XX.XX.6

用于健康检查的域名。取值:

  • $_ip: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。
  • domain:域名长度为1~80,只能包含字母、数字、半角句号(.)和短划线(-)。
HealthCheckURI String /test/index.html

用于健康检查的URI。长度限制为1~80,只能使用字母、数字、短划线(-)、正斜杠(/)、半角句号(.)、百分号(%)、井号(#)和and(&)这些字符。 URI不能只为/,但必须以/开头。

当TCP监听需要使用HTTP健康检查时可配置此参数,如不配置则按TCP健康检查。

HealthCheckHttpCode String http_2xx,http_3xx

健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。

取值:

  • http_2xx(默认值)
  • http_3xx
  • http_4xx
  • http_5xx
HealthCheckType String tcp

健康检查类型。

取值:

  • tcp(默认值)
  • http
VServerGroupId String rsp-cige6j****

虚拟服务器组ID。

MasterSlaveServerGroupId String rsp-0bfucw****

主备服务器组ID。

说明 服务器组ID和主备服务器组ID只能选择一个。
AclId String 1323

监听绑定的访问策略组ID。

说明AclStatus参数的值为on时,该参数必选。
AclType String black

访问控制类型:

  • white: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。

    设置白名单存在一定业务风险。

    一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。

  • black: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。

    如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。

说明AclStatus参数的值为on时,该参数有效。
AclStatus String off

是否开启访问控制功能。

取值:

  • on
  • off(默认值)
Description String 创建监听。

设置监听的描述信息。

ConnectionDrain String off

是否开启连接优雅中断。取值:

  • on:开启
  • off:不开启
ConnectionDrainTimeout Integer 300

设置连接优雅中断超时时间。单位:秒。

取值范围:10~900

说明ConnectionDrain取值为on时,该选项必选。

返回数据

名称 类型 示例值 描述
RequestId String CEF72CEB-54B6-4AE8-B225-F876FF7BA984

请求ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateLoadBalancerTCPListener
&Bandwidth=-1
&ListenerPort=80
&LoadBalancerId=lb-bp1b6c719dfa08ex****
&<公共请求参数>

正常返回示例

XML格式

<CreateLoadBalancerTCPListenerResponse>
  <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>
</CreateLoadBalancerTCPListenerResponse>

JSON格式

{"RequestId":"CEF72CEB-54B6-4AE8-B225-F876FF7BA984"}

错误码

HttpCode 错误码 错误信息 描述
400 Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch The parameters VServerGroupId or MasterSlaveServerGroupId miss match. 参数VServerGroupId或MasterSlaveServerGroupId不匹配。
400 LbNotSupportTcpssl You cannot create a TCP SSL type listener for the specified load balancer. 指定的实例不支持创建tcpssl类型的监听。
400 LbSupportTcpsslOnly The specified load balancer supports TCP SSL type listener only. 指定的实例只支持创建tcpssl类型的监听。
400 ListenerNotSupportRule You cannot create a rule for the specified listener. 指定的监听不支持创建转发规则。
400 Mismatch.SlbSpecTypeAndListenerProtocol The SlbSpecType and ListenerProtocol are mismatched. 实例规格类型和监听类型不匹配。
400 OperationDenied.FullNatModeNotAllowed The operation is not allowed because of FullNatModeNotAllowed. 操作被拒绝,原因是不支持FullNat模式。
400 OperationDenied.OnlyIpv4SlbSupport The operation is not allowed because of OnlyIpv4SlbSupport. 操作被拒绝,原因是只有IPV4实例支持开启FULL NAT模式。
400 SpecNotSupportParameter The instance with share spec does not support FullNatEnabled parameter. 共享型实例不支持FullNatEnabled参数。

访问错误中心查看更多错误码。