建立TCP監聽。

说明 新建的監聽的狀態為stopped。建立完成後,需調用StartLoadBalancerListener介面啟動監聽進行流量轉寄。

請求參數

名稱 類型 是否必須 描述
Action String 要執行的操作。取值:

CreateLoadBalancerTCPListener

RegionId String Server Load Balancer執行個體的地域。

您可以通過調用 DescribeRegions介面獲取地域ID。

LoadBalancerId String Server Load Balancer執行個體ID。
ListenerPort Integer Server Load Balancer執行個體前端使用的通信埠,取值:

1-65535

BackendServerPort Integer Server Load Balancer執行個體後端使用的通信埠。取值:

1-65535

说明 如果不使用伺服器組(不指定VServerGroupId參數),則該參數必選。
VServerGroupId String 伺服器組ID。
MasterSlaveServerGroupId String 主備伺服器組ID。
说明 VServerGroupIdMasterSlaveServerGroupId參數不能同時指定。
Bandwidth Integer 監聽的頻寬峰值,取值:
  • -1:不限制頻寬峰值。
  • [1-5000]:監聽的頻寬峰值,所有監聽的頻寬峰值之和不能超過執行個體的頻寬峰值。
Scheduler String 調度演算法。取值:
  • wrr(預設值):權重值越高的後端伺服器,被輪詢到的次數(機率)也越高。
  • wlc:除了根據每台後端伺服器設定的權重值來進行輪詢,同時還考慮後端伺服器的實際負載(即串連數)。當權重值相同時,當前串連數越小的後端伺服器被輪詢到的次數(機率)也越高。
  • rr:按照訪問順序依次將外部請求依序分發到後端伺服器。
  • sch:基於源IP地址的一致性hash,相同的源地址會調度到相同的後端伺服器。
  • tch:基於四元組的一致性hash(源IP+目的IP+源通信埠+目的通信埠),相同的流會調度到相同的後端伺服器。
说明 僅有效能保障型執行個體支援schtch一致性hash演算法。
PersistenceTimeout Integer 會話保持的逾時時間。

取值:0-3600(秒)

預設值為0,關閉會話保持。

EstablishedTimeout Integer

連接逾時時間。

取值:10-900(秒)

AclStatus String

是否開啟存取控制功能。

取值:on | off(預設值)

AclType String

存取控制類型:

  • white: 僅轉寄來自所選存取控制策略組中設定的IP地址或地址段的請求,白名單適用於應用只允許特定IP訪問的場景。

    設定白名單存在一定業務風險。一旦設定白名單,就只有白名單中的IP可以訪問負載平衡監聽。如果開啟了白名單訪問,但存取原則組中沒有添加任何IP,則負載平衡監聽會轉寄全部請求。

  • black: 來自所選存取控制策略組中設定的IP地址或地址段的所有請求都不會轉寄,黑名單適用於應用只限制某些特定IP訪問的場景。

    如果開啟了黑名單訪問,但存取原則組中沒有添加任何IP,則負載平衡監聽會轉寄全部請求。

AclStatus參數的值為on時,該參數必選。

AclId String

監聽綁定的存取原則組ID。

AclStatus參數的值為on時,該參數必選。

HealthCheckType String

健康檢查類型。

取值:tcp(預設值) | http

HealthCheckDomain String 用於健康檢查的網域名稱,取值:
  • $_ip: 後端伺服器的私網IP。當指定了IP或該參數未指定時,負載平衡會使用各後端伺服器的私網IP當做健康檢查使用的網域名稱。
  • domain:網域名稱長度為1-80字元,只能包含字母、數字、點號(.)和連字號(-)。
说明 當健康檢查類型為TCP模式時,無需配置該參數。
HealthCheckURI String 用於健康檢查的URI。
说明 當健康檢查類型為TCP模式時,無需配置該參數。
HealthCheckConnectPort Integer

健康檢查使用的通信埠。取值:

  • -520:預設使用監聽配置的後端通信埠。
  • 1-65535:健康檢查的後端伺服器的通信埠。
HealthyThreshold Integer 健康檢查連續成功多少次後,將後端伺服器的健康檢查狀態由fail判定為success。

取值:2-10

UnhealthyThreshold Integer 健康檢查連續失敗多少次後,將後端伺服器的健康檢查狀態由success判定為fail。

取值:2-10

HealthCheckConnectTimeout Integer

接收來自健全狀態檢查的響應需要等待的時間。如果後端ECS在指定的時間內沒有正確響應,則判定為健康檢查失敗。

取值:1-300(秒)

说明 如果HealthCHeckTimeout的值小於HealthCheckInterval的值,則HealthCheckConnectTimeout無效,逾時時間為HealthCheckInterval的值。
HealthCheckInterval Integer

健康檢查的時間間隔。

取值:1-50(秒)

HealthCheckHttpCode String

健康檢查正常的HTTP狀態碼,多個狀態碼用逗號分隔。

取值:http_2xx(預設值) | http_3xx | http_4xx | http_5xx

返回參數

名稱 類型 說明
RequestId String 請求ID。

樣本

請求樣本

https://slb.aliyuncs.com/?Action=CreateLoadBalancerTCPListener
&LoadBalancerId=lb-t4nj5vuz8ish9emfk1f20
&ListenerPort=443
&BackendServerPort=443
&Bandwidth=-1
&VServerGroupId=rsp-cige6j5e7p
&公共請求參數
返回樣本
  • XML格式

    <?xml version="1.0" encoding="UTF-8"?>
    <CreateLoadBalancerTCPListenerResponse>
    	<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>
    </CreateLoadBalancerTCPListenerResponse>
  • JSON格式

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