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