All Products
Search
Document Center

Server Load Balancer:ModifyVServerGroupBackendServers

Last Updated:Oct 11, 2024

Replaces backend servers in a vServer group.

Operation description

This operation can be used only to replace backend servers in a vServer group. To modify the attributes of backend servers, such as weights, call the SetVServerGroupAttribute operation.

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

Request parameters

ParameterTypeRequiredDescriptionExample
RegionIdstringYes

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

cn-hangzhou
VServerGroupIdstringYes

The ID of the vServer group.

rsp-cige6j****
OldBackendServersstringNo

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

  • ServerId: required. The IDs of the backend servers. Specify the IDs in a string. You can specify the IDs of Elastic Compute Service (ECS) instances, elastic network interfaces (ENIs), and elastic container instances. If you set ServerId to the IDs of ENIs or elastic container instances, 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 servers. Specify the description 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 SLB instances.
  • ServerIp: the IP address of the ENI or elastic container instance.
  • Port: the backend port.

Examples:

  • Add an ECS instance:

    [{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]

  • Add an ENI:

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

  • Add an 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" }]

  • Add an 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 SLB instances. You can specify at most 20 backend servers in each call.
[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]
NewBackendServersstringNo

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

  • ServerId: required. The IDs of the backend servers. Specify the IDs in a string. You can specify the IDs of ECS instances, ENIs, and elastic container instances. If you set ServerId to the IDs of ENIs or elastic container instances, 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 servers. Specify the description 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 SLB instances.
  • ServerIp: the IP address of the ENI or elastic container instance.
  • Port: the backend port.

Examples:

  • Add an ECS instance:

    [{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]

  • Add an ENI:

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

  • Add an 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" }]

  • Add an 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 SLB instances. You can specify at most 20 backend servers in each call.
[{ "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
VServerGroupIdstring

The ID of the vServer group.

rsp-cige6j****
RequestIdstring

The request ID.

9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C
BackendServersarray<object>

The backend servers.

BackendServerobject
Typestring

The type of backend server. Valid values:

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

The weight of the backend server.

100
Descriptionstring

The description of the backend server.

Backend server description
Portinteger

The port that is used by the backend server.

70
ServerIdstring

The ID of the ECS instance or ENI.

i-bp1ge5hrp****

Examples

Sample success responses

JSONformat

{
  "VServerGroupId": "rsp-cige6j****",
  "RequestId": "9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C",
  "BackendServers": {
    "BackendServer": [
      {
        "Type": "ecs",
        "Weight": 100,
        "Description": "Backend server description",
        "Port": 70,
        "ServerId": "i-bp1ge5hrp****"
      }
    ]
  }
}

Error codes

HTTP status codeError codeError messageDescription
400InvalidParameterThe specified BackendServers contain duplicated value of ServerID and Port.The specified backend servers contain duplicate service IDs and ports.
400Mismatched.ZoneIdThe zone of the server is not matched with the cloud box loadbalancer.-
400InvalidBackendServers.ServerIpConflict%s.-
400OperationUnsupported.ModifyVServerGroupBackendServersThis type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.-
400IncorrectStatus.RSByPassToas%s.-
400BackendServer.InvalidTypeThe specified Type is invalid.-
400BackendServer.ServerRegionIdNotEqualThe specified ServerRegionId must be equal.-
400OperationFailed.InvalidCenThe cen related with this loadbalancer is invalid.-
400IncorrectStatus.CenNotAssociatedThe action is invalid because the loadbalancer is not associated with cen.-
400InvalidBackendServers.MissingCenBandWidthThe bandwidth is missing between loadbalancer and backendServers in cen.-
400InvalidBackendServers.VpcNotInCenThe BackendServers is not in the cen associated with the loadbalancer.-
400InvalidServerId.NotExistThe specified ServerId is not exist.-
400MissingParameter.ServerRegionIdThe parameter ServerRegionId is required.-
400MissingParameter.VbrIdThe parameter VbrId is required.-
400InvalidParameter.ServerRegionIdThe parameter ServerRegionId is invalid for crossborder.-
400InvalidVbrId.NotInCenThe VbrId is not in the cen associated with the loadbalancer.-
400InvalidParameter.ServerRegionIdThe specified ServerRegionId is invalid.-
400InvalidParameter.ZoneNotSupportThe zone does not support the parameter %s.-
400MasterSlaveServerConflictThe servers are conflict for MasterSlaveGroup.-
400NetworkConflict%s.-

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

Change history

Change timeSummary of changesOperation
2023-09-08The Error code has changedView Change Details