All Products
Search
Document Center

Auto Scaling:AttachAlbServerGroups

Last Updated:Jun 03, 2024

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

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

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: cn-hangzhou and cn-shanghai. For more information about regions and zones, see Regions and zones.

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:

  • true: adds the existing ECS instances or elastic container instances in the scaling group to the ALB server group. In this case, the system returns the value of ScalingActivityId.

  • false: does not add the existing ECS instances or elastic container instances in the scaling group to the ALB server group.

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 ForceAttach to true.

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.