全部產品
Search
文件中心

:ALIYUN::ALB::ServerGroup

更新時間:Jun 19, 2024

ALIYUN::ALB::ServerGroup類型用於建立伺服器組。

文法

{
  "Type": "ALIYUN::ALB::ServerGroup",
  "Properties": {
    "VpcId": String,
    "ResourceGroupId": String,
    "Scheduler": String,
    "StickySessionConfig": Map,
    "HealthCheckConfig": Map,
    "Protocol": String,
    "ServerGroupType": String,
    "ServerGroupName": String,
    "Tags": List,
    "ServiceName": String
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

HealthCheckConfig

Map

健全狀態檢查相關配置結構。

更多資訊,請參見HealthCheckConfig屬性

ServerGroupName

String

伺服器組名稱。

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

VpcId

String

專用網路ID。

只有該VPC下的伺服器可以加入伺服器組。

Protocol

String

後端協議。

取值:

  • HTTP(預設值):支援關聯HTTPS、HTTP和QUIC監聽。

  • HTTPS:支援關聯HTTPS監聽。

ResourceGroupId

String

資源群組ID。

Scheduler

String

調度演算法。

取值:

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

  • Wlc:除了根據每台後端伺服器設定的權重值來進行輪詢,同時還考慮後端伺服器的實際負載(即串連數)。當權重值相同時,當前串連數越小的後端伺服器被輪詢到的機率也越高。

  • Sch:源IP一致性Hash。

ServerGroupType

String

伺服器群組類型。

取值:

  • Instance(預設值):伺服器類型。

  • Ip:IP地址類型。

ServiceName

String

伺服器組對應的Kubernetes服務名稱。

說明

本參數僅適用於應用路由情境。

StickySessionConfig

Map

會話保持配置結構體。

更多資訊,請參見StickySessionConfig屬性

Tags

List

標籤。

最多添加20個標籤。

更多資訊,請參見Tags屬性

StickySessionConfig文法

"StickySessionConfig": {
  "Cookie": String,
  "CookieTimeout": Integer,
  "StickySessionType": String,
  "StickySessionEnabled": Boolean
}

StickySessionConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

Cookie

String

伺服器上配置的Cookie。

長度為1~200個字元,不能以貨幣符號($)開頭,可包含英文字母和數字,不能包含半形逗號(,)、半形分號(;)或空格。

說明

當StickySessionEnabled取值為true且StickySessionType取值為Server時,必須指定該參數。

CookieTimeout

Integer

Cookie逾時時間。

取值範圍:1~86,400。

預設值:1000。

單位:秒。

說明

當StickySessionEnabled取值為true且StickySessionType取值為Insert時,必須指定該參數。

StickySessionEnabled

Boolean

是否啟用會話保持。

取值:

  • true:啟用。

  • false:禁用。

說明

當ServerGroupType取值為InstanceIp時,必須指定該參數。

StickySessionType

String

Cookie的處理方式。

取值:

  • Insert(預設值):植入Cookie。用戶端第一次訪問時,負載平衡會在返回請求中植入Cookie(即在HTTP或HTTPS響應報文中插入SERVERID),下次用戶端攜帶此Cookie訪問,負載平衡服務會將請求定向轉寄給之前記錄到的後端伺服器上。

  • Server:重寫Cookie。負載平衡發現使用者自訂了Cookie,將會對原來的Cookie進行重寫,下次用戶端攜帶新的Cookie訪問,負載平衡服務會將請求定向轉寄給之前記錄到的後端伺服器。

說明

當StickySessionEnabled取值為true時,必須指定該參數。

HealthCheckConfig文法

"HealthCheckConfig": {
  "HealthCheckInterval": Integer,
  "HealthCheckConnectPort": Integer,
  "HealthCheckCodes": List,
  "UnhealthyThreshold": Integer,
  "HealthCheckMethod": String,
  "HealthCheckPath": String,
  "HealthCheckHost": String,
  "HealthyThreshold": Integer,
  "HealthCheckProtocol": String,
  "HealthCheckHttpVersion": String,
  "HealthCheckEnabled": Boolean,
  "HealthCheckTimeout": Integer
}

HealthCheckConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

HealthCheckEnabled

Boolean

是否啟用健全狀態檢查。

取值:

  • true:啟用。

  • false:禁用。

HealthCheckCodes

List

健全狀態檢查的狀態代碼列表。

取值:

  • http_2xx(預設值)

  • http_3xx

  • http_4xx

  • http_5xx

說明

當HealthCheckProtocol取值為HTTP時,該參數有效。

HealthCheckConnectPort

Integer

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

取值範圍: 0~65,535。

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

HealthCheckHost

String

健全狀態檢查網域名稱。

長度為1~80個字元。可包含小寫英文字母、數字、短劃線(-)和半形句號(.)。

取值樣本:www.example.com

說明

當HealthCheckProtocol取值為HTTP時,該參數有效。

HealthCheckHttpVersion

String

健全狀態檢查HTTP協議版本。

取值:

  • HTTP1.0

  • HTTP1.1(預設值)

說明

當HealthCheckProtocol取值為HTTP時,該參數有效。

HealthCheckInterval

Integer

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

取值範圍:1~50。

預設值:2。

單位:秒。

HealthCheckMethod

String

健全狀態檢查方式。

取值:

  • GET

  • HEAD(預設值)

說明

當HealthCheckProtocol取值為HTTP時,該參數有效。

HealthCheckPath

String

健全狀態檢查的路徑。

長度為1~80,必須以正斜線(/)開頭。可包含英文字母、數字和特殊字元-/.%?#&=_;~!()*[]@$^:',+

說明

當HealthCheckProtocol取值為HTTP時,該參數有效。

HealthCheckProtocol

String

健全狀態檢查協議。

取值:

  • HTTP

  • HTTPS

HealthCheckTimeout

Integer

接收來自健全狀態檢查的響應需要等待的時間。

如果後端ECS在指定的時間內沒有正確響應,則判定為健全狀態檢查失敗。

取值範圍:1~300。

預設值:5。

單位:秒。

說明

如果HealthCHeckTimeout的值小於HealthCheckInterval的值,則HealthCHeckTimeout無效,逾時時間為HealthCheckInterval的值。

HealthyThreshold

Integer

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

取值範圍:2~10。

預設值:3。

UnhealthyThreshold

Integer

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

取值範圍:2~10。

預設值:3。

Tags文法

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

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

長度為1~128個字元,不能以aliyunacs:開頭,不能包含http://或https:// 。

Value

String

標籤值。

長度為0~128個字元,不能以aliyunacs:開頭,不能包含http://或https:// 。

傳回值

Fn::GetAtt

ServerGroupId:伺服器組ID。

樣本

說明

請您根據實際情況更改脫敏的參數取值。

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Label:
      zh-cn: 現有VPC的執行個體ID
      en: Existing VPC Instance ID
Resources:
  ServerGroup:
    Type: ALIYUN::ALB::ServerGroup
    Properties:
      VpcId:
        Ref: VpcId
      StickySessionConfig:
        Cookie: B490B5EBF6F3CD402E515D22****
        CookieTimeout: 1000
        StickySessionEnabled: true
        StickySessionType: Insert
      HealthCheckConfig:
        HealthCheckConnectPort: 80
        HealthCheckEnabled: true
        HealthCheckHost: www.example.com
        HealthCheckCodes:
          - http_2xx
        HealthCheckHttpVersion: HTTP1.0
        HealthCheckInterval: 5
        HealthCheckMethod: HEAD
        HealthCheckPath: /test/index.html
        HealthCheckProtocol: HTTP
        HealthCheckTimeout: 3
        HealthyThreshold: 4
        UnhealthyThreshold: 4
      ServerGroupName: TestServerGroup
Outputs:
  ServerGroupId:
    Description: The ID of the server group.
    Value:
      Fn::GetAtt:
        - ServerGroup
        - ServerGroupId                  

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "VpcId": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Label": {
        "zh-cn": "現有VPC的執行個體ID",
        "en": "Existing VPC Instance ID"
      }
    }
  },
  "Resources": {
    "ServerGroup": {
      "Type": "ALIYUN::ALB::ServerGroup",
      "Properties": {
        "VpcId": {
          "Ref": "VpcId"
        },
        "StickySessionConfig": {
          "Cookie": "B490B5EBF6F3CD402E515D22****",
          "CookieTimeout": 1000,
          "StickySessionEnabled": true,
          "StickySessionType": "Insert"
        },
        "HealthCheckConfig": {
          "HealthCheckConnectPort": 80,
          "HealthCheckEnabled": true,
          "HealthCheckHost": "www.example.com",
          "HealthCheckCodes": [
            "http_2xx"
          ],
          "HealthCheckHttpVersion": "HTTP1.0",
          "HealthCheckInterval": 5,
          "HealthCheckMethod": "HEAD",
          "HealthCheckPath": "/test/index.html",
          "HealthCheckProtocol": "HTTP",
          "HealthCheckTimeout": 3,
          "HealthyThreshold": 4,
          "UnhealthyThreshold": 4
        },
        "ServerGroupName": "TestServerGroup"
      }
    }
  },
  "Outputs": {
    "ServerGroupId": {
      "Description": "The ID of the server group.",
      "Value": {
        "Fn::GetAtt": [
          "ServerGroup",
          "ServerGroupId"
        ]
      }
    }
  }
}