All Products
Search
Document Center

Server Load Balancer:AddBackendServers

Last Updated:Sep 20, 2024

Adds backend servers.

Operation description

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.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
slb:AddBackendServersupdate
  • LoadBalancer
    acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}
  • Instance
    acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}
    none
none

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringNo

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.

cn-beijing
LoadBalancerIdstringYes

The ID of the CLB instance.

lb-2ze7o5h52g02kkzz******
BackendServersstringNo

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.
[{ "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" }]

Response parameters

ParameterTypeDescriptionExample
object
LoadBalancerIdstring

The ID of the CLB instance.

lb-2ze7o5h52g02kkzz****
RequestIdstring

The ID of the request.

34B82C81-F13B-4EEB-99F6-A048C67CC830
BackendServersarray<object>

The list of backend servers.

object
Typestring

The type of the backend server. Valid values:

  • ecs (default): an ECS instance
  • eni: an ENI
  • eci: an elastic container instance
ecs
Weightstring

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.

100
Descriptionstring

The description of the backend server.

backend server
ServerIdstring

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

i-2zej4lxhjoq1icu*****

Examples

Sample success responses

JSONformat

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

Error codes

HTTP status codeError codeError messageDescription
400InvalidParameterThe specified load balancer does not support the network type of the ECS instance.The specified SLB instance does not support this network type ECS instance. Switch to another network type and try again.
400Mismatched.ZoneIdThe zone of the server is not matched with the cloud box loadbalancer.-
400BackendServerProcessingBackend Server is adding, please try again later.-
400InvalidBackendServers.ServerIpConflict%s.-
400OperationUnsupported.AddBackendServersThis type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.-
400IncorrectStatus.RSByPassToas%s.-
400OperationFailed.ActionNotSupportThe loadbalancer does not support such action.-
400NetworkConflict%s.-
400SystemBusyThe system is busy.The service is unavailable. Please try again later.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
No change history