Crée une instance d'équilibreur de charge prenant en charge des stratégies de routage personnalisées, la persistance de session, les configurations de surveillance et d'autres fonctionnalités avancées.
Description de l'opération
Crée un service d'équilibrage de charge en fonction de vos besoins métier. Vous pouvez configurer des paramètres tels que le routage adaptatif, la scrutation pondérée, la correspondance des règles et les vérifications d'état afin de gérer et d'optimiser efficacement le trafic.
Seuls les forfaits Enterprise prennent en charge le service d'équilibrage de charge. Pour utiliser cette fonctionnalité, contactez l'équipe commerciale d'Alibaba Cloud pour demander un forfait Enterprise.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
|
esa:CreateLoadBalancer |
create |
*Site
|
Aucune | Aucune |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| Name |
string |
Oui |
Le nom de l'équilibreur de charge. Le nom doit être au format de nom de domaine valide et doit être un sous-domaine du site. |
lb.example.com |
| Enabled |
boolean |
Non |
Indique si l'équilibreur de charge est activé. Valeurs valides :
Valeurs valides :
|
true |
| SiteId |
integer |
Oui |
L'identifiant du site. Vous pouvez appeler l'opération ListSites pour obtenir l'identifiant du site. |
123456789**** |
| AdaptiveRouting |
object |
Non |
La configuration de retour à l'origine du pool d'adresses inter-origines. |
true |
| FailoverAcrossPools |
boolean |
Non |
Indique si le basculement des pools d'adresses cross-origin doit être activé. Valeurs valides :
|
true |
| OriginLevelRetry |
boolean |
Non |
Indique s'il faut réessayer avec l'adresse IP suivante en cas d'échec du retour à l'origine et si le serveur d'origine est un nom de domaine qui se résout en plusieurs adresses IP. |
false |
| DefaultPools |
array |
Oui |
La liste des identifiants des pools d'adresses par défaut. |
123 |
|
integer |
Non |
L'identifiant du pool d'adresses par défaut. La valeur est un nombre entier. |
95223818027**** |
|
| FallbackPool |
integer |
Oui |
L'identifiant du pool d'adresses de secours. Le trafic est dirigé vers ce pool lorsque tous les autres pools sont indisponibles. |
123 |
| RandomSteering |
object |
Non |
La configuration de tourniquet pondéré qui contrôle le poids de répartition du trafic entre les différents pools d'adresses. |
123 |
| DefaultWeight |
integer |
Non |
Le poids de tourniquet par défaut appliqué à tous les pools d'adresses qui n'ont pas de poids spécifié individuellement. Valeurs valides : nombres entiers de 0 à 100. |
50 |
| PoolWeights |
object |
Non |
La configuration de poids pour chaque pool de serveurs backend. La clé est l'identifiant du pool et la valeur est le coefficient de poids. Le coefficient de poids représente la proportion relative de la répartition du trafic. |
|
|
integer |
Non |
Le poids d'un seul pool d'adresses d'origine. Valeurs valides : 0 à 100. Une valeur de 0 indique qu'aucun trafic n'est routé vers ce pool d'adresses d'origine. |
50 |
|
| Rules |
array<object> |
Non |
Les informations de règle. |
{ |
|
array<object> |
Non |
La structure de la règle. |
||
| RuleName |
string |
Non |
Le nom de la règle. Ce paramètre n'est pas requis lors de l'ajout d'une configuration globale. |
rule_1 |
| Rule |
string |
Non |
Le contenu de la règle utilisant des expressions conditionnelles pour faire correspondre les requêtes utilisateur. Ce paramètre n'est pas requis lors de l'ajout d'une configuration globale. Deux scénarios sont pris en charge :
|
(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 |
Non |
Le commutateur de règle. Ce paramètre n'est pas obligatoire lors de l'ajout d'une configuration globale. Valeurs valides :\n- on : Activé.\n- off : Désactivé. |
on |
| FixedResponse |
object |
Non |
Le contenu de la réponse fixe renvoyée lorsqu'une règle correspond. |
{"content_type": "application/json", "location": "www.example.com", "message_body": "Test Bonjour", "status_code": 0} |
| ContentType |
string |
Non |
Le champ Content-Type dans l'en-tête HTTP. |
application/octet-stream |
| Location |
string |
Non |
Le champ Location dans la réponse HTTP. |
http://www.example.com/index.html |
| MessageBody |
string |
Non |
La valeur du corps de la réponse. |
Hello World! |
| StatusCode |
integer |
Non |
Le code d'état de la réponse. |
200 |
| Overrides |
any |
Non |
La configuration d'équilibrage de charge qui remplace les champs correspondants dans la configuration de l'équilibreur de charge lorsqu'une règle correspond. Les champs spécifiés remplacent les champs correspondants dans la configuration de l'équilibreur de charge. |
{ |
| Sequence |
integer |
Non |
L'ordre d'exécution des règles. Ce paramètre est facultatif. S'il n'est pas spécifié, les règles sont exécutées dans l'ordre de la liste. S'il est spécifié, la valeur doit être un nombre entier positif. Une valeur plus élevée indique une priorité plus haute. |
1 |
| Terminates |
boolean |
Non |
Indique si l'exécution des règles suivantes doit être arrêtée. Valeurs valides :
|
true |
| SessionAffinity |
string |
Non |
Le mode de persistance de session. Valeurs valides :\n- off : désactivé.\n- ip : persistance de session basée sur l'IP.\n- cookie : persistance de session basée sur les cookies.\n- http_header : persistance de session basée sur les en-têtes HTTP. |
ip |
| SteeringPolicy |
string |
Oui |
La stratégie d'équilibrage de charge. Valeurs valides :
|
order |
| Description |
string |
Non |
La description de l'équilibreur de charge à des fins de gestion et d'identification. |
Description de l'équilibreur de charge |
| Ttl |
integer |
Non |
La valeur TTL, qui spécifie la durée de vie de l'enregistrement DNS. Valeur par défaut : 30 secondes. Valeurs valides : 10 à 600. |
300 |
| Monitor |
object |
Oui |
La configuration de la sonde pour les vérifications de l'état de santé. |
order |
| Type |
string |
Non |
Le type de protocole de surveillance utilisé pour les vérifications de l'état. La valeur off indique que les vérifications de l'état sont désactivées. Valeurs valides :
|
HTTP |
| Method |
string |
Non |
La méthode de requête du moniteur, telle que |
GET |
| Port |
integer |
Non |
Le port du serveur d'origine. |
1921 |
| Path |
string |
Non |
Le chemin de vérification de la sonde, tel que |
/health |
| Interval |
integer |
Non |
L'intervalle de surveillance en secondes, tel que |
60 |
| Timeout |
integer |
Non |
Le délai d'expiration de la vérification de l'état de santé. Unité : secondes. Valeurs valides : 1 à 10. |
5 |
| ExpectedCodes |
string |
Non |
Les codes d'état attendus, tels que |
200 |
| FollowRedirects |
boolean |
Non |
Indique s'il faut suivre les redirections. Valeurs valides :
|
true |
| ConsecutiveUp |
integer |
Non |
Le nombre de sondes réussies consécutives requises pour considérer la vérification comme réussie, tel que |
3 |
| ConsecutiveDown |
integer |
Non |
Le nombre de sondes échouées consécutives requises pour considérer la vérification comme échouée, tel que |
5 |
| Header |
any |
Non |
Les informations d'en-tête incluses dans la requête de sonde. Il s'agit de l'en-tête HTTP. |
{ |
| MonitoringRegion |
string |
Non |
La région où se trouvent les nœuds de sondage. Valeur par défaut : Global. Valeurs valides :\n\n- Global : mondial.\n- ChineseMainland : la Chine continentale.\n- OutsideChineseMainland : mondial (à l'exclusion de la Chine continentale). Valeurs valides :
|
Global |
| SubRegionPools |
any |
Non |
Les pools d'adresses mappés aux régions secondaires. Si plusieurs régions secondaires partagent le même ensemble de pools d'adresses, vous pouvez concaténer les noms des régions secondaires avec des virgules comme clé. |
{"AL,MO": [92298024898****],"CN-SH,CN-SX,CN-SC":[92304347804****,92843536908****]} |
| RegionPools |
any |
Non |
Les pools d'adresses mappés aux régions principales. |
{ |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
Schéma de la réponse. |
||
| RequestId |
string |
L'identifiant de la requête. |
EEEBE525-F576-1196-8DAF-2D70CA3F4D2F |
| Id |
integer |
L'identifiant de l'équilibreur de charge. |
99867648760**** |
Exemples
JSON format
{
"RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\n",
"Id": 0
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
Description |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is invalid. | The specified parameter is invalid. |
| 400 | LoadBalancerQuotaCheckFailed | Load balancer enable quota check failed. | Your current plan cannot use the load balancer related functions. If you need to use it, upgrade the plan. |
| 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. | 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. |
| 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. | 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. |
| 400 | LoadBalancerPolicyCheckFailed | Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again. | Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again. |
| 400 | LoadBalancerHealthDetectionQuotaCheckFailed | Your current plan does not allow you to configure the load balancer's health detection. Upgrade the plan and try again. | Your current plan does not allow you to configure the load balancer's health detection. Upgrade the plan and try again. |
| 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. | 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. |
| 400 | InternalException | Failed to call the service. Try again later or contact technical support. | Failed to call the service. Try again later or contact technical support. |
| 400 | Instance.NotOnline | Your plan is unavailable due to an overdue payment. Complete the payment first. | Your plan is unavailable due to an overdue payment. Complete the payment first. |
| 400 | MonitorExpectedBodyInvalid | Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule. | Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule. |
| 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. | 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. |
| 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. | The incoming monitor is carrying an illegal request header. Make sure that the number of request headers does not exceed 10, that each request header has a value length between 1 and 10, and that you must not use the User-Agent request header (which is reserved for internal specific scenarios). In addition, the total length of all request headers and their values must not exceed 6000 characters. Please check and correct the request header configuration and try again. |
| 400 | MonitorMethodNotSupport | Invalid HTTP method for the probe request. Valid values are GET and HEAD. | Invalid HTTP method for the probe request. Valid values are GET and 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. | 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. |
| 400 | MonitorPortNotSupport | Invalid probe port. Specify a valid port from 1 to 65535 for the probe request. Then, try again. | The incoming monitor listening port is not supported. The port value range is [1-65535]. Please ensure that the port is within the value range and try again. |
| 400 | MonitorRetriesInvalid | Invalid number of probe retries. Specify an integer from 0 to 5. Then, try again. | Invalid number of probe retries. Specify an integer from 0 to 5. Then try again. |
| 400 | MonitorTimeoutInvalid | Invalid timeout for the probe. Valid values are 1 to 10. | Invalid timeout for the probe. Valid values are 1 to 10. |
| 400 | MonitorTypeNotSupport | Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP. | Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP. |
| 400 | OriginPoolNotExist | The specified origin pool does not exist or does not belong to your account or website. Check and try again. | The specified origin pool does not exist or does not belong to your account or website. Check and try again. |
| 400 | LoadBalancerNameConflict | The load balancer name or the hostname for the origin pool already exists. Try again with a unique name. | The load balancer name or the hostname for the origin pool already exists. Try again with a unique name. |
| 400 | LockFailed | The system is handling requests you previously submitted. Try again later. | The system is handling requests you previously submitted. Try again later. |
| 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. | 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. |
| 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. | 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. |
| 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. | Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document. |
| 400 | InstanceNotExist | The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account. | The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account. |
| 403 | QuotaExceeded | The quota is exceeded. | The quota is exceeded. |
| 404 | SiteNotFound | The website does not exist or does not belong to you. | The website does not exist or does not belong to you. |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.