Attaches Application Load Balancer (ALB) server groups to a scaling group. To seamlessly adjust the number of instances in response to changes in your business workload or to maintain the uninterrupted accessibility of your application, you can call the AttachAlbServerGroups operation. By attaching ALB server groups to your scaling group, this operation enables Auto Scaling to automatically tailor your computing capacity to your business needs. Furthermore, it optimizes traffic routing by dynamically allocating incoming requests based on current workload patterns, which significantly improves the stability and performance of your application.
Usage notes
Before you call the operation to attach an ALB server group to your scaling group, make sure that the following requirements are met:
The scaling group and the ALB server group share the same virtual private cloud (VPC).
The ALB server group is in the Available state.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
Action | String | Yes | AttachAlbServerGroups | The operation that you want to perform. Set the value to AttachAlbServerGroups. |
RegionId | String | Yes | cn-hangzhou | The region ID of the scaling group. Examples: |
ScalingGroupId | String | Yes | asg-bp18p2yfxow2dloq**** | The ID of the scaling group. |
ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see Ensure idempotence. |
ForceAttach | Boolean | No | false | Specifies whether to add the existing Elastic Compute Service (ECS) instances or elastic container instances in the scaling group to the ALB server group. Valid values:
Default value: false. |
AlbServerGroup.N.AlbServerGroupId | String | Yes | sgp-ddwb0y0g6y9bjm**** | The ID of ALB server group N. N specifies the serial number of the ALB server group. You can attach only a limited number of ALB server groups to a scaling group. To view the predefined quota limit or manually request a quota increase, go to Quota Center. |
AlbServerGroup.N.Weight | Integer | Yes | 100 | The weight of an ECS instance or elastic container instance after being added as a backend server to ALB server group N. N specifies the serial number of the ALB server group. If you assign a higher weight to an instance, the instance is allocated a larger proportion of access requests. If you assign zero weight to an instance, the instance is allocated no access requests. Valid values: 0 to 100. |
AlbServerGroup.N.Port | Integer | Yes | 22 | The port used by ECS instances or elastic container instances after being added as backend servers to ALB server group N. Valid values: 1 to 65535. Note N specifies the serial number of the ALB server group. If ECS instances or elastic container instances are added to ALB server group N over different ports, the system considers that multiple ports of ALB server group N are associated with the scaling group. |
Response parameters
Parameter | Type | Example | Description |
ScalingActivityId | String | asa-2ze6wxj8vsohn6j9**** | The ID of the scaling activity. During the scaling activity, ALB server group N is attached to the scaling group and the existing ECS instances or elastic container instances in the scaling group are added to ALB server group N. Note This parameter is returned only if you set |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | The request ID. |
Examples
Sample requests
http(s)://ess.aliyuncs.com/?Action=AttachAlbServerGroups
&RegionId=cn-hangzhou
&ScalingGroupId=asg-bp18p2yfxow2dloq****
&ClientToken=123e4567-e89b-12d3-a456-42665544****
&ForceAttach=false
&AlbServerGroup=[{"AlbServerGroupId":"sgp-ddwb0y0g6y9bjm****","Weight":100,"Port":22}]
&<Common request parameters>
Sample success responses
XML
format
HTTP/1.1 200 OK
Content-Type:application/xml
<AttachAlbServerGroupsResponse>
<ScalingActivityId>asa-2ze6wxj8vsohn6j9****</ScalingActivityId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</AttachAlbServerGroupsResponse>
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"ScalingActivityId" : "asa-2ze6wxj8vsohn6j9****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Error codes
For a list of error codes, see Service error codes.
HTTP status code | Error code | Error message | Description |
400 | AlbServerGroup.NotExist | The ServerGroup "%s" do(es) not exist. | The ALB server group does not exist within the Alibaba Cloud account. |
400 | AlbServerGroup.AlreadyAttached | The ALB ServerGroups are already attached. | The ALB server group is already attached to the scaling group. |