全部產品
Search
文件中心

:ALIYUN::NLB::ServerGroup

更新時間:Jun 19, 2024

ALIYUN::NLB::ServerGroup類型用於為網路型負載平衡建立伺服器組。

文法

{
  "Type": "ALIYUN::NLB::ServerGroup",
  "Properties": {
    "ResourceGroupId": String,
    "Scheduler": String,
    "AddressIPVersion": String,
    "Servers": List,
    "PreserveClientIpEnabled": Boolean,
    "ServerGroupType": String,
    "PersistenceEnabled": Boolean,
    "ConnectionDrainEnabled": Boolean,
    "ConnectionDrainTimeout": Integer,
    "PersistenceTimeout": Integer,
    "VpcId": String,
    "HealthCheckConfig": Map,
    "Protocol": String,
    "ServerGroupName": String,
    "Tags": List,
    "AnyPortEnabled": Boolean
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

ResourceGroupId

String

資源群組ID。

Scheduler

String

調度演算法。

取值:

  • Wrr(預設值):加權輪詢。權重值越高的後端伺服器,被輪詢到的機率也越高。

  • rr:輪詢。按照訪問順序依次將外部請求分發到後端伺服器。

  • sch:源IP雜湊。相同的源地址會調度到相同的後端伺服器。

  • tch:四元組雜湊。基於四元組(源IP、目的IP、源連接埠和目的連接埠)的一致性雜湊,相同的流會調度到相同的後端伺服器。

  • qch:QUIC ID雜湊。支援將同一個QUIC ID的請求雜湊調度到同一台後端伺服器上。

AddressIPVersion

String

協議版本。

取值:

  • ipv4(預設值):IPv4類型。

  • DualStack:雙棧類型。

Servers

List

伺服器列表。

更多資訊,請參見Servers屬性

PreserveClientIpEnabled

Boolean

是否開啟用戶端地址保持功能。

取值:

  • true:開啟用戶端地址保持功能。

  • false(預設值):關閉用戶端地址保持功能。

ServerGroupType

String

伺服器群組類型。

取值:

  • Instance(預設值):伺服器類型。該類型伺服器組支援添加ECS、ENS、ECI類型執行個體。

  • Ip:IP地址類型。該類型伺服器組支援直接添加IP地址類型的後端伺服器。

PersistenceEnabled

Boolean

是否開啟會話保持。

取值:

  • true:開啟會話保持。

  • false:關閉會話保持。

ConnectionDrainEnabled

Boolean

是否開啟串連優雅中斷。

取值:

  • true:開啟串連優雅中斷。

  • false(預設值):關閉串連優雅中斷。

ConnectionDrainTimeout

Integer

設定串連優雅中斷逾時時間。

單位:秒。

取值範圍:10~900。

PersistenceTimeout

Integer

會話保持逾時時間。

單位:秒。

取值範圍:0~3600。

VpcId

String

伺服器組所在VPC的ID。

說明

當ServerGroupType參數取值為Instance時,只有Instance類型伺服器組所在VPC下的伺服器,才可以加入到該伺服器組中。

HealthCheckConfig

Map

健全狀態檢查相關配置。

更多資訊,請參見HealthCheckConfig屬性

Protocol

String

後端轉寄協議。

取值:

  • TCP(預設值)

  • UDP

  • TCPSSL

ServerGroupName

String

伺服器組名稱。

長度為2~128個字元,必須以大小寫字母或中文開頭,可包含數字、半形句號(.)、底線(_)和短劃線(-)。

AnyPortEnabled

Boolean

是否開啟全連接埠轉寄。

取值:

  • true:開啟。

  • false:關閉。

Tags

List

標籤列表

更多資訊,請參見Tags屬性

Servers文法

"Servers": [
  {
    "ServerType": String,
    "Description": String,
    "ServerId": String,
    "ServerIp": String,
    "Port": Integer,
    "Weight": Integer
  }
]

Servers屬性

屬性名稱

類型

必須

允許更新

描述

約束

ServerType

String

後端伺服器類型。

取值:

  • Ecs:ECS執行個體(預設)。

  • Eni:彈性網卡執行個體。

  • Eci:Elastic Container Instance。

  • Ip:服務IP。

Description

String

後端伺服器描述。

ServerId

String

後端伺服器的執行個體ID。

取值:

  • ECS執行個體ID。

  • ENI執行個體ID。

  • ECI執行個體ID。

說明

當ServerId參數值為ENI執行個體ID或ECI執行個體ID時,ServerType參數必選。

ServerIp

String

ECS、ENI或者ECI的執行個體IP。

Port

Integer

接收請求的後端連接埠。

Weight

Integer

後端伺服器的權重。

取值:0~100。

預設值:100。

HealthCheckConfig文法

"HealthCheckConfig": {
  "HealthCheckInterval": Integer,
  "HealthCheckUrl": String,
  "HealthCheckConnectPort": Integer,
  "UnhealthyThreshold": Integer,
  "HttpCheckMethod": String,
  "HealthyThreshold": Integer,
  "HealthCheckConnectTimeout": Integer,
  "HealthCheckDomain": String,
  "HealthCheckEnabled": Boolean,
  "HealthCheckHttpCode": List,
  "HealthCheckType": String
}

HealthCheckConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

HealthCheckInterval

Integer

健全狀態檢查的時間間隔。

單位:秒。

取值範圍:5~50。

預設值:10。

HealthCheckUrl

String

健全狀態檢查路徑。

長度為1~80個字元,只能使用字母、數字、字元(-/.%?#&=)以及擴充字元(_;~!()*[]@$^:',+),且必須以正斜線(/)開頭。

說明

當HealthCheckType參數值為HTTP時,該參數生效。

HealthCheckConnectPort

Integer

健全狀態檢查的後端伺服器的連接埠。

取值範圍: 0~65535。

預設值:0,表示使用後端伺服器的連接埠進行健全狀態檢查。

UnhealthyThreshold

Integer

健全狀態檢查連續失敗多少次後,將後端伺服器的健全狀態檢查狀態由成功判定為失敗。

取值範圍:2~10。

預設值:2。

HttpCheckMethod

String

健全狀態檢查方法。

取值:

  • GET(預設值)

  • HEAD

說明

當HealthCheckType參數值為HTTP時,該參數生效。

HealthyThreshold

Integer

健全狀態檢查連續成功多少次後,將後端伺服器的健全狀態檢查狀態由失敗判定為成功。

取值範圍:2~10。

預設值:2。

HealthCheckConnectTimeout

Integer

健全狀態檢查響應的最大逾時時間。

單位:秒。

取值範圍:1~300。

預設值:5。

HealthCheckDomain

String

用於健全狀態檢查的網域名稱。

取值:

  • $SERVER_IP:使用後端伺服器內網IP。

  • domain:指定特定網域名稱。長度限制1~80個字元,只能使用小寫字母、數字、短劃線(-)、半形句號(.)。

說明

當HealthCheckType參數值為HTTP時,該參數生效。

HealthCheckEnabled

Boolean

是否開啟健全狀態檢查。

取值:

  • true(預設值):開啟健全狀態檢查。

  • false:關閉健全狀態檢查。

HealthCheckHttpCode

List

健康狀態返回碼。

多個狀態代碼用半形逗號(,)分隔。

取值:

  • http_2xx(預設值)

  • http_3xx

  • http_4xx

  • http_5xx

說明

當HealthCheckType參數值為HTTP時,該參數生效。

HealthCheckType

String

健全狀態檢查協議。

取值:

  • Tcp(預設值)

  • Http

Tags文法

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

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

Value

String

標籤值。

傳回值

Fn::GetAtt

ServerGroupId:伺服器組ID。

樣本

建立綁定了服務IP的伺服器組。

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Description: ''
Parameters:
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
Resources:
  NlbServerGroup:
    Type: ALIYUN::NLB::ServerGroup
    Properties:
      Servers:
        - ServerId: 10.1.1.102
          ServerIp: 10.1.1.102
          Port: 80
          Weight: 100
          ServerType: Ip
      ServerGroupType: Ip
      ServerGroupName: Test
      VpcId:
        Ref: VpcId
      HealthCheckConfig:
        HttpCheckMethod: Get
        HealthCheckEnabled: true
        HealthCheckConnectTimeout: Null
      Protocol: TCP
Outputs: {}

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "",
  "Parameters": {
    "VpcId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
    }
  },
  "Resources": {
    "NlbServerGroup": {
      "Type": "ALIYUN::NLB::ServerGroup",
      "Properties": {
        "Servers": [
          {
            "ServerId": "10.1.1.102",
            "ServerIp": "10.1.1.102",
            "Port": 80,
            "Weight": 100,
            "ServerType": "Ip"
          }
        ],
        "ServerGroupType": "Ip",
        "ServerGroupName": "Test",
        "VpcId": {
          "Ref": "VpcId"
        },
        "HealthCheckConfig": {
          "HttpCheckMethod": "Get",
          "HealthCheckEnabled": true,
          "HealthCheckConnectTimeout": null
        },
        "Protocol": "TCP"
      }
    }
  },
  "Outputs": {
  }
}