All Products
Search
Document Center

Server Load Balancer:ReplaceServersInServerGroup

Last Updated:Aug 06, 2025

Replaces the backend servers in a server group.

Operation description

The ReplaceServersInServerGroup operation is asynchronous. After you call this operation, the system returns a request ID, but the backend servers are not yet replaced. The replacement task continues running in the background.

  1. You can call ListServerGroups to query the status of the server group:

    • If the server group is in the Configuring state, it indicates that the server group is being modified.

    • If the server group is in the Available state, it indicates that the server group is running.

  2. You can call ListServerGroupServers to query the status of the backend servers:

    • If a backend server is in the Replacing state, it indicates that the server group is removing servers and adding new servers.

    • If a backend server is in the Available state, it indicates that the server is running.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that support authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

alb:ReplaceServersInServerGroup

update

*ServerGroup

acs:alb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}

NetworkInterface

acs:alb:{#regionId}:{#accountId}:eni/{#NetworkInterfaceId}

Instance

acs:alb:{#regionId}:{#accountId}:ecs/{#InstanceId}

ContainerGroup

acs:alb:{#regionId}:{#accountId}:eci/{#ContainerGroupId}

None

None

Request parameters

Parameter

Type

Required

Description

Example

ServerGroupId

string

Yes

The ID of the server group.

Note

You cannot perform this operation on a server group of the Fc type.

sgp-5114d593o96qxy****

AddedServers

array<object>

Yes

The backend servers that you want to add. You can specify at most 200 servers in each call.

object

No

The configurations of the backend server.

Description

string

No

The description of the backend server. The description must be 2 to 256 characters in length, and cannot start with http:// or https://.

test

Port

integer

Yes

The port used by the server group. Valid values: 1 to 65535. You can specify at most 200 servers in each call.

80

ServerId

string

Yes

The backend server ID. You can specify at most 200 servers in each call.

  • If the server group is of the Instance type, this parameter specifies the ID of an Ecs, Eni, or Eci resource.

  • If the server group is of the Ip type, this parameter specifies an IP address.

Note

You cannot perform this operation on a server group of the Fc type. You can call the ListServerGroups operation to query the type of a server group.

i-bp1f9kdprbgy9uiu****

ServerIp

string

No

The IP address of the backend server.

If ServerType is set to Eni, you can specify the primary or secondary private IP address of the Elastic Network Interface (ENI).

192.168.1.1

ServerType

string

Yes

The type of the backend server that you want to add to the server group. You can specify at most 200 servers in each call. Valid values:

  • Ecs: ECS instance.

  • Eni: ENI elastic network interfaces (ENIs).

  • Eci: ECI elastic container.

  • Ip: IP address.

  • Fc: Function Compute.

Ecs

Weight

integer

No

The weight of the backend server. You can specify at most 200 servers in each call.

Valid values: 0 to 100. Default value: 100. If the weight is set to 0, no requests are forwarded to the backend server.

100

RemovedServers

array<object>

Yes

The backend servers that you want to remove.

object

No

The configurations of the backend servers that you want to remove.

ServerId

string

Yes

The backend server ID. You can specify at most 200 servers in each call.

  • If the server group is of the Instance type, this parameter specifies the ID of an Ecs, Eni, or Eci resource.

  • If the server group is of the Ip type, this parameter specifies an IP address.

Note

You cannot perform this operation on a server group of the Fc type. You can call the ListServerGroups operation to query the type of a server group.

i-bp1f9kdprbgy9uiu****

ServerIp

string

No

The IP address of the backend server.

If ServerType is set to Eni, you can specify the primary or secondary private IP address of the Elastic Network Interface (ENI).

192.168.1.12

ServerType

string

Yes

The type of backend server. You can specify at most 200 servers in each call. Valid values:

  • Ecs: ECS instance.

  • Eni: ENI elastic network interfaces (ENIs).

  • Eci: ECI elastic container.

  • Ip: IP address.

ecs

Port

integer

Yes

The port of the backend server. Valid values: 1 to 65535. You can specify at most 200 servers in each call.

81

ClientToken

string

No

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.

Note

If you do not specify this parameter, the system automatically uses the RequestId as the ClientToken. The RequestId is different for each API request.

593B0448-D13E-4C56-AC0D-FDF0FDE0E9A3

DryRun

boolean

No

Specifies whether to perform only a dry run, without performing the actual request. Valid values:

  • true: performs a dry run. The system checks the required parameters, request syntax, and limits. If the request fails the validation, the corresponding error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.

  • false (default): performs a normal request. After the request passes the check, an HTTP 2xx status code is returned and the operation is performed.

true

Response parameters

Parameter

Type

Description

Example

object

The returned data.

JobId

string

The ID of the asynchronous task.

72dcd26b-f12d-4c27-b3af-18f6aed5****

RequestId

string

The request ID.

365F4154-92F6-4AE4-92F8-7FF34B540710

Examples

Success response

JSON format

{
  "JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
  "RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540710"
}

Error codes

HTTP status code

Error code

Error message

Description

400

ResourceQuotaExceeded.ServerAddedNum

The quota of %s is exceeded for resource %s, usage %s/%s.

400

IncorrectStatus.ServerGroup

The status of %s [%s] is incorrect.

The status of %s [%s] is incorrect.

400

Conflict.BackendServer

There is already %s having the same configuration with %s.

400

DuplicatedParam.BackendServer

The param of %s is duplicated.

The param of %s is duplicated.

400

OperationDenied.EciNotSupportJobType

The operation is not allowed because of eci not support job type.

The operation is not allowed because of eci not support job type.

400

Mismatch.ServerType

The %s is mismatched for %s and %s.

400

ResourceInConfiguring

The specified resource of %s is being configured. Please try again later.

400

ResourceQuotaExceeded.LoadBalancerServersNum

The quota of %s is exceeded for resource %s, usage %s/%s.

400

ResourceInConfiguring.BackendServer

The specified resource of %s is being configured, please try again later.

The specified resource of %s is being configured, please try again later.

400

IdempotentParameterMismatch

The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.

The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.

404

ResourceNotFound.ServerGroup

The specified resource %s is not found.

404

ResourceNotFound.Ecs

The specified resource %s is not found.

404

ResourceNotFound.Eci

The specified resource %s is not found.

404

ResourceNotFound.Eni

The specified resource %s is not found.

The specified resource %s is not found.

404

ResourceNotFound.BackendServer

The specified resource %s is not found.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.