All Products
Search
Document Center

Server Load Balancer:ReplaceServersInServerGroup

Last Updated:Jul 13, 2026

Replaces backend servers in a backend server group.

Operation description

The ReplaceServersInServerGroup operation is asynchronous. After a request ID is returned, the backend server replacement task is still being processed in the background.

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

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

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

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

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

    • If the backend server is in the Available state, the backend 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 supports 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 server group ID.

Note

Server groups of the Function Compute type do not support replacing backend servers.

sgp-5114d593o96qxy****

AddedServers

array<object>

Yes

The list of backend servers to add. You can specify up to 200 servers in a single request.

object

No

The backend server struct.

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 backend server group. Valid values: 1 to 65535. You can specify up to 200 servers in a single request.

80

ServerId

string

No

The backend server ID. You can specify up to 200 servers in a single request.

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

  • If the server group type is Ip, set this parameter to an IP address.

Note

Server groups of the Function Compute type do not support replacing backend servers. You can call ListServerGroups to query the server group type.

i-bp1f9kdprbgy9uiu****

ServerIp

string

No

The IP address.

If ServerType is set to Eni, you can specify the primary private IP address or a secondary private IP address of the ENI.

192.168.1.1

ServerType

string

Yes

The backend server type. You can specify up to 200 servers in a single call. Valid values:

  • Ecs: ECS instance.

  • Eni: ENI network interface controller (NIC) instance.

  • Eci: ECI elastic container.

  • Ip: IP address.

  • Fc: Function Compute.

Ecs

Weight

integer

No

The weight of the backend server. You can specify up to 200 servers in a single request.

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 to remove.

object

No

The struct of the backend servers to remove.

ServerId

string

Yes

The backend server ID. You can specify up to 200 servers in a single request.

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

  • If the server group type is Ip, set this parameter to an IP address.

Note

Server groups of the Function Compute type do not support replacing backend servers. You can call ListServerGroups to query the server group type.

i-bp1f9kdprbgy9uiu****

ServerIp

string

No

The IP address.

If ServerType is set to Eni, you can specify the primary private IP address or a secondary private IP address of the ENI.

192.168.1.12

ServerType

string

Yes

The backend server type. You can specify up to 200 servers in a single call. Valid values:

  • Ecs: ECS instance.

  • Eni: ENI network interface controller (NIC) instance.

  • Eci: ECI elastic container.

  • Ip: IP address.

ecs

Port

integer

Yes

The port used by the backend server. Valid values: 1 to 65535. You can specify up to 200 servers in a single request.

81

ClientToken

string

No

The client token that is used to ensure the idempotence of the request.

Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.

Note

If you do not specify this parameter, the system uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.

593B0448-D13E-4C56-AC0D-FDF0FDE0E9A3

DryRun

boolean

No

Specifies whether to perform a dry run. Valid values:

  • true: performs a dry run without replacing backend servers in the server group. The system checks the required parameters, request syntax, and business limitations. If the check fails, the corresponding error is returned. If the check succeeds, the error code DryRunOperation is returned.

  • false (default): performs a dry run and sends the request. If the check succeeds, an HTTP 2xx status code is returned and the operation is performed.

true

Response elements

Element

Type

Description

Example

object

The response struct.

JobId

string

The asynchronous task ID.

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.