DATASOURCE::SLB::LoadBalancerTCPListeners

DATASOURCE::SLB::LoadBalancerTCPListeners类型用于查询负载均衡监听列表详情。

语法

{
  "Type": "DATASOURCE::SLB::LoadBalancerTCPListeners",
  "Properties": {
    "LoadBalancerId": String,
    "RefreshOptions": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

LoadBalancerId

String

传统型负载均衡实例的 ID 。

RefreshOptions

String

当资源栈更新时,数据源资源的刷新策略。

有效值:

  • Never(默认值):更新堆栈时,从不刷新数据源资源。

  • Always:更新堆栈时,始终刷新数据源资源。

返回值

Fn::GetAtt

  • LoadBalancerTCPListeners:传统型负载均衡的监听列表。

  • ListenerPorts:传统型负载均衡的监听端口列表。

名称

类型

描述

约束

ListenerPorts

List

传统型负载均衡的监听端口列表。

LoadBalancerTCPListeners

List

传统型负载均衡的监听列表。

AclType

String

访问控制类型。

取值:

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

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

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

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

HealthCheckUri

String

健康检查的 URI。

HealthCheckConnectPort

String

健康检查的端口。

ConnectionDrain

String

是否开启连接优雅中断。

取值:

  • on:是

  • off:否

AclStatus

String

是否开启访问控制功能。

取值:

  • on:是

  • off:否

Description

String

监听描述。

AclId

String

访问控制策略组 ID。

VServerGroupId

String

监听绑定的虚拟服务器组 ID。

Scheduler

String

调度算法。

取值:

  • wrr:权重值越高的后端服务器,被轮询到的次数(概率)也越高。

  • rr:按照访问顺序依次将外部请求依序分发到后端服务器。

  • sch:基于源 IP 地址的一致性 hash,相同的源地址会调度到相同的后端服务器。

  • tch:基于四元组的一致性 hash(源 IP+目的 IP+源端口+目的端口),相同的流会调度到相同的后端服务器。

  • qch:基于 QUIC Connection ID 一致性 hash,相同的 QUIC Connection ID 会调度到相同的后端服务器。

ConnectionDrainTimeout

String

设置连接优雅中断超时时间。

单位:秒。

取值范围:10~900

HealthCheckType

String

健康检查协议。

HealthCheckDomain

String

健康检查的域名。

MasterSlaveServerGroupId

String

绑定的主备服务器组 ID。

HealthCheck

String

是否开启健康检查。

取值:

  • on:是

  • off:否

ListenerPort

String

监听端口。

HealthyThreshold

Integer

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

取值范围:2~10

EstablishedTimeout

Integer

连接超时时间。

单位:秒。

HealthCheckInterval

Integer

健康检查的时间间隔。

单位为秒。

BackendServerPort

Integer

后端服务器的端口。

HealthCheckHttpCode

String

健康检查正常的 HTTP 状态码。

PersistenceTimeout

Integer

是否开启了会话保持。

单位:秒。

取值范围:0~3600

取值为 0 时,表示未开启。

UnhealthyThreshold

Integer

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

取值范围:2~10

Bandwidth

Integer

监听的带宽峰值。

单位:Mbps。

LoadBalancerId

String

传统型负载均衡实例的 ID。

HealthCheckMethod

String

健康检查方式。

取值:head 或 get

HealthCheckConnectTimeout

Integer

健康检查超时时间。

单位:秒。

取值范围:1~300

示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  LoadBalancerId:
    Type: String
    Description:
      en: The ID of the CLB instance.
    Required: true
Resources:
  ExtensionDataSource:
    Type: DATASOURCE::SLB::LoadBalancerTCPListeners
    Properties:
      LoadBalancerId:
        Ref: LoadBalancerId
Outputs:
  LoadBalancerTCPListeners:
    Description: The list of load balancer tcp listeners.
    Value:
      Fn::GetAtt:
        - ExtensionDataSource
        - LoadBalancerTCPListeners
  ListenerPorts:
    Description: The list of listener ports.
    Value:
      Fn::GetAtt:
        - ExtensionDataSource
        - ListenerPorts
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "LoadBalancerId": {
      "Type": "String",
      "Description": {
        "en": "The ID of the CLB instance."
      },
      "Required": true
    }
  },
  "Resources": {
    "ExtensionDataSource": {
      "Type": "DATASOURCE::SLB::LoadBalancerTCPListeners",
      "Properties": {
        "LoadBalancerId": {
          "Ref": "LoadBalancerId"
        }
      }
    }
  },
  "Outputs": {
    "LoadBalancerTCPListeners": {
      "Description": "The list of load balancer tcp listeners.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionDataSource",
          "LoadBalancerTCPListeners"
        ]
      }
    },
    "ListenerPorts": {
      "Description": "The list of listener ports.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionDataSource",
          "ListenerPorts"
        ]
      }
    }
  }
}