全部產品
Search
文件中心

:DATASOURCE::SLB::Rules

更新時間:Nov 28, 2024

DATASOURCE::SLB::Rules類型用於查詢指定監聽已配置的轉寄規則。

文法

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

屬性

屬性名稱

類型

必須

允許更新

描述

約束

ListenerPort

String

Server Load Balancer執行個體前端使用的監聽連接埠。

取值範圍:1~65535。

LoadBalancerId

String

Server Load Balancer執行個體ID。

ListenerProtocol

String

Server Load Balancer執行個體前端使用的協議。

相同連接埠存在不同協議監聽時,該欄位必填。

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

Server Load Balancer執行個體前端使用的協議。

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"
        ]
      }
    }
  }
}