All Products
Search
Document Center

Server Load Balancer:SetBackendServers

Last Updated:Oct 11, 2024

Specifies weights for backend servers.

Debugging

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

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:SetBackendServersupdate
  • instance
    acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}
  • loadbalancer
    acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}
  • ecs:tag
  • slb:tag
none

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringNo

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

cn-hangzhou
LoadBalancerIdstringYes

The ID of the CLB instance.

lb-bp1qjwo61pqz3a******
BackendServersstringNo

The backend servers that you want to add. Configure the following parameters:

  • ServerId: Required. The ID of the backend server. Specify the value in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set ServerId to the ID of an ENI or an elastic container instance, you must configure the Type parameter.

  • Weight: the weight of the backend server. Valid values: 0 to 100. Default value: 100. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.

  • Description: Optional. The description of the backend server. Specify the value in 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): ECS instance
    • eni: ENI
    • eci: elastic container instance
Note You can specify ENIs and elastic container instances as backend servers only for high-performance CLB instances.
  • ServerIp: the IP address of the 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 You can add only running backend servers to a CLB instance. You can specify at most 20 backend servers in each call.
[{ "ServerId": "ecs-******FmYAXG", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]

Response parameters

ParameterTypeDescriptionExample
object
LoadBalancerIdstring

The ID of the CLB instance.

lb-bp1qjwo61pqz3a******
RequestIdstring

The request ID.

365F4154-92F6-4AE4-92F8-7FF34B540710
BackendServersarray<object>

The backend servers.

BackendServerobject
Typestring

The type of backend server. Valid values:

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

The weight of the backend server.

100
Descriptionstring

The description of the backend server.

backend server
ServerIdstring

The ID of the server group.

eni-hhshhs****

Examples

Sample success responses

JSONformat

{
  "LoadBalancerId": "lb-bp1qjwo61pqz3a******",
  "RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540710",
  "BackendServers": {
    "BackendServer": [
      {
        "Type": "eni",
        "Weight": "100",
        "Description": "backend server",
        "ServerId": "eni-hhshhs****"
      }
    ]
  }
}

Error codes

HTTP status codeError codeError message
400Mismatched.ZoneIdThe zone of the server is not matched with the cloud box loadbalancer.

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

Change history

Change timeSummary of changesOperation
2023-12-13The Error code has changedView Change Details