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 | 否 | 否 | 後端協議。 | 取值:
|
ResourceGroupId | String | 否 | 是 | 資源群組ID。 | 無 |
Scheduler | String | 否 | 是 | 調度演算法。 | 取值:
|
ServerGroupType | String | 否 | 否 | 伺服器群組類型。 | 取值:
|
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 | 否 | 是 | 是否啟用會話保持。 | 取值:
說明 當ServerGroupType取值為 |
StickySessionType | String | 否 | 是 | 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 | 是 | 是 | 是否啟用健全狀態檢查。 | 取值:
|
HealthCheckCodes | List | 否 | 是 | 健全狀態檢查的狀態代碼列表。 | 取值:
說明 當HealthCheckProtocol取值為HTTP時,該參數有效。 |
HealthCheckConnectPort | Integer | 否 | 是 | 健全狀態檢查的後端伺服器的連接埠。 | 取值範圍: 0~65,535。 預設值:0,表示使用後端伺服器的連接埠進行健全狀態檢查。 |
HealthCheckHost | String | 否 | 是 | 健全狀態檢查網域名稱。 | 長度為1~80個字元。可包含小寫英文字母、數字、短劃線(-)和半形句號(.)。 取值樣本: 說明 當HealthCheckProtocol取值為HTTP時,該參數有效。 |
HealthCheckHttpVersion | String | 否 | 是 | 健全狀態檢查HTTP協議版本。 | 取值:
說明 當HealthCheckProtocol取值為HTTP時,該參數有效。 |
HealthCheckInterval | Integer | 否 | 是 | 健全狀態檢查的時間間隔。 | 取值範圍:1~50。 預設值:2。 單位:秒。 |
HealthCheckMethod | String | 否 | 是 | 健全狀態檢查方式。 | 取值:
說明 當HealthCheckProtocol取值為HTTP時,該參數有效。 |
HealthCheckPath | String | 否 | 是 | 健全狀態檢查的路徑。 | 長度為1~80,必須以正斜線(/)開頭。可包含英文字母、數字和特殊字元 說明 當HealthCheckProtocol取值為HTTP時,該參數有效。 |
HealthCheckProtocol | String | 否 | 是 | 健全狀態檢查協議。 | 取值:
|
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個字元,不能以 |
Value | String | 否 | 否 | 標籤值。 | 長度為0~128個字元,不能以 |
傳回值
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"
]
}
}
}
}