Modifies the configurations of a TCP listener of Classic Load Balancer (CLB).
Operation description
- A CLB instance is created. For more information, see CreateLoadBalancer .
- A TCP listener is created. For more information, see CreateLoadBalancerTCPListener .
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- The required resource types are displayed in bold characters.
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
slb:SetLoadBalancerTCPListenerAttribute | update |
|
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
RegionId | string | No | The region ID of the CLB instance. You can query the region ID from the Regions and zones list or by calling the DescribeRegions operation. | cn-hangzhou |
LoadBalancerId | string | Yes | The ID of the CLB instance. | lb-bp1ygod3yctvg1y**** |
ListenerPort | integer | Yes | The frontend port used by the CLB instance. Valid values: 1 to 65535. | 80 |
Bandwidth | integer | No | The maximum bandwidth of the listener. Unit: Mbit/s. Valid values: -1 and 1 to 5120.
| 43 |
Scheduler | string | No | The scheduling algorithm. Valid values:
Note
| wrr |
PersistenceTimeout | integer | No | The timeout period of session persistence. Valid values: 0 to 3600. Unit: seconds. Default value: 0. If the default value is used, the system disables session persistence. | 0 |
EstablishedTimeout | integer | No | The timeout period of a connection. Unit: seconds. Valid values: 10 to 900. | 500 |
HealthyThreshold | integer | No | The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from fail to success. Valid values: 2 to 10. | 4 |
UnhealthyThreshold | integer | No | The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from success to fail. Valid values: 2 to 10. | 4 |
HealthCheckConnectTimeout | integer | No | The timeout period of a health check. If a backend ECS instance does not return a health check response within the specified timeout period, the server fails the health check. Valid values: 1 to 300. Unit: seconds. Note
If the value of the HealthCheckConnectTimeout parameter is smaller than that of the HealthCheckInterval parameter, the timeout period specified by the HCTimeout parameter is ignored and the period of time specified by the HealthCheckInterval parameter is used as the timeout period.
| 100 |
HealthCheckConnectPort | integer | No | The port that is used for health checks. Valid values: 1 to 65535. If you do not set this parameter, the port specified by the BackendServerPort parameter is used. | 8080 |
HealthCheckInterval | integer | No | The interval between two consecutive health checks. Unit: seconds. Valid values: 1 to 50. | 5 |
HealthCheckDomain | string | No | The domain name that is used for health checks. You can set this parameter when the TCP listener requires HTTP health checks. If you do not set this parameter, TCP health checks are performed.
| 192.168.XX.XX |
HealthCheckURI | string | No | The URI that is used for health checks. The URI must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/). You can set this parameter when the TCP listener requires HTTP health checks. If you do not set this parameter, TCP health checks are performed. | /test/index.html |
HealthCheckHttpCode | string | No | The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,). Valid values: http_2xx, http_3xx, http_4xx, and http_5xx. | http_2xx |
HealthCheckType | string | No | The type of the health check. Valid values: tcp and http. | tcp |
SynProxy | string | No | Specifies whether to enable the SynProxy feature of CLB for protection. Valid values:
We recommend that you use the default value of this parameter. | enable |
VServerGroup | string | No | Specifies whether to use a vServer group. Valid values:
Note
You cannot set both VserverGroup and MasterSlaveServerGroup to on.
| on |
VServerGroupId | string | No | The ID of the vServer group. | rsp-cige6j5**** |
MasterSlaveServerGroupId | string | No | The ID of the primary/secondary server group. Note
You can set only one of the VServerGroupId and MasterSlaveServerGroupId parameters.
| rsp-cige**** |
MasterSlaveServerGroup | string | No | Specifies whether to use a primary/secondary server group. Valid values:
You cannot set both VserverGroup and MasterSlaveServerGroup to on. | on |
AclId | string | No | The ID of the network access control list (ACL) that is associated with the listener. If AclStatus is set to on, this parameter is required. | 12333 |
AclType | string | No | The type of the network ACL. Valid values:
Note
If AclStatus is set to on, this parameter is required.
| white |
AclStatus | string | No | Specifies whether to enable access control. Valid values:
| off |
Description | string | No | The name of the listener. The name must be 1 to 256 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (_). | tcp_80 |
ConnectionDrain | string | No | Specifies whether to enable connection draining. Valid values:
| off |
ConnectionDrainTimeout | integer | No | The timeout period of connection draining. This parameter is required if ConnectionDrain is set to on. Unit: seconds. Valid values: 10 to 900. | 300 |
ProxyProtocolV2Enabled | boolean | No | Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:
| false |
HealthCheckSwitch | string | No | Specifies whether to enable the health check feature. Valid values:
| on |
Response parameters
Examples
Sample success responses
JSON
format
{
"RequestId": "CEF72CEB-54B6-4AE8-B225-F876FF7BA984"
}
Error codes
HTTP status code | Error code | Error message |
---|---|---|
400 | InvalidParameterValue.SpecNotSupport | The loadBalancer of shared spec does not support the parameter value, %s. |
400 | OperationNotSupport.Acl | The cloud box instance does not support acl. |
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. |
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. |
400 | MissingParam.HealthCheckConnectPort | The parameter HealthCheckConnectPort is required. |
400 | InvalidParam.ListenerPort | The specified ListenerPort is invalid. |
400 | InvalidParam.StartPort | The specified StartPort is invalid. |
400 | InvalidParamSize.PortRange | The size of param PortRange is invalid. |
400 | InvalidParam.EndPort | The specified EndPort is invalid. |
400 | InvalidParam.PortRange | The specified PortRange is invalid. |
400 | QuotaLimitExceeds.AclAttachedToListener | %s. |
400 | QuotaLimitExceeds.TotalAclEntry | %s. |
400 | AclListenerOverLimit | %s. |
400 | Duplicated.AclEntry | %s. |
400 | ResourceNotFound.VServerGroup | %s. |
400 | IllegalParam.FailoverStrategy | The parameter FailoverStrategy is illegal. |
400 | IllegalParam.FailoverThreshold | The parameter FailoverThreshold is illegal. |
400 | MasterSlaveServerConflict | The servers are conflict for MasterSlaveGroup. |
400 | MissingParam.VServerGroupId | The parameter VServerGroupId is missing. |
400 | OperationDenied.HealthCheckClosedForMasterSlaveMode | The operation is denied because of HealthCheckClosedForMasterSlaveMode. |
400 | InvalidParam.HealthCheck | The param of HealthCheck is illegal. |
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. |
400 | OperationDenied.FullNatModeNotAllowed | The operation is not allowed because of FullNatModeNotAllowed. |
400 | OperationDenied.OnlyIpv4SlbSupport | The operation is not allowed because of OnlyIpv4SlbSupport. |
400 | SpecNotSupportParameter | The instance with share spec does not support FullNatEnabled parameter. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2023-09-08 | The Error code has changed | View Change Details |