伸缩组关联负载均衡实例(CLB)后,加入伸缩组的实例会自动添加为CLB实例的后端服务器,处理来自CLB实例转发的访问请求。当需要将不同的请求转发到不同的后端服务器上时,或需要通过域名和URL进行请求转发时,您可以调用API AttachVServerGroups来添加负载均衡实例下的一个或者多个虚拟服务器组,通过虚拟服务器组管理不同的后端服务器。
接口说明
- 向伸缩组添加虚拟服务器组时需要满足以下条件:
- 负载均衡实例与伸缩组必须属于同一账号。
- 负载均衡实例与伸缩组必须处于同一地域。
- 负载均衡实例必须处于运行中状态。
- 负载均衡实例至少配置有一个监听且必须开启健康检查。
- 如果负载均衡实例与伸缩组的网络类型均为VPC,必须处于同一VPC。
- 当伸缩组的网络类型为VPC,负载均衡实例的网络类型为经典网络时,如果虚拟服务器组包含VPC实例,该实例必须与伸缩组处于同一VPC。
- 待添加虚拟服务器组必须属于对应的负载均衡实例。
- 不超过伸缩组内虚拟服务器组的限额,具体限额,请参见使用限制。
- 添加伸缩组内虚拟服务器组时,需要同时指定以下属性:
- 负载均衡实例ID(LoadBalancerId)
- 虚拟服务器组ID(VServerGroupId)
-
虚拟服务器组端口号(Port)
说明 如果通过不同的端口号将同一虚拟服务器组添加至伸缩组,视为伸缩组内添加了多个虚拟服务器组。如果请求参数中的虚拟服务器组ID和端口号同时重复,默认使用最先配置的一组,忽略其余虚拟服务器组。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | AttachVServerGroups | 系统规定参数。取值:AttachVServerGroups。 |
RegionId | String | 是 | cn-hangzhou | 伸缩组所属地域的ID,如cn-hangzhou、cn-shanghai,更多信息,请参见地域和可用区。 |
ScalingGroupId | String | 是 | asg-bp18p2yfxow2dloq**** | 伸缩组的ID。 |
ClientToken | String | 否 | 123e4567-e89b-12d3-a456-42665544**** | 保证请求幂等性。 从您的客户端生成一个参数值,确保不同请求间该参数值唯一。只支持ASCII字符,且不能超过64个字符。更多信息,请参见如何保证幂等性。 |
ForceAttach | Boolean | 否 | false | 是否将当前伸缩组内的ECS实例或ECI实例添加到新增的虚拟服务器组。
默认值:false。 |
VServerGroup.N.VServerGroupAttribute.N.VServerGroupId | String | 否 | rsp-bp1jp1rge**** | 虚拟服务器组的ID。其中:
|
VServerGroup.N.VServerGroupAttribute.N.Weight | Integer | 否 | 100 | 弹性伸缩将ECS实例或ECI实例添加到虚拟服务器组时设置的权重,取值范围:0~100。其中:
默认值:50。 |
VServerGroup.N.VServerGroupAttribute.N.Port | Integer | 否 | 22 | 弹性伸缩将ECS实例或ECI实例添加到虚拟服务器组时使用的端口号,取值范围:1~65535。其中:
|
VServerGroup.N.LoadBalancerId | String | 否 | lb-bp1u7etiogg38yvwz**** | 虚拟服务器组所属负载均衡实例的ID。N为负载均衡实例编号,取值范围:1~5。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | 请求ID。 |
示例
请求示例
http(s)://ess.aliyuncs.com/?Action=AttachVServerGroups
&RegionId=cn-hangzhou
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&ForceAttach=false
&VServerGroup=[{"VServerGroupAttribute":[{"VServerGroupId":"rsp-bp1jp1rge****","Weight":100,"Port":22}],"LoadBalancerId":"lb-bp1u7etiogg38yvwz****"}]
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<AttachVServerGroupsResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</AttachVServerGroupsResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
错误码
访问错误中心查看更多错误码。
HttpCode |
错误码 |
错误信息 |
描述 |
403 |
Forbidden.Unauthorized |
A required authorization for the specified action is not supplied. |
您未授予弹性伸缩完整的OpenAPI调用权限。 |
404 |
InvalidScalingGroupId.NotFound |
The specified scaling group does not exist. |
账号下不存在指定的伸缩组。 |
404 |
InvalidLoadBalancerId.NotFound |
The load balancer "%s" does not exist. |
账号下不存在指定的负载均衡实例。 |
400 |
InvalidLoadBalancerId.RegionMismatch |
The load balancer "%s" and the specified scaling group are not in the same Region. |
负载均衡实例与伸缩组不在同一地域。 |
400 |
IncorrectLoadBalancerStatus |
The current status of the load balancer "%s" does not support this action. |
当前负载均衡实例状态不支持此操作。 |
400 |
IncorrectLoadBalancerHealthCheck |
The current health check type of the load balancer "%s" does not support this action. |
当前负载均衡实例未开启健康检查。 |
400 |
InvalidLoadBalancerId.VPCMismatch |
The specified virtual switch and the instance in the load balancer "%s" are not in the same VPC. |
负载均衡实例与伸缩组不在同一VPC下。 |
400 |
InvalidVServerGroupId.ForLoadBalancer |
Invalid VServerGroupId For LoadBalancer "%s". |
VServerGroupId对应的虚拟服务器组不属于指定的负载均衡实例。 |
400 |
QuotaExceeded.VServerGroup |
VServerGroup quota exceeded in the specified scaling group. |
当前伸缩组内可配置的虚拟服务器组个数达到上限。 |