调用SetLoadBalancerTCPListenerAttribute修改TCP监听的配置。

前提条件

调试

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

请求参数

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

要执行的操作。

取值:SetLoadBalancerTCPListenerAttribute

ListenerPort Integer 80

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

取值:1~65535

LoadBalancerId String lb-bp1ygod3yctvg1y****

负载均衡实例ID。

RegionId String cn-hangzhou

负载均衡实例的地域ID。

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

Bandwidth Integer 43

监听的带宽峰值,单位:Mbps。取值:-11~5120

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

调度算法。取值:

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

会话保持的超时时间。取值:0~3600秒。

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

EstablishedTimeout Integer 500

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

取值:10~900

HealthyThreshold Integer 4

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

取值:2~10

UnhealthyThreshold Integer 4

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

取值:2~10

HealthCheckConnectTimeout Integer 100

接收来自运行状况检查的响应需要等待的时间。

如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。

取值:1~300秒。

说明 如果HealthCheckConnectTimeout的值小于HealthCheckInterval的值,则HCTimeout无效,超时时间为HealthCheckInterval的值。
HealthCheckConnectPort Integer 8080

健康检查使用的端口。

取值:1~65535

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

HealthCheckInterval Integer 5

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

取值:1~50

HealthCheckDomain String 192.168.0.1

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

  • $_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状态码,多个状态码用半角逗号(,)分割。

取值:http_2xxhttp_3xxhttp_4xxhttp_5xx

HealthCheckType String tcp

健康检查类型。取值:tcphttp

SynProxy String enable

是否开启负载均衡的攻击防护功能SynProxy。

取值:

  • enable:开启。
  • disable:不开启。

建议一般情况下不要调整这个参数,由负载均衡控制。

VServerGroup String on

是否使用虚拟服务器组。取值:

  • on:使用。
  • off:不使用。
说明 VserverGroupMasterSlaveServerGroup只允许一个值为on
VServerGroupId String rsp-cige6j5****

虚拟服务器组ID。

MasterSlaveServerGroupId String rsp-cige****

主备服务器组ID。

说明 虚拟服务器组ID和主备服务器组ID只能选择一个。
MasterSlaveServerGroup String on

是否使用主备服务器组。取值:

  • on:使用。
  • off:不使用。

VserverGroupMasterSlaveServerGroup只允许一个值为on

AclId String 12333

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

AclStatus参数值为on时,该参数必选。

AclType String white

访问控制类型:

  • white:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。

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

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

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

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

是否开启访问控制功能。取值:

  • on:开启访问控制。
  • off:关闭访问控制。
Description String test

TCP监听描述。长度限制为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)等字符。

ConnectionDrain String off

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

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

设置连接优雅中断超时时间。当ConnectionDrain取值为on时,该选项必选。单位:秒。

取值:10~900

返回数据

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

请求ID。

示例

请求示例

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

正常返回示例

XML格式

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

JSON格式

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

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParameterValue.SpecNotSupport The loadBalancer of shared spec does not support the parameter value, %s. 共享型负载均衡实例不支持指定的参数取值。
400 InvalidParameterValue.RegionNotSupport The region does not support the parameter value, %s. 当前地域不支持指定的参数取值。
400 IpVersionConflict The ip version of this LoadBalancer and the Acl is conflict. 指定负载均衡的Ip版本与Acl支持的Ip类型冲突。
400 InvalidParameterValue.ZoneNotSupport The zone does not support the parameter value, %s. 当前可用区不支持指定参数取值。
400 InvalidParameter.ZoneNotSupport The zone does not support the parameter %s. 当前可用区不支持指定参数。
400 OperationFailed.ServerGroupInUse The VServerGroup or MasterSlaveServerGroup can not be close for this listener. 操作失败,原因是当前监听不支持关闭服务器组。
400 InvalidParam.VServerGroupId The specified VServerGroupId is invalid. 指定的VServerGroupId无效。请检查参数约束,并在修改后重试。
400 MissingParam.HealthCheckConnectPort The parameter HealthCheckConnectPort is required. 参数HealthCheckConnectPort缺失。
400 InvalidParam.ListenerPort The specified ListenerPort is invalid. 指定的ListenerPort无效。请检查参数约束,并在修改后重试。
400 InvalidParam.StartPort The specified StartPort is invalid. 指定的StartPort无效。请检查参数约束,并在修改后重试。
400 InvalidParamSize.PortRange The size of param PortRange is invalid. 指定的PortRange无效。请检查参数约束,并在修改后重试。
400 InvalidParam.EndPort The specified EndPort is invalid. 指定的EndPort无效。请检查参数约束,并在修改后重试。
400 InvalidParam.PortRange The specified PortRange is invalid. 指定的PortRange无效。请检查参数约束,并在修改后重试。
400 QuotaLimitExceeds.AclAttachedToListener %s. Acl绑定监听数已达到配额上限。
400 QuotaLimitExceeds.TotalAclEntry %s. Acl条目数已达到配额上限。
400 AclListenerOverLimit %s. %s.
400 Duplicated.AclEntry %s. Acl条目重复。
400 ResourceNotFound.VServerGroup %s. 指定的服务器组不存在。
400 IllegalParam.FailoverStrategy The parameter FailoverStrategy is illegal. 指定的FailoverStrategy无效。请检查参数约束,并在修改后重试。
400 IllegalParam.FailoverThreshold The parameter FailoverThreshold is illegal. 指定的FailoverThreshold无效。请检查参数约束,并在修改后重试。
400 MasterSlaveServerConflict The servers are conflict for MasterSlaveGroup. 主备服务器组的后端服务器冲突。
400 MissingParam.VServerGroupId The parameter VServerGroupId is missing. 参数VServerGroupId缺失。
400 OperationDenied.HealthCheckClosedForMasterSlaveMode The operation is denied because of HealthCheckClosedForMasterSlaveMode. 操作被拒绝,原因是主备模式下要求必须开启健康检查。
400 InvalidParam.HealthCheck The param of HealthCheck is illegal. 指定的HealthCheck无效。请检查参数约束,并在修改后重试。
400 OperationDenied.MasterSlaveGroupLogEnabled The operation is denied because of MasterSlaveGroupLogEnabled. 操作被拒绝,原因是主备服务器组日志已启用。
400 OperationDenied.NotSupportAcl The operation is denied because The single Tunnel or any Tunnel loadbalancer does not support config AccessControlList. 操作被拒绝,原因是Single Tunnel和Any Tunnel 类型负载均衡实例不支持配置Acl。
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参数。

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