Todos os produtos
Search
Central de documentação

Server Load Balancer:CreateServerGroup

Última atualização: Jul 14, 2026

Cria um grupo de servidores em uma região especificada.

Descrição da operação

CreateServerGroup é uma operação assíncrona. Depois que você envia uma solicitação, o sistema retorna um ID de solicitação. No entanto, o grupo de servidores da instância do Network Load Balancer (NLB) ainda não foi criado. O sistema continua a criar o grupo de servidores em segundo plano. Você pode invocar GetJobStatus para consultar o status de criação do grupo de servidores:

  • Se o status do nó for Succeeded, o grupo de servidores foi criado.

  • Se o status do nó for Processing, o grupo de servidores está sendo criado. Nesse estado, você pode executar apenas operações de consulta e não pode executar outras operações.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

nlb:CreateServerGroup

create

*ServerGroup

acs:nlb:{#regionId}:{#accountId}:servergroup/*

*VPC

acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

ServerGroupType

string

Não

O tipo do grupo de servidores. Valores válidos:

  • Instance (padrão): tipo de servidor. Este tipo de grupo de servidores permite adicionar instâncias dos tipos Ecs, Eni e Eci.

  • Ip: tipo de endereço IP. Este tipo de grupo de servidores permite adicionar diretamente servidores de back-end por endereço IP.

Instance

ServerGroupName

string

Sim

O nome do grupo de servidores.

O nome deve ter de 2 a 128 caracteres e deve começar com uma letra maiúscula, letra minúscula ou caractere chinês. Pode conter dígitos, pontos (.), sublinhados (_) e hifens (-).

NLB_ServerGroup

AddressIPVersion

string

Não

A versão do protocolo. Valores válidos:

  • ipv4 (padrão): IPv4.

  • DualStack: pilha dupla.

ipv4

IpVersionAffinityMode

string

Não

A política de agendamento de tráfego no modo de pilha dupla:

  • NonAffinity (padrão): modo de não afinidade. O tráfego é encaminhado para servidores de back-end íntegros com base no algoritmo de agendamento, independentemente da versão do protocolo IP da origem.

  • Affinity: modo de afinidade. O tráfego é encaminhado com base na versão do protocolo IP da origem da solicitação. As solicitações IPv4 são encaminhadas apenas para servidores de back-end IPv4, e as solicitações IPv6 são encaminhadas apenas para servidores de back-end IPv6.

Nota

Este parâmetro entra em vigor apenas quando AddressIPVersion é definido como DualStack.

Affinity

Protocol

string

Não

O protocolo de comunicação usado para encaminhar solicitações aos servidores de back-end. Valores válidos:

  • TCP (padrão)

  • UDP

  • TCP_UDP

Nota
  • Se este parâmetro for definido como UDP, o grupo de servidores poderá ser associado apenas a listeners UDP.

  • Se este parâmetro for definido como TCP e PreserveClientIpEnabled for definido como true, o grupo de servidores poderá ser associado apenas a listeners TCP.

  • Se este parâmetro for definido como TCP e PreserveClientIpEnabled for definido como false, o grupo de servidores poderá ser associado a listeners TCPSSL e TCP.

  • Se este parâmetro for definido como TCP_UDP, o grupo de servidores poderá ser associado a listeners TCP e UDP.

TCP

VpcId

string

Sim

O ID da virtual private cloud (VPC) à qual o grupo de servidores pertence.

Nota

Se ServerGroupType for definido como Instance, apenas servidores nesta VPC poderão ser adicionados ao grupo de servidores.

vpc-bp15zckdt37pq72zv****

AnyPortEnabled

boolean

Não

Especifica se o encaminhamento de todas as portas deve ser ativado. Valores válidos:

  • true: ativado.

  • false (padrão): desativado.

false

ConnectionDrainEnabled

boolean

Não

Especifica se o connection draining deve ser ativado. Valores válidos:

  • true: ativado.

  • false (padrão): desativado.

false

ConnectionDrainTimeout

integer

Não

O período de tempo limite do connection draining. Unidade: segundos. Valores válidos: 0 a 900.

10

Scheduler

string

Não

O algoritmo de agendamento. Valores válidos:

  • Wrr (padrão): round-robin ponderado. Servidores de back-end com pesos maiores são consultados com mais frequência.

  • Wlc: menor número de conexões ponderado. Além do peso de cada servidor de back-end, a carga real (número de conexões) também é considerada. Quando os pesos são iguais, os servidores de back-end com menos conexões atuais são consultados com mais frequência.

  • rr: round-robin. As solicitações são distribuídas aos servidores de back-end em sequência.

  • sch: hash de IP de origem. As solicitações do mesmo endereço IP de origem são distribuídas ao mesmo servidor de back-end.

  • tch: hash de quatro elementos. Hash consistente com base em quatro elementos (endereço IP de origem, endereço IP de destino, porta de origem e porta de destino). O mesmo fluxo é distribuído ao mesmo servidor de back-end.

  • qch: hash de ID QUIC. As solicitações com o mesmo ID QUIC são distribuídas ao mesmo servidor de back-end.

Nota

O hash de ID QUIC é suportado apenas quando o protocolo de back-end é UDP.

Wrr

PreserveClientIpEnabled

boolean

Não

Especifica se a preservação do IP do cliente deve ser ativada. Valores válidos:

  • true (padrão): ativado.

  • false: desativado.

Nota

Se Protocol for definido como TCP e este parâmetro for definido como true, o grupo de servidores não poderá ser associado a listeners TCPSSL.

true

HealthCheckConfig

object

Não

As configurações de health check.

HealthCheckEnabled

boolean

Não

Especifica se os health checks devem ser ativados. Valores válidos:

  • true (padrão): ativado.

  • false: desativado.

true

HealthCheckType

string

Não

O protocolo usado para health checks. Valores válidos:

  • TCP

  • HTTP

  • UDP

TCP

HealthCheckConnectPort

integer

Não

A porta do servidor de back-end usada para health checks.

Valores válidos: 0 a 65535.

Valor padrão: 0, o que indica que a porta do servidor de back-end é usada para health checks.

0

HealthyThreshold

integer

Não

O número de health checks bem-sucedidos consecutivos que devem ocorrer antes que um servidor de back-end seja declarado íntegro (altera o status de fail para success).

Valores válidos: 2 a 10.

Valor padrão: 2.

2

UnhealthyThreshold

integer

Não

O número de health checks com falha consecutivos que devem ocorrer antes que um servidor de back-end seja declarado não íntegro (altera o status de success para fail).

Valores válidos: 2 a 10.

Valor padrão: 2.

2

HealthCheckConnectTimeout

integer

Não

O período de tempo limite máximo para uma resposta de health check. Unidade: segundos. Valores válidos: 1 a 300. Valor padrão: 5.

5

HealthCheckInterval

integer

Não

O intervalo entre dois health checks consecutivos. Unidade: segundos. Valor padrão: 5.

  • Se HealthCheckType for definido como TCP ou HTTP, os valores válidos são 1 a 50.

  • Se HealthCheckType for definido como UDP, os valores válidos são 1 a 300. Defina o intervalo com um valor maior ou igual ao período de tempo limite de resposta para evitar que as respostas de sondagem UDP sejam identificadas incorretamente como não respostas devido ao tempo limite.

5

HealthCheckDomain

string

Não

O nome de domínio usado para health checks. Valores válidos:

  • $SERVER_IP: o endereço IP privado do servidor de back-end.

  • domain: um nome de domínio específico. O nome de domínio deve ter de 1 a 80 caracteres e pode conter apenas letras, dígitos, hifens (-) e pontos (.).

Nota

Este parâmetro entra em vigor apenas quando HealthCheckType é definido como HTTP.

$SERVER_IP

HealthCheckUrl

string

Não

O caminho do health check.

O caminho deve ter de 1 a 80 caracteres e pode conter apenas letras, dígitos e os seguintes caracteres: -/.%?#&. Deve começar com uma barra (/).

Nota

Este parâmetro entra em vigor apenas quando HealthCheckType é definido como HTTP.

/test/index.html

HealthCheckHttpCode

array

Não

Os códigos de status HTTP retornados para um servidor de back-end íntegro. Separe vários códigos de status com vírgulas (,). Valores válidos: http_2xx (padrão), http_3xx, http_4xx e http_5xx.

Nota

Este parâmetro entra em vigor apenas quando HealthCheckType é definido como HTTP.

string

Não

Os códigos de status HTTP retornados para um servidor de back-end íntegro. Separe vários códigos de status com vírgulas (,). Valores válidos: http_2xx (padrão), http_3xx, http_4xx e http_5xx.

Nota

Este parâmetro entra em vigor apenas quando HealthCheckType é definido como HTTP.

http_2xx

HttpCheckMethod

string

Não

O método de health check. Valores válidos: GET (padrão) e HEAD.

Nota

Este parâmetro entra em vigor apenas quando HealthCheckType é definido como HTTP.

GET

HealthCheckReq

string

Não

A string de consulta na solicitação para health checks de listener UDP. A string pode conter apenas letras e dígitos, com um comprimento máximo de 512 caracteres.

hello

HealthCheckExp

string

Não

A string de consulta na solicitação para health checks de listener UDP. A string pode conter apenas letras e dígitos, com um comprimento máximo de 512 caracteres.

ok

HealthCheckHttpVersion

string

Não

A versão HTTP para health checks. Valores válidos: HTTP1.0 (padrão) e HTTP1.1.

Nota

Este parâmetro entra em vigor apenas quando HealthCheckType é definido como HTTP.

HTTP1.0

ResourceGroupId

string

Não

O ID do grupo de recursos ao qual o grupo de servidores pertence.

rg-atstuj3rtop****

DryRun

boolean

Não

Especifica se deve ser realizado um dry run. Valores válidos:

  • true: realiza um dry run sem criar o grupo de servidores. O sistema verifica os parâmetros obrigatórios, o formato da solicitação e os limites do serviço. Se a verificação falhar, o erro correspondente será retornado. Se a verificação for bem-sucedida, o código de erro DryRunOperation será retornado.

  • false (padrão): envia a solicitação. Depois que a solicitação passa na verificação, um código de status HTTP 2xx é retornado e a operação é executada.

true

ClientToken

string

Não

O token de cliente usado para garantir a idempotência da solicitação.

Você pode usar o cliente para gerar o token, mas deve garantir que o token seja exclusivo entre diferentes solicitações. O token de cliente pode conter apenas caracteres ASCII.

Nota

Se você não especificar este parâmetro, o sistema usará o RequestId da solicitação de API como o ClientToken. O RequestId pode ser diferente para cada solicitação de API.

123e4567-e89b-12d3-a456-426655440000

RegionId

string

Não

O ID da região da instância do Network Load Balancer (NLB).

Você pode chamar a operação DescribeRegions para consultar a lista de regiões mais recente.

cn-hangzhou

Tag

array<object>

Não

A lista de tags.

object

Não

A tag.

Key

string

Não

A chave da tag. A chave da tag pode ter até 64 caracteres e não pode começar com aliyun ou acs:. Não pode conter http:// ou https://. Os caracteres válidos incluem letras, dígitos, sublinhados (_), pontos (.), dois-pontos (:), barras (/), sinais de igual (=), sinais de mais (+), hifens (-) e arrobas (@).

Você pode adicionar até 20 tags em cada chamada.

env

Value

string

Não

O valor da tag. O valor da tag pode ter até 128 caracteres e não pode começar com aliyun ou acs:. Não pode conter http:// ou https://. Os caracteres válidos incluem letras, dígitos, sublinhados (_), pontos (.), dois-pontos (:), barras (/), sinais de igual (=), sinais de mais (+), hifens (-) e arrobas (@).

Você pode adicionar até 20 tags em cada chamada.

product

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

A resposta para a criação de um grupo de servidores.

RequestId

string

O ID da solicitação.

54B48E3D-DF70-471B-AA93-08E683A1B45

ServerGroupId

string

O ID do grupo de servidores.

sgp-atstuj3rtoptyui****

JobId

string

O ID da tarefa assíncrona.

72dcd26b-f12d-4c27-b3af-18f6aed5****

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "54B48E3D-DF70-471B-AA93-08E683A1B45",
  "ServerGroupId": "sgp-atstuj3rtoptyui****",
  "JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****"
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400 IllegalParam.AnyPortServerGroupConflictWithHealthCheckConfig The param of AnyPortServerGroupConflictWithHealthCheckConfig is illegal.
400 IllegalParamFormat.ParseCreateRsPoolRequestFailed The param format of CreateRsPoolRequest is illegal.
400 IllegalParam.PreserveClientIpSwitch The param of PreserveClientIpSwitch is illegal.
400 OperationDenied.VpcNotSupportIpv6 The operation is not allowed because of VpcNotSupportIpv6.
400 IllegalParam.healthCheckDomain The parameter of healthCheckConfig.healthCheckDomain is illegal.
400 OperationDenied.UidNotAllowQuic29 The operation is not allowed because of uid not allow quic29 version.
400 IlleagalParam.healthCheckUrl The parameter of healthCheckUrl in healthCheckConfig is illegal.
400 IllegalParam.ServerGroupName The param of ServerGroupName is illegal.
400 DryRunOperation Request validation has been passed with DryRun flag set.
400 MissingParam.%s The parameter of %s is missing.
400 IllegalParam.ConnectionDrainTimeout The param of ConnectionDrainTimeout is illegal.
400 IllegalParam The param of %s is illegal.
400 SystemBusy System is busy, please try again later.
400 QuotaExceeded.QuotaInsufficient The quota of %s is exceeded, usage %s/%s.
403 Forbidden.NoPermission Authentication is failed for NoPermission.
404 ResourceNotFound.Vpc The specified resource of Vpc is not found.
404 ResourceNotFound.ResourceGroup The param of resourceGroup not existed.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.