建立 TCP 監聽。
介面說明
新建的監聽狀態為 stopped。建立完成後,呼叫 StartLoadBalancerListener 介面啟動監聽來轉送流量。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
slb:CreateLoadBalancerTCPListener |
create |
AccessControlList
*LoadBalancer
|
|
無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| 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 一致性雜湊演算法。 |
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,只能使用字母、數字、短橫線(-)、正斜線(/)、半形句號(.)、百分號(%)、井號(#)和和號(&)這些字元。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 |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| RequestId |
string |
請求 ID。 |
CEF72CEB-54B6-4AE8-B225-F876FF7BA984 |
樣本
正常返回樣本
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. | |
| 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 | Duplicated.AclEntry | %s. | %s |
| 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. | 您必須指定參數ListenerPort,該參數為必填參數。 |
| 400 | AclListenerOverLimit | This acl has reached the limit of binding to listeners. | 指定的ACL可關聯監聽數量已達到配額上限。 |
| 400 | QuotaLimitExceeds.AclAttachedToListener | The number of Acl bound listeners has reached the quota limit | Acl綁定監聽數已達到配額上限。 |
| 400 | QuotaLimitExceeds.TotalAclEntry | The number of Acl entries has reached the quota limit. | Acl條目數已達到配額上限。 |
| 400 | QuotaLimitExceeds.AclListenerOverLimit | This acl has reached the limit of binding to listeners. | 指定的ACL可關聯監聽數量已達到配額上限。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。