ALIYUN::ALB::Rule类型用于创建转发规则。
语法
{
"Type": "ALIYUN::ALB::Rule",
"Properties": {
"RuleActions": List,
"Priority": Integer,
"RuleConditions": List,
"Direction": String,
"RuleName": String,
"ListenerId": String
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
RuleActions | List | 是 | 是 | 转发规则的动作列表。 | 更多信息,请参见RuleActions属性。 |
Priority | Integer | 是 | 是 | 转发规则的优先级。 | 取值范围:1~10,000。取值越小,优先级越高。 说明 同一个监听内转发规则的优先级必须唯一。 |
RuleConditions | List | 是 | 是 | 转发规则的条件列表。 | 更多信息,请参见RuleConditions属性。 |
Direction | String | 否 | 否 | 转发规则的方向。 | 取值:
|
RuleName | String | 是 | 是 | 转发规则的名称。 | 长度为2~128个字符。必须以英文字母或汉字开头,可包含英文字母、汉字、数字、半角句号(.)、下划线(_)和短划线(-)。 |
ListenerId | String | 是 | 否 | 负载均衡实例监听ID。 | 无 |
RuleActions语法
"RuleActions": [
{
"Order": Integer,
"FixedResponseConfig": Map,
"Type": String,
"RedirectConfig": Map,
"ForwardGroupConfig": Map,
"InsertHeaderConfig": Map,
"RewriteConfig": Map,
"TrafficMirrorConfig": Map,
"TrafficLimitConfig": Map,
"RemoveHeaderConfig": Map
}
]
RuleActions属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Order | Integer | 是 | 是 | 转发规则动作执行的顺序。 | 取值范围:1~50,000,按取值从小到大执行动作。 说明 取值不能重复。 |
FixedResponseConfig | Map | 否 | 是 | 固定响应内容配置。 | 更多信息,请参见FixedResponseConfig属性。 |
Type | String | 是 | 是 | 动作类型。 | 取值:
|
RedirectConfig | Map | 否 | 是 | 重定向配置。 | 更多信息,请参见RedirectConfig属性。 |
ForwardGroupConfig | Map | 否 | 是 | 转发组配置。 | 更多信息,请参见ForwardGroupConfig属性。 |
InsertHeaderConfig | Map | 否 | 是 | 写入头字段配置。 | 更多信息,请参见InsertHeaderConfig属性。 |
RewriteConfig | Map | 否 | 是 | 重写配置。 | 更多信息,请参见RewriteConfig属性。 |
TrafficMirrorConfig | Map | 否 | 是 | 流量镜像配置。 | 更多信息,请参见TrafficMirrorConfig属性。 |
TrafficLimitConfig | Map | 否 | 是 | 流量限速配置。 | 更多信息,请参见TrafficLimitConfig属性。 |
RemoveHeaderConfig | Map | 否 | 是 | 删除头字段配置。 | 更多信息,请参见RemoveHeaderConfig属性。 |
FixedResponseConfig语法
"FixedResponseConfig": {
"HttpCode": String,
"ContentType": String,
"Content": String
}
FixedResponseConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
HttpCode | String | 否 | 是 | 返回的HTTP响应码。 | 仅支持HTTP_2xx、HTTP_4xx、HTTP_5xx数字型字符串,x为任意数字。 |
ContentType | String | 否 | 是 | 返回固定内容的格式。 | 取值:
|
Content | String | 否 | 是 | 返回的固定内容。 | 最大支持存储1 KB,只支持ASCII字符。 |
RedirectConfig语法
"RedirectConfig": {
"Path": String,
"HttpCode": Integer,
"Query": String,
"Port": String,
"Host": String,
"Protocol": String
}
RedirectConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Path | String | 否 | 是 | 要跳转的路径。 | 取值:
|
HttpCode | Integer | 否 | 是 | 跳转方式。 | 取值:
|
Query | String | 否 | 是 | 要跳转的查询字符串。 | 取值:
|
Port | String | 否 | 是 | 要跳转的端口。 | 取值:
|
Host | String | 否 | 是 | 要跳转的主机地址。 | 取值:
|
Protocol | String | 否 | 是 | 要跳转的协议。 | 取值:
|
ForwardGroupConfig语法
"ForwardGroupConfig": {
"ServerGroupTuples": List,
"ServerGroupStickySession": Map
}
ForwardGroupConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ServerGroupTuples | List | 否 | 是 | 转发到的目标服务器组列表。 | 更多信息, 请参见ServerGroupTuples属性。 |
ServerGroupStickySession | Map | 否 | 是 | 会话保持配置 。 | 更多信息,请参见ServerGroupStickySession属性。 |
ServerGroupStickySession语法
"ServerGroupStickySession": {
"Enabled": Boolean,
"Timeout": Integer
}
ServerGroupStickySession属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Enabled | Boolean | 否 | 是 | 是否开启会话保持。 | 取值:
|
Timeout | Integer | 否 | 是 | 超时时间。 | 单位:秒。取值范围:1~86400。 |
ServerGroupTuples语法
"ServerGroupTuples": [
{
"ServerGroupId": String
}
]
ServerGroupTuples属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ServerGroupId | String | 是 | 是 | 转发到的目的服务器组ID。 | 无 |
InsertHeaderConfig语法
"InsertHeaderConfig": {
"ValueType": String,
"Value": String,
"Key": String
}
InsertHeaderConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ValueType | String | 否 | 是 | 头字段内容类型。 | 取值:
|
Value | String | 否 | 是 | 插入的头字段内容。 | 取值:
|
Key | String | 否 | 是 | 插入的头字段名称。 | 长度为1~40个字符,支持英文字母、数字、下划线(_)和短划线(-)。InsertHeaderConfig中的头字段名称不能重复。 说明 不允许将头字段名称设置为以下字段(不区分大小写):slb-id、slb-ip、x-forwarded-for、x-forwarded-proto、x-forwarded-eip、x-forwarded-port、x-forwarded-client-srcport、connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie、remoteip、authority。 |
RewriteConfig语法
"RewriteConfig": {
"Path": String,
"Query": String,
"Host": String
}
RewriteConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Path | String | 否 | 是 | 要跳转的路径。 | 取值:
|
Query | String | 否 | 是 | 内部跳转的查询字符串。 | 取值:
|
Host | String | 否 | 是 | 内部跳转的目的主机地址。 | 取值:
|
RuleConditions语法
"RuleConditions": [
{
"MethodConfig": Map,
"PathConfig": Map,
"Type": String,
"QueryStringConfig": Map,
"HostConfig": Map,
"CookieConfig": Map,
"HeaderConfig": Map,
"SourceIpConfig": Map
}
]
RuleConditions属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
MethodConfig | Map | 否 | 是 | 请求方式配置。 | 更多信息,请参见MethodConfig属性。 |
PathConfig | Map | 否 | 是 | 转发路径配置。 | 更多信息,请参见PathConfig属性。 |
Type | String | 是 | 是 | 转发规则类型。 | 取值:
|
QueryStringConfig | Map | 否 | 是 | 查询字符串配置。 | 更多信息,请参见QueryStringConfig属性。 |
HostConfig | Map | 否 | 是 | 主机配置。 | 更多信息,请参见HostConfig属性。 |
CookieConfig | Map | 否 | 是 | Cookie配置。 | 更多信息,请参见CookieConfig属性。 |
HeaderConfig | Map | 否 | 是 | 头字段配置。 | 更多信息,请参见HeaderConfig属性。 |
SourceIpConfig | Map | 否 | 是 | 转发规则配置。 | 更多信息,请参见SourceIpConfig属性。 |
SourceIpConfig语法
"SourceIpConfig": {
"Values": List
}
SourceIpConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Values | List | 否 | 是 | 添加一个或多个IP地址或IP地址段。 | 一条转发规则中最多支持添加5条IP地址。 |
MethodConfig语法
"MethodConfig": {
"Values": List
}
MethodConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Values | List | 否 | 是 | 请求方式。 | 取值:
|
PathConfig语法
"PathConfig": {
"Values": List
}
PathConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Values | List | 否 | 是 | 转发路径。 | 长度为1~128个字符。必须以正斜线(/)开头,可包含英文字母、数字、星号(*)、半角问号(?)和特殊字符 |
QueryStringConfig语法
"QueryStringConfig": {
"Values": List
}
QueryStringConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Values | List | 否 | 是 | 查询字符串。 | 无 |
HostConfig语法
"HostConfig": {
"Values": List
}
HostConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Values | List | 否 | 是 | 主机名称。 | 取值要求如下:
|
CookieConfig语法
"CookieConfig": {
"Values": List
}
CookieConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Values | List | 否 | 是 | Cookie值列表。 | 无 |
HeaderConfig语法
"HeaderConfig": {
"Values": List,
"Key": String
}
HeaderConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Values | List | 否 | 是 | 头字段值。 | 同一个转发规则条件内头字段值不能重复。长度为1~128个字符,支持ASCII码值 |
Key | String | 否 | 是 | 头字段键。 | 长度为1~40个字符。可包含小写英文字母、数字、短划线(-)和下划线(_)。不支持Cookie和Host。 |
TrafficMirrorConfig语法
"TrafficMirrorConfig": {
"MirrorGroupConfig": Map,
"TargetType": String
}
TrafficMirrorConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
MirrorGroupConfig | Map | 是 | 是 | 服务器组配置。 | 更多信息,请参见MirrorGroupConfig属性。 |
TargetType | String | 是 | 是 | 镜像的目标类型。 | 取值:
|
MirrorGroupConfig语法
"MirrorGroupConfig": {
"ServerGroupTuples": List
}
MirrorGroupConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ServerGroupTuples | List | 是 | 是 | 服务器组列表。 | 无 |
TrafficLimitConfig语法
"TrafficLimitConfig": {
"PerIpQps": Integer,
"QPS": Integer
}
TrafficLimitConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
PerIpQps | Integer | 否 | 是 | 每秒请求次数。 | 取值范围:1 ~ 100000。 |
QPS | Integer | 是 | 是 | 单IP每秒请求次数。 | 取值范围:1 ~ 100000。 说明 如果您需要同时配置QPS参数,PerIpQps参数的取值必须小于QPS参数的取值。 |
RemoveHeaderConfig语法
"RemoveHeaderConfig": {
"Key": String
}
RemoveHeaderConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 否 | 是 | 头字段键。 | 无 |
返回值
Fn::GetAtt
RuleId:转发规则ID。
示例
- 本页导读 (1)