Adds backend servers.

Note If multiple identical Elastic Compute Service (ECS) instances are specified in a request, only the first ECS instance is added. The other ECS instances are ignored. If the backend server that you add is the same as one of the existing backend servers that are already associated with the listener, an error message is returned.

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
RegionId String No cn-beijing

The ID of the region where the Classic Load Balancer (CLB) instance is deployed.

You can call the DescribeRegions operation to query the most recent region list.

Action String Yes AddBackendServers

The operation that you want to perform. Set the value to AddBackendServers.

LoadBalancerId String Yes lb-2ze7o5h52g02kkzz******

The ID of the CLB instance.

BackendServers String No [{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]

The list of backend servers that you want to add. Set the following parameters:

  • ServerId: Required. This value must be a string. Enter the ID of an ECS instance, elastic network interface (ENI), or elastic container instance. If ServerId is set to the ID of an ENI or elastic container instance, Type is required.
  • Weight: the weight of the backend server. Valid values: 0 to 100. Default value: 100.

    If the value is set to 0, no requests are forwarded to the backend server.

  • Description: Optional. The description of the backend server. This value must be a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (_).
  • Type: the type of the backend server. Valid values:
    • ecs (default): an ECS instance
    • eni: an ENI
    • eci: an elastic container instance
Note You can specify ENIs and elastic container instances as the backend servers only for high-performance CLB instances.
  • ServerIp: the IP address of the ECS instance, ENI, or elastic container instance
  • Port: the backend port

Examples:

  • ECS instance: [{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]
  • ENI: [{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]
  • ENI with multiple IP addresses: [{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]
  • Elastic container instance: [{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]
Note The backend servers that you add to a CLB instance must be in the Running state. You can add at most 20 backend servers to a CLB instance in each request.

Response parameters

Parameter Type Example Description
LoadBalancerId String lb-2ze7o5h52g02kkzz****

The ID of the CLB instance.

RequestId String 34B82C81-F13B-4EEB-99F6-A048C67CC830

The ID of the request.

BackendServers Array of BackendServer

The list of backend servers.

BackendServer
Type String ecs

The type of the backend server. Valid values:

  • ecs (default): an ECS instance
  • eni: an ENI
  • eci: an elastic container instance
Weight String 100

The weight of the backend server.

Valid values: 0 to 100. Default value: 100.

If the value is set to 0, no requests are forwarded to the backend server.

Description String BackendServer

The description of the backend server.

ServerId String i-2zej4lxhjoq1icu*****

The ID of the ECS instance, ENI, or elastic container instance.

Examples

Sample requests

http(s)://[Endpoint]/?RegionId=cn-beijing
&Action=AddBackendServers
&LoadBalancerId=lb-2ze7o5h52g02kkzz******
&BackendServers=[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]
&Common request parameters

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<AddBackendServersResponse>
    <LoadBalancerId>lb-2ze7o5h52g02kkzz****</LoadBalancerId>
    <RequestId>34B82C81-F13B-4EEB-99F6-A048C67CC830</RequestId>
    <BackendServers>
        <Type>ecs</Type>
        <Weight>100</Weight>
        <Description>BackendServer</Description>
        <ServerId>i-2zej4lxhjoq1icu*****</ServerId>
    </BackendServers>
</AddBackendServersResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "LoadBalancerId" : "lb-2ze7o5h52g02kkzz****",
  "RequestId" : "34B82C81-F13B-4EEB-99F6-A048C67CC830",
  "BackendServers" : [ {
    "Type" : "ecs",
    "Weight" : "100",
    "Description" : "BackendServer",
    "ServerId" : "i-2zej4lxhjoq1icu*****"
  } ]
}

Error codes

HttpCode Error code Error message Description
400 InvalidParameter The specified load balancer does not support the network type of the ECS instance. The error message returned because the CLB instance does not support ECS instances of the specified type. Change the type and try again.
400 Mismatched.ZoneId The zone of the server is not matched with the cloud box loadbalancer. The error message returned because the server and the CLB instance that is connected to a cloud box are deployed in different zones.
400 BackendServerProcessing Backend Server is adding, please try again later. The error message returned because the backend server is being added. Try again later.
400 InvalidBackendServers.ServerIpConflict %s. The error message returned because a backend server that uses the same TunnelId and RsIp configurations exists.
400 OperationUnsupported.AddBackendServers This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb. The error message returned because CLB instances of the Single Tunnel and Any Tunnel types do not support the specified type of backend server.
400 IncorrectStatus.RSByPassToas %s. The error message returned because the BypassToa parameter of the specified backend server is set to an invalid value.
400 OperationFailed.ActionNotSupport The loadbalancer does not support such action. The error message returned because the CLB instance does not support the operation.
400 NetworkConflict %s. The error message returned because configurations of the vServer group are inconsistent with the configurations of the ECS instance.

For a list of error codes, visit the API Error Center.