ALIYUN::NLB::Listener

ALIYUN::NLB::Listener类型用于创建监听。

语法

{
  "Type": "ALIYUN::NLB::Listener",
  "Properties": {
    "CaEnabled": Boolean,
    "ListenerPort": Integer,
    "StartPort": Integer,
    "Cps": Integer,
    "ServerGroupId": String,
    "IdleTimeout": Integer,
    "LoadBalancerId": String,
    "Mss": Integer,
    "ListenerProtocol": String,
    "SecurityPolicyId": String,
    "ListenerDescription": String,
    "AlpnPolicy": String,
    "CaCertificateIds": List,
    "EndPort": Integer,
    "ProxyProtocolEnabled": Boolean,
    "CertificateIds": List,
    "SecSensorEnabled": Boolean,
    "Enable": Boolean,
    "AlpnEnabled": Boolean,
    "Tags": List,
    "ProxyProtocolV2Config": Map
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

CaEnabled

Boolean

是否开启双向认证。

取值:

  • true:开启。

  • false(默认值):不开启。

ListenerPort

Integer

负载均衡实例前端使用的端口。

取值范围:1~65535。

StartPort

Integer

监听的起始端口。

取值:1。

Cps

Integer

每秒新建连接数。

取值:3000。

ServerGroupId

String

转发到的目的服务器组ID。

IdleTimeout

Integer

指定连接空闲超时时间。

取值范围:1~60。 单位:秒。

LoadBalancerId

String

负载均衡实例ID。

Mss

Integer

MSS自动协商。

ListenerProtocol

String

负载均衡实例前端使用的协议。

取值:

  • TCP

  • UDP

  • TCPSSL

SecurityPolicyId

String

安全策略ID。

ListenerDescription

String

设置监听的描述信息。

长度为2~256个字符。可包含中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)、下划线(_)。

AlpnPolicy

String

Alpn代理。

CaCertificateIds

List

CA签名证书ID。

EndPort

Integer

监听的终止端口。

取值:65535。

ProxyProtocolEnabled

Boolean

是否启用ppv2代理。

取值:

  • true:启用。

  • false:不启用。

CertificateIds

List

签名证书ID。

SecSensorEnabled

Boolean

是否启用二级监控。

取值:

  • true:启用。

  • false:不启用。

Enable

Boolean

是否启用监听。

取值:

  • true:启用。

  • false:不启用。

AlpnEnabled

Boolean

是否启用Alpn代理。

取值:

  • true:启用。

  • false:不启用。

Tags

List

标签列表。

更多信息,请参见Tags属性

ProxyProtocolV2Config

Map

通过 Proxy Protocol 协议携带 VpcId、PrivateLinkEpId、PrivateLinkEpsId 信息到后端服务器配置。

更多信息,请参见ProxyProtocolV2Config属性。

ProxyProtocolV2Config语法

"ProxyProtocolV2Config": {
    "Ppv2PrivateLinkEpIdEnabled": Boolean,
    "Ppv2PrivateLinkEpsIdEnabled": Boolean,
    "Ppv2VpcIdEnabled": Boolean
  }

ProxyProtocolV2Config属性

属性名称

类型

必须

允许更新

描述

约束

Ppv2PrivateLinkEpIdEnabled

Boolean

是否开启通过 Proxy Protocol 协议携带 PrivateLinkEpId 到后端服务器。

取值:

  • true:开启。

  • false:关闭。

Ppv2PrivateLinkEpsIdEnabled

Boolean

是否开启通过 Proxy Protocol 协议携带 PrivateLinkEpsId 到后端服务器。

取值:

  • true:开启。

  • false:关闭。

Ppv2VpcIdEnabled

Boolean

是否开启通过 Proxy Protocol 协议携带 VpcId 到后端服务器。

取值:

  • true:开启。

  • false:关闭。

Tags语法

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]

Tags属性

属性名称

类型

必须

允许更新

描述

约束

Key

String

标签键。

Value

String

标签值。

返回值

Fn::GetAtt

  • ListenerPort:负载均衡实例前端使用的端口。

  • ListenerId:监听ID。

示例

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ServerGroupId:
    Type: String
    Description: ID of the ServerGroup
  LoadBalancerId:
    Type: String
    Description: ID of the LoadBalancer
  ListenerProtocol:
    Type: String
    AllowedValues:
      - TCP
      - UDP
      - TCPSSL
Resources:
  ExtensionResource:
    Type: ALIYUN::NLB::Listener
    Properties:
      ServerGroupId:
        Ref: ServerGroupId
      LoadBalancerId:
        Ref: LoadBalancerId
      ListenerProtocol:
        Ref: ListenerProtocol
Outputs:
  ListenerPort:
    Description: ListenerPort of created Listener
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ListenerPort
  ListenerId:
    Description: Id of created Listener
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ListenerId

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ServerGroupId": {
      "Type": "String",
      "Description": "ID of the ServerGroup"
    },
    "LoadBalancerId": {
      "Type": "String",
      "Description": "ID of the LoadBalancer"
    },
    "ListenerProtocol": {
      "Type": "String",
      "AllowedValues": [
        "TCP",
        "UDP",
        "TCPSSL"
      ]
    }
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::NLB::Listener",
      "Properties": {
        "ServerGroupId": {
          "Ref": "ServerGroupId"
        },
        "LoadBalancerId": {
          "Ref": "LoadBalancerId"
        },
        "ListenerProtocol": {
          "Ref": "ListenerProtocol"
        }
      }
    }
  },
  "Outputs": {
    "ListenerPort": {
      "Description": "ListenerPort of created Listener",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ListenerPort"
        ]
      }
    },
    "ListenerId": {
      "Description": "Id of created Listener",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ListenerId"
        ]
      }
    }
  }
}