全部产品
Search
文档中心

资源编排:DATASOURCE::SLB::Rules

更新时间:Nov 27, 2024

DATASOURCE::SLB::Rules类型用于查询指定监听已配置的转发规则。

语法

{
  "Type": "DATASOURCE::SLB::Rules",
  "Properties": {
    "ListenerPort": String,
    "LoadBalancerId": String,
    "ListenerProtocol": String,
    "RefreshOptions": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

ListenerPort

String

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

取值范围:1~65535。

LoadBalancerId

String

负载均衡实例ID。

ListenerProtocol

String

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

相同端口存在不同协议监听时,该字段必填。

RefreshOptions

String

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

有效值:

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

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

返回值

Fn::GetAtt

  • RuleIds:转发规则ID列表。

  • Rules:转发规则列表。

属性名称

类型

描述

约束

RuleIds

List

转发规则ID列表。

Rules

List

转发规则列表。

HealthCheckHttpCode

String

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

多个状态码用半角逗号(,)分隔。

取值:

  • http_2xx(默认值)

  • http_3xx

  • http_4xx

  • http_5xx

说明

当HealthCheck为on时,该参数有效。

HealthCheckUri

String

用于健康检查的URI。

说明

当HealthCheck为on时,该参数有效。

CookieTimeout

String

Cookie超时时间。

取值:1~86400。

单位:秒。

说明

当StickySession为on且StickySessionType为insert时,该参数有效。

RuleId

String

转发规则ID。

Url

String

转发规则绑定的请求路径。

ListenerProtocol

String

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

HealthCheckTimeout

Integer

接收来自运行状况检查的响应需要等待的时间。

如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。

取值:1~300。

单位:秒。

说明

如果HealthCHeckTimeout的值小于HealthCheckInterval的值,则HealthCHeckTimeout无效,超时时间为HealthCheckInterval的值。

当HealthCheck为on时,该参数有效。

HealthCheck

String

是否开启健康检查。

取值:

  • on:开启健康检查。

  • off:关闭健康检查。

说明

当ListenerSync为off时,该参数有效;当ListenerSync为on时表明与监听配置一致。

ListenerSync

String

转发规则是否从监听上继承健康检查、会话保持和调度算法配置。

取值:

  • on:继承监听配置。

  • off:不继承监听配置,转发规则自定义健康检查及会话保持配置。

UnhealthyThreshold

Integer

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

取值:2~10。

说明

当HealthCheck为on时,该参数有效。

HealthyThreshold

Integer

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

取值:2~10。

说明

当HealthCheck为on时,该参数有效。

HealthCheckInterval

Integer

健康检查的时间间隔。

取值:1~50。

单位:秒。

说明

当HealthCheck为on时,该参数有效。

HealthCheckConnectPort

Integer

健康检查的后端服务器的端口。

取值:1~65535。

说明

当HealthCheck为on时,该参数有效;若该参数为空且HealthCheck为on时,表明默认使用监听后端端口配置。

Cookie

String

服务器上配置的Cookie。

长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。

说明

当StickySession为on且StickySessionType为server时,该参数有效。

VServerGroupId

String

转发规则绑定的目标虚拟服务器组ID。

Scheduler

String

调度算法。

取值:

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

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

说明

当ListenerSync为off时,该参数有效;当ListenerSync为on时,表明与监听配置一致。

RuleName

String

转发规则名称。

长度为1~80个字符,只能使用字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)这些字符。

说明

同一个监听内不同规则的名称必须唯一。

Domain

String

转发规则绑定的请求域名。

StickySession

String

是否开启会话保持。

取值:

  • on:开启会话保持。

  • off:关闭会话保持。

说明
  • 当ListenerSync为off时,该参数有效。

  • 当ListenerSync为on时,表明与监听配置一致。

StickySessionType

String

Cookie的处理方式。

取值:

  • insert:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。

  • server:重写Cookie。 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。

说明

当StickySession的值为on时,该参数有效。

HealthCheckDomain

String

用于健康检查的域名。

取值:

  • $_ip: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当作健康检查使用的域名。

  • domain:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。

说明

当HealthCheck为on时,该参数有效。

示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  LoadBalancerId:
    Type: String
    AssociationProperty: ALIYUN::SLB::Instance::InstanceId
    Description: The ID of the CLB instance.
Resources:
  ExtensionDataSource:
    Type: DATASOURCE::SLB::Rules
    Properties:
      ListenerPort: 3443
      LoadBalancerId:
        Ref: LoadBalancerId
Outputs:
  RuleIds:
    Description: The list of rule IDs.
    Value:
      Fn::GetAtt:
        - ExtensionDataSource
        - RuleIds
  Rules:
    Description: The list of rules.
    Value:
      Fn::GetAtt:
        - ExtensionDataSource
        - Rules
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "LoadBalancerId": {
      "Type": "String",
      "AssociationProperty":"ALIYUN::SLB::Instance::InstanceId",
      "Description": "The ID of the CLB instance."
    }
  },
  "Resources": {
    "ExtensionDataSource": {
      "Type": "DATASOURCE::SLB::Rules",
      "Properties": {
        "ListenerPort": 3443,
        "LoadBalancerId": {
          "Ref": "LoadBalancerId"
        }
      }
    }
  },
  "Outputs": {
    "RuleIds": {
      "Description": "The list of rule IDs.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionDataSource",
          "RuleIds"
        ]
      }
    },
    "Rules": {
      "Description": "The list of rules.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionDataSource",
          "Rules"
        ]
      }
    }
  }
}