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,
"UpstreamKeepaliveEnabled": Boolean,
"SlowStartConfig": Map,
"ConnectionDrainConfig": Map,
"UchConfig": Map
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
HealthCheckConfig | Map | 是 | 是 | 健康检查相关配置结构。 | 更多信息,请参见HealthCheckConfig属性。 |
ServerGroupName | String | 是 | 是 | 服务器组名称。 | 长度为2~128个字符,必须以英文字母或汉字开头,可包含数字、半角句点(.)、下划线(_)和短划线(-)。 |
VpcId | String | 是 | 否 | 专有网络ID。 | 只有该VPC下的服务器可以加入服务器组。 |
Protocol | String | 否 | 否 | 后端协议。 | 取值:
说明 ServerGroupType取值为Fc时,仅支持HTTP协议。 |
ResourceGroupId | String | 否 | 是 | 资源组ID。 | 无 |
Scheduler | String | 否 | 是 | 调度算法。 | 取值:
|
ServerGroupType | String | 否 | 否 | 服务器组类型。 | 取值:
|
ServiceName | String | 否 | 是 | 服务器组对应的Kubernetes服务名称。 | 说明 本参数仅适用于应用路由场景。 |
StickySessionConfig | Map | 否 | 是 | 会话保持配置结构体。 | 更多信息,请参见StickySessionConfig属性。 |
Tags | List | 否 | 是 | 标签。 | 最多添加20个标签。 更多信息,请参见Tags属性。 |
UpstreamKeepaliveEnabled | Boolean | 否 | 是 | 是否开启后端长链接。 |
|
SlowStartConfig | Map | 否 | 是 | 慢启动相关配置。 | 开启慢启动后,将会在设定的时间段内对新添加到后端服务器组的后端服务器进行预热,转发到该服务器的请求数量线性增加。 更多信息,请参见SlowStartConfig属性。 说明
|
ConnectionDrainConfig | Map | 否 | 是 | 连接优雅中断相关配置。 | 开启连接优雅中断,在移除后端服务器或者健康检查失败后,负载均衡使现有连接在一定时间内正常传输。 说明 基础版实例不支持开启连接优雅中断,仅标准版、WAF 增强版实例支持。 服务器类型、IP 类型服务器组支持连接优雅中断,函数计算类型不支持。 |
UchConfig | Map | 否 | 是 | URL一致性 hash 参数配置。 | 更多信息,请参见UchConfig属性。 |
UchConfig语法
"UchConfig": {
"Type": String,
"Value": String
}
UchConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Type | String | 是 | 否 | 参数类型。 | 只能填 QueryString。 |
Value | String | 是 | 否 | 一致性 hash 参数值。 | 无 |
ConnectionDrainConfig语法
"ConnectionDrainConfig": {
"ConnectionDrainTimeout": Integer,
"ConnectionDrainEnabled": Boolean
}
ConnectionDrainConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ConnectionDrainTimeout | Integer | 否 | 是 | 连接优雅中断超时时间。 | 取值范围:0~900。 默认值:300。 |
ConnectionDrainEnabled | Boolean | 否 | 是 | 是否开启连接优雅中断。 | 取值:
|
SlowStartConfig语法
"SlowStartConfig": {
"SlowStartDuration": Integer,
"SlowStartEnabled": Boolean
}
SlowStartConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
SlowStartDuration | Integer | 否 | 是 | 慢启动持续时间。 | 取值范围:30~900。 默认值:30。 |
SlowStartEnabled | Boolean | 否 | 是 | 是否开启慢启动。 | 取值:
|
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或HTTPS或gRPC,该参数生效。 |
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或HTTPS或gRPC时,该参数生效。 |
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"
]
}
}
}
}