创建TCP监听。
接口说明
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
slb:CreateLoadBalancerTCPListener | create |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 否 | 传统型负载均衡实例的地域 ID。 您可以从地域和可用区列表或通过调用 DescribeRegions 接口查询地域 ID。 | cn-hangzhou |
LoadBalancerId | string | 是 | 传统型负载均衡实例的 ID。 | lb-bp1b6c719dfa08ex**** |
ListenerPort | integer | 是 | 传统型负载均衡实例前端使用的端口。 取值范围:1~65535。 | 80 |
BackendServerPort | integer | 否 | 传统型负载均衡实例后端使用的端口。 取值范围:1~65535。 如果不使用服务器组(不指定 vServerGroupId),则该参数必选。 | 80 |
Tag | array<object> | 否 | 标签列表。 | |
object | 否 | 标签列表。 | ||
Key | string | 否 | 监听的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 64 个字符,不能以 | TestKey |
Value | string | 否 | 监听的标签值。N 的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持 128 个字符,不能以 | TestValue |
Bandwidth | integer | 是 | 监听的带宽峰值,单位:Mbps。取值:
| -1 |
Scheduler | string | 否 | 调度算法。取值:
说明
仅性能保障型实例支持 sch 和 tch 一致性 hash 算法。
| wrr |
PersistenceTimeout | integer | 否 | 会话保持的超时时间。单位:秒。 取值范围:0~3600。 默认值:0,表示关闭会话保持。 | 0 |
EstablishedTimeout | integer | 否 | 连接超时时间。单位:秒。 取值范围:10~900。 | 500 |
HealthyThreshold | integer | 否 | 健康检查连续成功多少次后,将后端服务器的健康检查状态由 fail 判定为 success。 取值范围: 2~10。 | 4 |
UnhealthyThreshold | integer | 否 | 健康检查连续失败多少次后,将后端服务器的健康检查状态由 success 判定为 fail。 取值范围:2~10。 | 4 |
HealthCheckConnectTimeout | integer | 否 | 每次健康检查响应的最大超时时间。单位:秒。 取值范围:1~300。 默认值:5。 | 100 |
HealthCheckConnectPort | integer | 否 | 健康检查使用的端口。 取值范围:1~65535。 不设置此参数时,表示使用后端服务端口(BackendServerPort)。 | 80 |
healthCheckInterval | integer | 否 | 健康检查的时间间隔。单位:秒。 取值范围:1~50。 | 3 |
HealthCheckDomain | string | 否 | 用于健康检查的域名。取值:
| 172.XX.XX.6 |
HealthCheckURI | string | 否 | 用于健康检查的 URI。长度限制为 1~80,只能使用字母、数字、短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、井号(#)和 and(&)这些字符。 URI 不能只为正斜线(/),但必须以正斜线(/)开头。 当 TCP 监听需要使用 HTTP 健康检查时可配置此参数,如不配置则按 TCP 健康检查。 | /test/index.html |
HealthCheckHttpCode | string | 否 | 健康检查正常的 HTTP 状态码,多个状态码用半角逗号(,)分割。取值:
| http_2xx,http_3xx |
HealthCheckType | string | 否 | 健康检查类型。取值:
| tcp |
VServerGroupId | string | 否 | 虚拟服务器组 ID。 | rsp-cige6j**** |
MasterSlaveServerGroupId | string | 否 | 主备服务器组 ID。 说明
虚拟服务器组 ID 和主备服务器组 ID 只能选择一个。
| rsp-0bfucw**** |
AclId | string | 否 | 监听绑定的访问策略组 ID。 说明
当 AclStatus 参数的值为 on 时,该参数必选。
| acl-uf60jwfiv6****** |
AclType | string | 否 | 访问控制类型:
一旦设置白名单,就只有白名单中的 IP 可以访问负载均衡监听。如果开启了白名单访问,但访问策略组中没有添加任何 IP,则负载均衡监听会转发全部请求。
如果开启了黑名单访问,但访问策略组中没有添加任何 IP,则负载均衡监听会转发全部请求。 说明
当 AclStatus 参数的值为 on 时,该参数有效。
| black |
AclStatus | string | 否 | 是否开启访问控制功能。取值:
| off |
Description | string | 否 | 自定义监听名称。 长度限制为 1~256 个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。 | tcp_80 |
ConnectionDrain | string | 否 | 是否开启连接优雅中断。取值:
| off |
ConnectionDrainTimeout | integer | 否 | 设置连接优雅中断超时时间。单位:秒。 取值范围:10~900。 说明
当 ConnectionDrain 取值为 on 时,该选项必选。
| 300 |
ProxyProtocolV2Enabled | boolean | 否 | 是否支持通过 Proxy Protocol 协议携带客户端源地址到后端服务器。取值:
| false |
HealthCheckSwitch | string | 否 | 是否开启健康检查。取值:
| on |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "CEF72CEB-54B6-4AE8-B225-F876FF7BA984"
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
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 | Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch | The parameters VServerGroupId or MasterSlaveServerGroupId miss match. | 参数VServerGroupId或MasterSlaveServerGroupId不匹配。 |
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 | ListenerProcessing | A previous configuration of the listener is pending, please try again later. | 当前监听正在配置中,请稍后重试。 |
400 | AclNotExist | Acl does not exist. | 指定的Acl不存在。 |
400 | InvalidParameter.ListenerPortConflict | There is conflict listener port exists. | 指定的监听端口已存在。 |
400 | InvalidParameter.ZoneNotSupport | The zone does not support the parameter %s. | 当前可用区不支持指定参数。 |
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 | QuotaLimitExceeds.AclAttachedToListener | %s. | - |
400 | QuotaLimitExceeds.TotalAclEntry | %s. | - |
400 | AclListenerOverLimit | %s. | - |
400 | Duplicated.AclEntry | %s. | Acl条目重复。 |
400 | OperationUnsupported.SetAccessControl | The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList. | 操作被拒绝,原因是Single Tunnel和Any Tunnel 类型负载均衡实例不支持配置Acl。 |
400 | InvalidParam.PortRange | The specified PortRange is invalid. | 指定的PortRange无效。请检查参数约束,并在修改后重试。 |
400 | InvalidParameter.RegionNotSupport | The region does not support the parameter: %s. | 当前区域不支持指定参数。 |
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 | ListenerPortConflict | The specified ListenerPort is conflict with other listener. | 指定的监听端口号已被占用。 |
400 | ResourceNotFound.VServerGroup | %s. | 指定的服务器组不存在。 |
400 | IllegalParam.FailoverThreshold | The parameter FailoverThreshold is illegal. | 指定的FailoverThreshold无效。请检查参数约束,并在修改后重试。 |
400 | IllegalParam.FailoverStrategy | The parameter FailoverStrategy is illegal. | 指定的FailoverStrategy无效。请检查参数约束,并在修改后重试。 |
400 | MasterSlaveServerConflict | The servers are conflict for MasterSlaveGroup. | 主备服务器组的后端服务器冲突。 |
400 | OperationDenied.HealthCheckClosedForMasterSlaveMode | The operation is denied because of HealthCheckClosedForMasterSlaveMode. | 操作被拒绝,原因是主备模式下要求必须开启健康检查。 |
400 | IllegalParam.HealthCheck | The param of HelathCheck is illegal. | 指定的HealthCheck无效。请检查参数约束,并在修改后重试。 |
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参数。 |
400 | InvalidParam.TagValue | %s. | - |
400 | InvalidParam.TagKey | %s. | - |
400 | SizeLimitExceeded.Tag | %s. | - |
400 | MissingParam.TagKey | The param MissingParam.TagKey is missing. | - |
400 | MissingParameter | The BackendServerPort or VServerGroupId is required at lease one. | 参数BackendServerPort和VServerGroupId至少需要配置一个。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2023-09-08 | OpenAPI 错误码发生变更 | 查看变更详情 |
2023-06-02 | OpenAPI 错误码发生变更 | 查看变更详情 |