All Products
Search
Document Center

Server Load Balancer:CreateMasterSlaveServerGroup

Last Updated:Mar 14, 2024

Creates a primary/secondary server group. A primary/secondary server group can contain only two Elastic Compute Service (ECS) instances. One of the ECS instances functions as the primary server and the other functions as the secondary server.

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:CreateMasterSlaveServerGroupWRITE
  • 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 Server Load Balancer (SLB) instance is deployed.

cn-hangzhou
LoadBalancerIdstringYes

The ID of the SLB instance.

lb-bp1hv944r69al4j******
MasterSlaveServerGroupNamestringNo

The name of the primary/secondary server group.

Group1
MasterSlaveBackendServersstringYes

The backend servers in the primary/secondary server group.

The value of this parameter must be a STRING list in the JSON format. You can specify up to 20 elements in each request.

  • ServerId: Required. Specify the ID of the backend server. The value must be of the STRING type.

  • Port: Required. Specify the port that is used by the backend server. The value must be of the INTEGER type. Valid values: 1 to 65535.

  • Weight: Required. Specify the weight of the backend server. The value must be of the INTEGER type. Valid values: 0 to 100.

  • **Description **: Optional. The description of the backend server. The value must be of the STRING type. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (_).

  • ServerType: the type of the backend server. The value must be of the STRING type. Valid values:

    • Master
  • Slave

  • Type: the service type of backend server. The value must be of the STRING type. Valid values:

    • ecs
    • eni
  • ServerIp

A primary/secondary server group can contain up to two backend servers.

If you do not specify this parameter, an empty primary/secondary server group is created.

Examples:

  • ECS instances:

[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"82","ServerType":"Master","Description":"test-112" }, { "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"84","ServerType":"Slave","Description":"test-112" }]

  • ENIs:

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

  • IP addresses of ENIs:

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

[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"82","ServerType":"Master","Description":"test-112" }, { "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"84","ServerType":"Slave","Description":"test-112" }]

Response parameters

ParameterTypeDescriptionExample
object
MasterSlaveServerGroupIdstring

The primary/secondary server group ID.

rsp-bp19au4******
RequestIdstring

The request ID.

7CA4DB76-4D32-523B-822E-5C9494613D46
MasterSlaveBackendServersobject []

The backend servers in the primary/secondary server group.

Typestring

The service type of the backend server. Valid values:

  • ecs
  • eni
ecs
Weightinteger

The weight of the backend server.

100
Descriptionstring

The description of the primary/secondary server group.

test-112
Portinteger

The port that is used by the backend server.

82
ServerIdstring

The ID of the ECS instance or ENI that is added.

i-bp1fq61enf4loa5i****
ServerTypestring

The type of the backend server.

Valid values: Master and Slave.

Master

Examples

Sample success responses

JSONformat

{
  "MasterSlaveServerGroupId": "rsp-bp19au4******",
  "RequestId": "7CA4DB76-4D32-523B-822E-5C9494613D46",
  "MasterSlaveBackendServers": {
    "MasterSlaveBackendServer": [
      {
        "Type": "ecs",
        "Weight": 100,
        "Description": "test-112",
        "Port": 82,
        "ServerId": "i-bp1fq61enf4loa5i****",
        "ServerType": "Master"
      }
    ]
  }
}

Error codes

HTTP status codeError codeError message
400BACKEND_SERVERS_NUM_MUST_BE_TWOBackend servers num must be 2.
400Mismatched.ZoneIdThe zone of the server is not matched with the cloud box loadbalancer.
400BACKEND_SERVERS_HAVE_SAME_PORT_AND_SERVERIDBackend servers have same port and serverId.
400BACKEND_SERVERS_CAN_ONLY_CONTAIN_ONE_MASTER_AND_ONE_SLAVEBackend servers can only contain one master and one slave.
400BACKEND_SERVER_ID_CAN_NOT_EMPTYBackend server id can not empty.
400INVALID_SERVER_TYPEInvalid server type.
400BACKEND_SERVER_PORT_CAN_NOT_EMPTYBackend server port can not empty.
400RealServerPortNotSupportReal server port not support.
400OperationUnsupported.CreateMasterSlaveServerGroupThis 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.
400RsTunnelIp2VmNameConflict%s.
400NetworkConflict%s.
400InvalidParam.TagValue %s.
400InvalidParam.TagKey%s.
400SizeLimitExceeded.Tag%s.
400MissingParam.TagKeyThe param MissingParam.TagKey is missing.

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

Change history

Change timeSummary of changesOperation
2023-06-02The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    delete Error Codes: 400