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
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
VpcId | String | 是 | 否 | 专有网络ID。 | 只有该VPC下的服务器可以加入服务器组。 |
ResourceGroupId | String | 否 | 是 | 资源组ID。 | 无 |
Scheduler | String | 否 | 是 | 调度算法。 | 取值:
|
StickySessionConfig | Map | 否 | 是 | 会话保持配置结构体。 | 更多信息,请参见StickySessionConfig属性。 |
HealthCheckConfig | Map | 是 | 是 | 健康检查相关配置结构。 | 更多信息,请参见HealthCheckConfig属性。 |
Protocol | String | 否 | 否 | 后端协议。 | 取值:
|
ServerGroupType | String | 否 | 否 | 服务器组类型。 | 取值:
|
ServerGroupName | String | 是 | 是 | 服务器组名称。 | 长度为2~128个字符,必须以英文字母或汉字开头,可包含数字、半角句点(.)、下划线(_)和短划线(-)。 |
Tags | List | 否 | 是 | 标签。 | 最多添加20个标签。 更多信息,请参见Tags属性。 |
ServiceName | String | 否 | 是 | 服务器组对应的Kubernetes服务名称。 |
说明 本参数仅适用于应用路由场景。
|
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时,必须指定该参数。
|
StickySessionType | String | 否 | 是 | Cookie的处理方式。 | 取值:
说明 当StickySessionEnabled取值为true时,必须指定该参数。
|
StickySessionEnabled | Boolean | 否 | 是 | 是否启用会话保持。 | 取值:
说明 当ServerGroupType取值为
Instance 或
Ip 时,必须指定该参数。
|
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属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
HealthCheckInterval | Integer | 否 | 是 | 健康检查的时间间隔。 | 取值范围:1~50。 默认值:2。 单位:秒。 |
HealthCheckConnectPort | Integer | 否 | 是 | 健康检查的后端服务器的端口。 | 取值范围: 0~65,535。 默认值:0,表示使用后端服务器的端口进行健康检查。 |
HealthCheckCodes | List | 否 | 是 | 健康检查的状态码列表。 | 取值:
说明 当HealthCheckProtocol取值为HTTP时,该参数有效。
|
UnhealthyThreshold | Integer | 否 | 是 | 健康检查连续失败多少次后,将后端服务器的健康检查状态由成功判定为失败。 | 取值范围:2~10。 默认值:3。 |
HealthCheckMethod | String | 否 | 是 | 健康检查方式。 | 取值:
说明 当HealthCheckProtocol取值为HTTP时,该参数有效。
|
HealthCheckPath | String | 否 | 是 | 健康检查的路径。 | 长度为1~80,必须以正斜线(/)开头。可包含英文字母、数字和特殊字符-/.%?#&=_;~!()*[]@$^:',+ 。
说明 当HealthCheckProtocol取值为HTTP时,该参数有效。
|
HealthCheckHost | String | 否 | 是 | 健康检查域名。 | 长度为1~80个字符。可包含小写英文字母、数字、短划线(-)和半角句号(.)。 取值示例:
说明 当HealthCheckProtocol取值为HTTP时,该参数有效。
|
HealthyThreshold | Integer | 否 | 是 | 健康检查连续成功多少次后,将后端服务器的健康检查状态由失败判定为成功。 | 取值范围:2~10。 默认值:3。 |
HealthCheckProtocol | String | 否 | 是 | 健康检查协议。 | 取值:
|
HealthCheckHttpVersion | String | 否 | 是 | 健康检查HTTP协议版本。 | 取值:
说明 当HealthCheckProtocol取值为HTTP时,该参数有效。
|
HealthCheckEnabled | Boolean | 是 | 是 | 是否启用健康检查。 | 取值:
|
HealthCheckTimeout | Integer | 否 | 是 | 接收来自运行状况检查的响应需要等待的时间。 | 如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。 取值范围:1~300。 默认值:5。 单位:秒。
说明 如果HealthCHeckTimeout的值小于HealthCheckInterval的值,则HealthCHeckTimeout无效,超时时间为HealthCheckInterval的值。
|
Tags语法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符,不能以aliyun 和acs: 开头,不能包含http://或https:// 。 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以aliyun 和acs: 开头,不能包含http://或https:// 。 |
返回值
Fn::GetAtt
ServerGroupId:服务器组ID。
示例
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" ] } } } }