ALIYUN::ALB::ServerGroup类型用于创建服务器组。
语法
{
"Type": "ALIYUN::ALB::ServerGroup",
"Properties": {
"VpcId": String,
"ResourceGroupId": String,
"Scheduler": String,
"StickySessionConfig": Map,
"HealthCheckConfig": Map,
"Protocol": String,
"ServerGroupType": String,
"ServerGroupName": String
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
VpcId | String | 是 | 否 | 专有网络ID。 | 只有该VPC下的服务器可以加入服务器组。 |
ResourceGroupId | String | 否 | 否 | 资源组ID。 | 无 |
Scheduler | String | 否 | 是 | 调度算法。 | 取值:
|
StickySessionConfig | Map | 否 | 是 | 会话保持配置结构体。 | 更多信息,请参见StickySessionConfig属性。 |
HealthCheckConfig | Map | 是 | 是 | 健康检查相关配置结构。 | 更多信息,请参见HealthCheckConfig属性。 |
Protocol | String | 否 | 否 | 后端协议。 | 取值:
|
ServerGroupType | String | 否 | 否 | 服务器组类型。 | 取值:
|
ServerGroupName | String | 是 | 是 | 服务器组名称。 | 长度为2~128个字符,必须以英文字母或汉字开头,可包含数字、半角句点(.)、下划线(_)和短划线(-)。 |
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的值。
|
返回值
Fn::GetAtt
ServerGroupId:服务器组ID。
示例
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcId": {
"Type": "String",
"Description": "The ID of the virtual private cloud (VPC). You can add only servers that are deployed\nin the specified VPC to the server group.\nNote This parameter is required if the ServerGroupType parameter is set to Instance or Ip.",
"Default": "vpc-bp1vo0eez19cmlv1w****"
},
"StickySessionConfig": {
"Type": "Json",
"Description": "The configuration of session persistence.\nNote This parameter is required if the ServerGroupType parameter is set to Instance or Ip.",
"Default": {
"Cookie": "B490B5EBF6F3CD402E515D22****",
"CookieTimeout": 1000,
"StickySessionEnabled": true,
"StickySessionType": "Insert"
}
},
"HealthCheckConfig": {
"Type": "Json",
"Description": "The configuration of health checks.",
"Default": {
"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": {
"Type": "String",
"Description": "The name of the server group. The name must be 2 to 128 characters in length, and\ncan contain letters, digits, periods (.), underscores (_), and hyphens (-). The name\nmust start with a letter.",
"Default": "MyTestServerGroup"
}
},
"Resources": {
"ServerGroup": {
"Type": "ALIYUN::ALB::ServerGroup",
"Properties": {
"VpcId": {
"Ref": "VpcId"
},
"StickySessionConfig": {
"Ref": "StickySessionConfig"
},
"HealthCheckConfig": {
"Ref": "HealthCheckConfig"
},
"ServerGroupName": {
"Ref": "ServerGroupName"
}
}
}
},
"Outputs": {
"ServerGroupId": {
"Description": "The ID of the server group.",
"Value": {
"Fn::GetAtt": [
"ServerGroup",
"ServerGroupId"
]
}
}
}
}