Cria uma instância de load balancer que suporta políticas de roteamento personalizadas, persistência de sessão, configurações de monitoramento e outros recursos avançados.
Descrição da operação
Cria um serviço de balanceamento de carga com base nos seus requisitos de negócios. Você pode definir configurações como roteamento adaptativo, polling ponderado, correspondência de regras e verificações de integridade para gerenciar e otimizar o tráfego de forma eficaz.
Apenas planos Enterprise suportam o serviço de balanceamento de carga. Para usar este recurso, entre em contato com a equipe de vendas do Alibaba Cloud para solicitar um plano Enterprise.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
esa:CreateLoadBalancer |
create |
*Site
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| Name |
string |
Sim |
O nome do load balancer. O nome deve estar em um formato de nome de domínio válido e deve ser um subdomínio do site. |
lb.example.com |
| Enabled |
boolean |
Não |
Especifica se o load balancer está ativado. Valores válidos:
Valores válidos:
|
true |
| SiteId |
integer |
Sim |
O ID do site. Você pode chamar a operação ListSites para obter o ID do site. |
123456789**** |
| AdaptiveRouting |
object |
Não |
A configuração de back-to-origin do pool de endereços cross-origin. |
true |
| FailoverAcrossPools |
boolean |
Não |
Especifica se deve ativar o failover do pool de endereços cross-origin. Valores válidos:
|
true |
| OriginLevelRetry |
boolean |
Não |
Especifica se deve tentar novamente o próximo endereço IP quando o back-to-origin falhar e o servidor de origem for um nome de domínio que resolve para vários endereços IP. |
false |
| DefaultPools |
array |
Sim |
A lista de IDs de pools de endereços padrão. |
123 |
|
integer |
Não |
O ID do pool de endereços padrão. O valor é um número inteiro. |
95223818027**** |
|
| FallbackPool |
integer |
Sim |
O ID do pool de endereços de fallback. O tráfego é direcionado para este pool quando todos os outros pools estiverem indisponíveis. |
123 |
| RandomSteering |
object |
Não |
A configuração de round-robin ponderado que controla o peso da distribuição de tráfego entre diferentes pools de endereços. |
123 |
| DefaultWeight |
integer |
Não |
O peso padrão de round-robin aplicado a todos os pools de endereços que não possuem um peso especificado individualmente. Valores válidos: números inteiros de 0 a 100. |
50 |
| PoolWeights |
object |
Não |
A configuração de peso para cada pool de servidores backend. A chave é o ID do pool e o valor é o coeficiente de peso. O coeficiente de peso representa a proporção relativa da distribuição de tráfego. |
|
|
integer |
Não |
O peso de um único pool de endereços de origem. Valores válidos: 0 a 100. Um valor de 0 indica que nenhum tráfego é roteado para este pool de endereços de origem. |
50 |
|
| Rules |
array<object> |
Não |
As informações da regra. |
{ "ENAM": [ 12345678**** ], "WNAM": [ 23456789****, 23456789**** ] } |
|
array<object> |
Não |
A estrutura da regra. |
||
| RuleName |
string |
Não |
O nome da regra. Este parâmetro não é obrigatório ao adicionar uma configuração global. |
rule_1 |
| Rule |
string |
Não |
O conteúdo da regra que usa expressões condicionais para corresponder às solicitações do usuário. Este parâmetro não é obrigatório ao adicionar uma configuração global. Dois cenários são suportados:
|
(http.request.method eq "GET" and http.request.version eq "HTTP/1.0") or (ip.geoip.country eq "CN") or (http.host eq "www.example.com") |
| RuleEnable |
string |
Não |
O interruptor da regra. Este parâmetro não é obrigatório ao adicionar uma configuração global. Valores válidos:
|
on |
| FixedResponse |
object |
Não |
O conteúdo de resposta fixa retornado após a correspondência de uma regra. |
{"content_type": "application/json", "location": "www.example.com", "message_body": "Testing Hello", "status_code": 0} |
| ContentType |
string |
Não |
O campo Content-Type no cabeçalho HTTP. |
application/octet-stream |
| Location |
string |
Não |
O campo location na resposta HTTP. |
http://www.example.com/index.html |
| MessageBody |
string |
Não |
O valor do corpo da resposta. |
Hello World! |
| StatusCode |
integer |
Não |
O código de status da resposta. |
200 |
| Overrides |
any |
Não |
A configuração de balanceamento de carga que substitui os campos correspondentes na configuração do load balancer quando uma regra é correspondida. Os campos especificados substituem os campos correspondentes na configuração do load balancer. |
{ "adaptive_routing": { "failover_across_pools": true }, "sub_region_pools": { "AL,AT": [ 92298024898****, 92304347804**** ], "BG,BY": [ 92298024898**** ] }, "default_pools": [ 92298024898****, 92304347804**** ], "fallback_pool": 92298024898****, "location_strategy": { "mode": "resolver_ip", "prefer_ecs": "always" }, "random_steering": { "default_weight": 0.3, "pool_weights": { "92298024898****": 0.7, "92304347804****": 0.8 } }, "region_pools": { "CN,SEAS": [ 92298024898****, 92304347804**** ], "SAF,SAS": [ 92304347804**** ] }, "session_affinity": "ip", "steering_policy": "geo", "ttl": 30 } |
| Sequence |
integer |
Não |
A ordem de execução da regra. Este parâmetro é opcional. Se não for especificado, as regras serão executadas na ordem da lista. Se especificado, o valor deve ser um número inteiro positivo. Um valor maior indica uma prioridade mais alta. |
1 |
| Terminates |
boolean |
Não |
Especifica se deve parar a execução das regras subsequentes. Valores válidos:
|
true |
| SessionAffinity |
string |
Não |
O modo de persistência de sessão. Valores válidos:
|
ip |
| SteeringPolicy |
string |
Sim |
A política de balanceamento de carga. Valores válidos:
|
order |
| Description |
string |
Não |
A descrição do load balancer para fins de gerenciamento e identificação. |
Load Balancer Description |
| Ttl |
integer |
Não |
O valor TTL, que especifica o tempo de vida do registro DNS. Valor padrão: 30 segundos. Valores válidos: 10 a 600. |
300 |
| Monitor |
object |
Sim |
A configuração de monitoramento para verificações de integridade. |
order |
| Type |
string |
Não |
O tipo de protocolo de monitoramento usado para verificações de integridade. Um valor de off indica que as verificações de integridade estão desativadas. Valores válidos:
|
HTTP |
| Method |
string |
Não |
O método de solicitação do monitoramento, como |
GET |
| Port |
integer |
Não |
A porta do servidor de origem. |
1921 |
| Path |
string |
Não |
O caminho de verificação do monitoramento, como |
/health |
| Interval |
integer |
Não |
O intervalo de monitoramento em segundos, como |
60 |
| Timeout |
integer |
Não |
O período de tempo limite da verificação de integridade. Unidade: segundos. Valores válidos: 1 a 10. |
5 |
| ExpectedCodes |
string |
Não |
Os códigos de status esperados, como |
200 |
| FollowRedirects |
boolean |
Não |
Especifica se deve seguir redirecionamentos. Valores válidos:
|
true |
| ConsecutiveUp |
integer |
Não |
O número de sondagens bem-sucedidas consecutivas necessárias para considerar a verificação bem-sucedida, como |
3 |
| ConsecutiveDown |
integer |
Não |
O número de sondagens com falha consecutivas necessárias para considerar a verificação como falha, como |
5 |
| Header |
any |
Não |
As informações de cabeçalho incluídas na solicitação de sondagem. Este é o cabeçalho HTTP. |
{ "host": [ "example1.com", "example2.com" ] } |
| MonitoringRegion |
string |
Não |
A região onde os nós de sondagem estão localizados. Valor padrão: Global. Valores válidos:
Valores válidos:
|
Global |
| SubRegionPools |
any |
Não |
Os pools de endereços mapeados para regiões secundárias. Se várias regiões secundárias compartilharem o mesmo conjunto de pools de endereços, você pode concatenar os nomes das regiões secundárias com vírgulas como chave. |
{"AL,MO": [92298024898****],"CN-SH,CN-SX,CN-SC":[92304347804****,92843536908****]} |
| RegionPools |
any |
Não |
Os pools de endereços mapeados para regiões primárias. |
{ "ENAM": [ 12345678**** ], "WNAM": [ 23456789****, 23456789**** ] } |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Esquema da resposta. |
||
| RequestId |
string |
O ID da solicitação. |
EEEBE525-F576-1196-8DAF-2D70CA3F4D2F |
| Id |
integer |
O ID do load balancer. |
99867648760**** |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\n",
"Id": 0
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is invalid. | Falha na validação do formato do parâmetro de entrada. |
| 400 | LoadBalancerQuotaCheckFailed | Load balancer enable quota check failed. | Seu plano atual não suporta recursos de balanceamento de carga. Para usar esses recursos, faça upgrade do seu plano. |
| 400 | LoadBalancerNumberExceedQuotaLimit | The number of load balancers you have added has reached the limit of the plan quota. Please delete the unused load balancers or upgrade the plan and try again. | O número de instâncias de balanceamento de carga que você adicionou atingiu o limite de cota do seu plano. Exclua as instâncias de balanceamento de carga não utilizadas ou faça upgrade do seu plano e tente novamente. |
| 400 | LoadBalancerRuleQuotaCheckFailed | Your current plan does not support configuring load balancer custom rules, or the load balancer rules you have added exceed the plan quota limit. Please upgrade the plan or delete the rules that are no longer in use and try again. | Seu plano atual não suporta regras personalizadas de balanceamento de carga, ou o número de regras de balanceamento de carga que você adicionou excede o limite de cota do plano. Faça upgrade do seu plano ou exclua as regras não utilizadas e tente novamente. |
| 400 | LoadBalancerPolicyCheckFailed | Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again. | Seu plano atual não suporta esta política de agendamento de balanceamento de carga. Faça upgrade do seu plano e tente novamente. |
| 400 | LoadBalancerHealthDetectionQuotaCheckFailed | Your current plan does not allow you to configure the load balancer's health detection. Upgrade the plan and try again. | Seu plano atual não permite configurar verificações de integridade para o balanceamento de carga. Faça upgrade do seu plano e tente novamente. |
| 400 | LoadBalancerHealthDetectionIntervalCheckFailed | The configured load balancer health detection interval exceeds the quota range allowed by the plan. Please revise the interval within the range or upgrade the plan and try again. | O intervalo de tempo de detecção de verificação de integridade configurado para o balanceamento de carga excede a cota permitida pelo seu plano. Ajuste o intervalo para um valor dentro do limite permitido ou faça upgrade do seu plano e tente novamente. |
| 400 | InternalException | Failed to call the service. Try again later or contact technical support. | A chamada do serviço falhou. Tente novamente mais tarde ou entre em contato com o suporte ao cliente para obter detalhes. |
| 400 | Instance.NotOnline | Your plan is unavailable due to an overdue payment. Complete the payment first. | Sua instância de plano está atualmente inativa devido a um pagamento em atraso. Conclua a renovação para continuar usando o serviço. |
| 400 | MonitorExpectedBodyInvalid | Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule. | O valor de resposta esperado do monitor é inválido. O comprimento não pode exceder 102.400 caracteres. Verifique o valor de resposta e tente novamente. |
| 400 | MonitorExpectedCodesInvalid | Invalid expected status code for the probe.Make sure that you specify no more than 10 status codes in the probe settings, and each status code must be 3 to 4 characters in length.Examples: 200, 301, 3xx, 8000, and 88xx. | O código de resposta esperado do monitor é inválido. O número de códigos de resposta não pode exceder 10, e cada código de resposta deve ter entre 3 e 4 caracteres de comprimento. Exemplos: 200, 301, 3xx, 8000, 88xx. |
| 400 | MonitorHeaderInvalid | Invalid request header for the probe. You can add up to 10 request headers, each with 1 to 9 values. The combined length of all headers and values cannot exceed 6,000 characters. You cannot configure the User-Agent header. | Os cabeçalhos de solicitação transportados pelo monitor são inválidos. Certifique-se de que o número de cabeçalhos de solicitação não exceda 10, que o comprimento do valor de cada cabeçalho de solicitação esteja entre 1 e 10 e que o cabeçalho de solicitação User-Agent não seja usado (ele é reservado para cenários internos). Além disso, o comprimento total de todos os cabeçalhos de. |
| 400 | MonitorMethodNotSupport | Invalid HTTP method for the probe request. Valid values are GET and HEAD. | O método de solicitação do monitor não é suportado. Apenas os seguintes métodos são suportados: GET e HEAD. |
| 400 | MonitorPathNotSupport | Invalid probe URL path.If you set the probe protocol to HTTP or HTTPS, make sure you specify a probe URL path that does not exceed 1,024 characters in length. | O Caminho de Verificação de Integridade não é suportado. Quando o tipo de monitoramento é HTTP ou HTTPS, o Caminho de Verificação de Integridade não pode estar vazio e o comprimento do caminho não pode exceder 1.024 caracteres. Verifique o caminho e tente novamente. |
| 400 | MonitorPortNotSupport | Invalid probe port. Specify a valid port from 1 to 65535 for the probe request. Then, try again. | A porta de monitoramento do monitor não é suportada. O intervalo de portas válido é de 1 a 65535. Certifique-se de que a porta esteja dentro do intervalo válido e tente novamente. |
| 400 | MonitorRetriesInvalid | Invalid number of probe retries. Specify an integer from 0 to 5. Then, try again. | O parâmetro de contagem de tentativas do monitor não é suportado. O intervalo válido para a contagem de tentativas é de 0 a 5. Certifique-se de que a contagem de tentativas esteja dentro deste intervalo. |
| 400 | MonitorTimeoutInvalid | Invalid timeout for the probe. Valid values are 1 to 10. | O valor de tempo limite do monitor excede o intervalo válido. O intervalo suportado é de 1 a 10. |
| 400 | MonitorTypeNotSupport | Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP. | O tipo de monitor não é suportado. Apenas os seguintes tipos são suportados: off, HTTP, HTTPS, TCP, UDP, ICMP Ping e SMTP. |
| 400 | OriginPoolNotExist | The specified origin pool does not exist or does not belong to your account or website. Check and try again. | O pool de endereços de origem especificado não existe ou não pertence ao usuário e site atuais. Verifique as informações e tente novamente. |
| 400 | LoadBalancerNameConflict | The load balancer name or the hostname for the origin pool already exists. Try again with a unique name. | O nome do balanceamento de carga ou o nome do registro do pool IPAM de origem já existe. Use um nome exclusivo e tente novamente. |
| 400 | LockFailed | The system is handling requests you previously submitted. Try again later. | Outra solicitação está sendo processada. Tente novamente mais tarde. |
| 400 | SourceCircleExist | The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry. | O registro de host do recurso que você está tentando operar já está configurado como servidor de origem de outro recurso, ou o servidor de origem do recurso atual já foi adicionado como um registro de host. Para evitar loops de roteamento, modifique o registro de host ou o servidor de origem e tente novamente. |
| 400 | LoadBalancer.NameInvalid | The name of the Server Load Balancer instance is a valid domain name or belongs to the site. Check that it is correct and try again. | O nome da instância de balanceamento de carga é um nome de domínio válido ou pertence ao site. Verifique o nome e tente novamente. |
| 400 | CompileRuleError | Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document. | A compilação da regra falhou. Verifique a configuração de regra especificada. Consulte o formato de configuração de regra descrito na referência da API. |
| 400 | InstanceNotExist | The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account. | A instância não existe. Verifique se o ID da instância fornecido está correto ou se a instância pertence à sua conta. |
| 403 | QuotaExceeded | The quota is exceeded. | O limite de cota diária foi excedido. A cota de envio para hoje foi esgotada. Você pode consultar a quantidade restante disponível para hoje por meio da API de cotas. |
| 404 | SiteNotFound | The website does not exist or does not belong to you. | O site não existe ou não pertence a você. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.