目标组接口
1. 创建目标组
POST https://open.cn-east-1.163yun.com/nlb?Action=CreateTargetGroup&Version=2017-12-05
示例
请求:
POST /nlb?Action=CreateTargetGroup&Version=2017-12-05
HEADER:
Content-type: application/json
X-Product-Id: ${tenantId}
BODY:
{
"Name": "g4",
"InstanceId": "679fa686-eb2a-402d-9fc1-23c90c6bf637",
"Instances":[
{
"Id":"5ff9f89e-62d2-4c14-b99d-91587995a02a",
"Name":"xx1",
"Address":"1.1.1.1",
"Port":8080,
"TopAz": "dongguan1.pubvpc1"
}
],
"Monitor": {
"Protocol": "tcp",
"Rise": 2,
"Fall": 3,
"Period": 5000,
"Timeout": 2000
}
}
响应:
{
"InstanceId": "c679fa686-eb2a-402d-9fc1-23c90c6bf637",
"Name": "g4",
"Instances":[
{
"Id":"11111111111111111xxxxxxxxxx",
"Name":"xx1",
"Address":"1.1.1.1",
"Port":8080,
}
],
"Monitor": {
"Protocol": "tcp",
"Rise": 2,
"Fall": 3,
"Period": 5000,
"Timeout": 2000,
"Url": "/"
},
"UseSamePort": 1,
"TargetGroupId": "eb13e1ac-7566-44da-82ea-1acb264234f9"
}
参数说明
参数 | 参数描述 | 是否必选 | 类型 | 范围 | 参数说明 |
InstanceId | 实例ID | 是 | uuidV4 | - | - |
Name | 目标组名字 | 是 | string | 长度不大于32 | 只能由大小写字母和数字组成 |
Instances->Id | 云主机uuid | 是 | uuidV4 | - | - |
Instances->Name | 云主机名字 | 是 | string | 由数字字母以及"-"和"_"组成 | 长度超过64会被截断 |
Instances->Address | 云主机Ip | 是 | string | - | - |
Instances->Port | 云主机端口 | 是 | number | 1-65535 | - |
Instances->Weight | 云主机权重 | 否 | number | 1-100 | - |
Instances->TopAz | 云主机可用区 | 是 | string | - | 空字串 |
Instances->BackUp | 备用主机 | 否 | number | 0/1 | 1处于备份状态,只有其余非备份的机器都处于异常状态才会转发流量;0处于正常状态(默认值) |
Monitor | 健康检查规则 | 否 | string | - | - |
Monitor->period | 周期 | 否 | number | 5000-300000 | 单位毫秒,默认值5000 |
Monitor->timeout | 超时时间 | 否 | number | 2000-60000 | 单位毫秒,默认值2000 |
Monitor->rise | 正常状态所需次数 | 否 | number | 2-10 | 默认值2 |
Monitor->fall | 异常状态所需次数 | 否 | number | 2-10 | 默认值3 |
Monitor->protocol | 协议 | 否 | string | http/tcp | 目前仅支持两种 |
Monitor->url | 健康检查路径 | 否 | string | 以/开头,数字和字母结尾,默认为/ | 最长为127 |
Monitor->port | 健康检查端口 | 否 | number | 1-65535 | - |
Monitor->rstatus | 状态码 | 否 | string | 限制为’2xx’, ‘3xx’, ‘4xx’, 以“,”分隔 | - |
UseSamePort | 集群所有后端使用相同端口标志 | 否 | number | 1/0 | 0 |
结果说明
参数 | 参数描述 | 类型 | 范围 | 参数说明 |
InstanceId | 实例ID | uuidV4 | - | - |
Name | 目标组名字 | string | 长度不大于32 | 只能由大小写字母和数字组成 |
TargetGroupId | 目标组Id | uuidV4 | - | - |
Instances->Id | 云主机uuid | uuidV4 | - | - |
Instances->Name | 云主机名字 | string | 由数字字母以及"-"和"_"组成 | 长度超过64会被截断 |
Instances->Address | 云主机Ip | string | - | - |
Instances->Port | 云主机端口 | number | 1-65535 | - |
Instances->Weight | 云主机权重 | number | 1-100 | - |
Instances->TopAz | 云主机可用区 | string | - | - |
Instances->BackUp | 备用主机 | number | 0/1 | 1处于备份状态,只有其余非备份的机器都处于异常状态才会转发流量;0处于正常状态(默认值) |
Monitor | 健康检查 | json | - | |
Monitor->Protocol | 检查协议 | string | http/tcp | 目前仅支持http和tcp,其它协议后期开放 |
Monitor->Fall | 失败阈值 | number | 2-10 | 默认值为:3 |
Monitor->Rise | 健康阈值 | number | 2-10 | 默认值为: 2 |
Monitor->Url | 健康检查url | string | string | 以/开头,数字和字母结尾,最长127个字符,默认为/,仅仅在http检查协议时使用 |
Monitor->Period | 健康检查间隔 | number | 5000-300000 | 默认5000, 单位毫秒 |
Monitor->Rstatus | 健康检查期望返回码 | string | 限制为'2xx', '3xx', '4xx', 以“,”分隔,仅仅在http时有效, 没有配置时,返回2xx和3xx代表健康 | |
Monitor->Timeout | 超时时间 | number | 2000-60000 | 默认2000,单位毫秒 |
UseSamePort | 集群所有后端使用相同端口标志 | number | 1/0 | 1表示所有服务器是否使用相同端口 |
返回码
- 200 创建成功
- 400 参数错误
- 403 权限错误
- 500 内部错误
2. 修改目标组
POST https://open.cn-east-1.163yun.com/nlb?Action=UpdateTargetGroup&Version=2017-12-05
示例
请求:
POST https://open.cn-east-1.163yun.com/nlb?Action=UpdateTargetGroup&Version=2017-12-05
HEADER:
Content-type: application/json
BODY:
{
"InstanceId": "1049cd9a-3122-4ec1-b484-dd9f6d80e46b",
"Instances": [
{
"Id": "7ba2a391-5acb-4602-832c-14c808f1cde4",
"Name": "newvpc-5",
"Address": "10.177.1.7",
"Port": 8080,
"TopAz": "dongguan1.pubvpc1"
}
],
"Monitor": {
"Protocol": "tcp",
"Rise": 2,
"Fall": 3,
"Period": 5000,
"Timeout": 2000
},
"UseSamePort": 0,
"TargetGroupId": "eb13e1ac-7566-44da-82ea-1acb264234f9"
}
响应:
无
参数说明
参数 | 参数描述 | 是否必选 | 类型 | 范围 | 参数说明 |
InstanceId | 实例ID | 是 | uuidV4 | - | - |
TargetGroupId | 目标组Id | 是 | uuidV4 | - | - |
Instances->Id | 云主机uuid | 是 | uuidV4 | - | - |
Instances->Name | 云主机名字 | 是 | string | 长度超过64会被截断 | 由数字字母以及"-"和"_"组成 |
Instances->Address | 云主机Ip | 是 | string | - | - |
Instances->Port | 云主机端口 | 是 | number | 1-65535 | 0 |
Instances->Weight | 云主机权重 | 否 | number | 1-100 | 100 |
Instances->TopAz | 云主机可用区 | 是 | string | - | - |
Monitor | 健康检查规则 | 否 | string | - | - |
Monitor->period | 周期 | 否 | number | 5000-300000 | 单位毫秒,默认值5000 |
Monitor->timeout | 超时时间 | 否 | number | 2000-60000 | 单位毫秒,默认值2000 |
Monitor->rise | 正常状态所需次数 | 否 | number | 2-10 | 默认值2 |
Monitor->fall | 异常状态所需次数 | 否 | number | 2-10 | 默认值3 |
Monitor->protocol | 协议 | 否 | string | http/tcp | 目前仅支持两种 |
Monitor->url | 健康检查路径 | 否 | string | 以/开头,数字和字母结尾,默认为/ | 最长为127 |
Monitor->port | 健康检查端口 | 否 | number | 1-65535 | - |
Monitor->rstatus | 状态码 | 否 | string | 限制为’2xx’, ‘3xx’, ‘4xx’, 以“,”分隔 | - |
UseSamePort | 集群全部机器使用相同端口 | 否 | number | 1/0 | 0 |
结果说明
返回码
- 200 修改成功
- 400 参数错误
- 404 目标不存在
- 403 权限错误
- 500 内部错误
3. 删除目标组
GET https://open.cn-east-1.163yun.com/nlb?Action=DeleteTargetGroup&InstanceId=&Id=&Version=2017-12-05
示例
请求:
GET https://open.cn-east-1.163yun.com/nlb?Action=DeleteTargetGroup&InstanceId=&TargetGroupId=&Version=2017-12-05
HEADER:
Content-type: application/json
响应:
无
参数说明
参数 | 参数描述 | 是否必选 | 类型 | 范围 | 默认值 |
InstanceId | 实例ID | 是 | string | - | - |
TargetGroupId | 目标组Id | 是 | string | - | - |
结果说明
返回码
- 204 修改成功
- 404 资源不存在
- 403 权限错误
- 500 内部错误
4. 批量注册目标组实例
POST /nlb?Action=RegisterTGInstance=&Version=2017-12-05
示例
请求:
POST /nlb?Action=RegisterTGInstance&Version=2017-12-05
HEADER:
Content-type: application/json
X-Product-Id: ${tenantId}
BODY:
{
"InstanceId": "966da082-9790-405b-a016-3d71209cb012",
"Instances":[
{
"Id":"b013b75a-5a28-4d2a-aeda-d09e1f3217c0",
"Name":"nlb-example-for-debug",
"weight":40,
"Port":80,
"Address": "60.191.87.7",
"TopAz": "cn-east-1b"
},
{
"Id":"68a6cf48-8c91-479e-9da5-fac59d3726fc",
"Name":"demon-test-elb",
"weight":60,
"Port":80,
"Address": "115.238.125.92",
"TopAz": "cn-east-1a"
}
],
"TargetGroupId": "c9c1bc08-dd82-4f68-be0b-84ef01a039c4"
}
响应:
无
参数说明
参数 | 参数描述 | 是否必选 | 类型 | 说明 |
X-Product-Id | 租户ID | 是 | string定长32 | 租户ID |
参数 | 参数描述 | 是否必选 | 类型 | 范围 | 默认值 |
InstanceId | 实例ID | 是 | string | - | - |
TargetGroupId | 目标组Id | 是 | string | - | - |
Instances | 用户云主机 | 是 | array of json | - | - |
instances[]->Id | 云主机uuid | 是 | uuidV4 | - | - |
instances[]->Name | 云主机名字 | 是 | string | 长度超过64会被截断 | 由数字字母以及"-"和"_"组成 |
instances[]->Address | 云主机Ip | 是 | string | - | - |
instances[]->Port | 云主机端口 | 是 | number | 1-65535 | 0 |
instances[]->Weight | 云主机权重 | 否 | number | 1-100 | 100 |
instances[]->TopAz | 云主机可用区 | 否 | string | - | - |
结果说明
返回码
- 200 修改成功
- 400 参数错误
- 500 内部错误
5. 批量注销目标组实例
POST /nlb?Action=DeregisterTGInstance&Version=2017-12-05
示例
请求:
POST /nlb?Action=DeregisterTGInstance&Version=2017-12-05
HEADER:
Content-type: application/json
X-Product-Id: ${tenantId}
BODY:
{
"InstanceId": "966da082-9790-405b-a016-3d71209cb012",
"Instances":[
{
"Address":"115.238.125.92",
"Port":80
},
{
"Address":"60.191.87.7",
"Port":80
}
],
"TargetGroupId": "c9c1bc08-dd82-4f68-be0b-84ef01a039c4"
}
响应:
无
参数说明
参数 | 参数描述 | 是否必选 | 类型 | 说明 |
X-Product-Id | 租户ID | 是 | string定长32 | 租户ID |
参数 | 参数描述 | 是否必选 | 类型 | 范围 | 默认值 |
InstanceId | 实例ID | 是 | string | - | - |
TargetGroupId | 目标组Id | 是 | string | - | - |
Instances | 用户云主机 | 是 | array of json | - | - |
instances[]->Address | 云主机Ip | 是 | string | - | - |
instances[]->Port | 云主机端口 | 否 | number | 1-65535 | 0 |
结果说明
返回码
- 200 修改成功
- 400 参数错误
- 500 内部错误
6. 更新目标组属性
POST /nlb?Action=UpdateTGInstance&Version=2017-12-05
示例
请求:
POST /nlb?Action=UpdateTGInstance&Version=2017-12-05
HEADER:
Content-type: application/json
X-Product-Id: ${tenantId}
BODY:
{
"InstanceId": "966da082-9790-405b-a016-3d71209cb012",
"Instances":[
{
"Address":"115.238.125.92",
"Port":80,
"Weight":90
},
{
"Address":"60.191.87.7",
"Port":80,
"Weight":100
}
],
"TargetGroupId": "c9c1bc08-dd82-4f68-be0b-84ef01a039c4"
}
响应:
无
参数说明
参数 | 参数描述 | 是否必选 | 类型 | 说明 |
X-Product-Id | 租户ID | 是 | string定长32 | 租户ID |
参数 | 参数描述 | 是否必选 | 类型 | 范围 | 默认值 |
InstanceId | 实例ID | 是 | string | - | - |
TargetGroupId | 目标组Id | 是 | string | - | - |
Instances | 用户云主机 | 是 | array of json | - | - |
instances[]->Address | 云主机Ip | 是 | string | - | - |
instances[]->Port | 云主机端口 | 是 | number | 1-65535 | - |
instances[]->Weight | 云主机权重 | 是 | number | 1-100 | - |
结果说明
返回码
- 200 修改成功
- 400 参数错误
- 500 内部错误