Tous les produits
Search
Centre de documentation

:CreateServerGroup

Dernière mise à jour :Oct 09, 2026

Crée un groupe de serveurs dans une région spécifiée.

Description de l'opération

L'opération CreateServerGroup est asynchrone. Le système renvoie un identifiant de requête, mais le groupe de serveurs de l'équilibreur de charge réseau (NLB) n'est pas encore créé et la tâche de création s'exécute toujours en arrière-plan. Vous pouvez appeler l'opération GetJobStatus pour interroger l'état de création du groupe de serveurs :

  • Si l'état de la tâche est Succeeded, le groupe de serveurs est créé.

  • Si l'état de la tâche est Processing, le groupe de serveurs est en cours de création. Dans cet état, vous pouvez uniquement effectuer des opérations de requête et ne pouvez pas effectuer d'autres opérations.

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

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

nlb:CreateServerGroup

create

*ServerGroup.

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

*VPC.

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

Aucune Aucune

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

ServerGroupType

string

Non

Le type de groupe de serveurs. Valeurs valides :

  • Instance (par défaut) : type serveur. Ce type de groupe de serveurs prend en charge l'ajout d'instances Ecs, Eni et Eci.

  • Ip : type adresse IP. Ce type de groupe de serveurs prend en charge l'ajout direct de serveurs back-end par adresse IP.

Instance

ServerGroupName

string

Oui

Le nom du groupe de serveurs.

Le nom doit comporter de 2 à 128 caractères et doit commencer par une lettre ou un caractère chinois. Il peut contenir des chiffres, des points (.), des traits de soulignement (_) et des traits d'union (-).

NLB_ServerGroup

AddressIPVersion

string

Non

La version du protocole. Valeurs valides :

  • ipv4 (par défaut) : IPv4.

  • DualStack : double pile.

ipv4

IpVersionAffinityMode

string

Non

La stratégie de planification du trafic en mode double pile. Valeurs valides :

  • NonAffinity (par défaut) : mode sans affinité. Le trafic est transféré vers les serveurs back-end sains en fonction de l'algorithme de planification, quelle que soit la version du protocole IP de la source.

  • Affinity : mode avec affinité. Le trafic est transféré en fonction de la version du protocole IP de la source de la requête. Les requêtes IPv4 sont transférées uniquement vers les serveurs back-end IPv4, et les requêtes IPv6 sont transférées uniquement vers les serveurs back-end IPv6.

Remarque

Ce paramètre prend effet uniquement lorsque AddressIPVersion est défini sur DualStack.

Affinity

Protocol

string

Non

Le protocole de communication utilisé pour transférer le trafic vers les serveurs back-end. Valeurs valides :

  • TCP (par défaut)

  • UDP

  • TCP_UDP

Remarque
  • Si ce paramètre est défini sur UDP, le groupe de serveurs peut être associé uniquement à des écouteurs UDP.

  • Si ce paramètre est défini sur TCP et que PreserveClientIpEnabled est défini sur true, le groupe de serveurs peut être associé uniquement à des écouteurs TCP.

  • Si ce paramètre est défini sur TCP et que PreserveClientIpEnabled est défini sur false, le groupe de serveurs peut être associé à des écouteurs TCPSSL et TCP.

  • Si ce paramètre est défini sur TCP_UDP, le groupe de serveurs peut être associé à des écouteurs TCP et UDP.

TCP

VpcId

string

Oui

L'identifiant du VPC où le groupe de serveurs est déployé.

Remarque

Si ServerGroupType est défini sur Instance, seuls les serveurs de ce VPC peuvent être ajoutés au groupe de serveurs.

vpc-bp15zckdt37pq72zv****

AnyPortEnabled

boolean

Non

Indique si le transfert sur tous les ports doit être activé. Valeurs valides :

  • true : active le transfert sur tous les ports.

  • false (par défaut) : désactive le transfert sur tous les ports.

false

ConnectionDrainEnabled

boolean

Non

Indique si le vidage des connexions doit être activé. Valeurs valides :

  • true : active le vidage des connexions.

  • false (par défaut) : désactive le vidage des connexions.

false

ConnectionDrainTimeout

integer

Non

Le délai d'expiration pour le vidage des connexions. Unité : secondes. Valeurs valides : 0 à 900.

10

Scheduler

string

Non

L'algorithme de planification. Valeurs valides :

  • Wrr (par défaut) : tourniquet pondéré. Les serveurs back-end avec des poids plus élevés ont plus de chances d'être interrogés.

  • Wlc : connexions minimales pondérées. En plus du poids de chaque serveur back-end, la charge réelle (nombre de connexions) du serveur back-end est également prise en compte. Si les poids sont identiques, les serveurs back-end avec le moins de connexions actuelles ont plus de chances d'être interrogés.

  • rr : tourniquet. Les requêtes externes sont distribuées aux serveurs back-end en séquence.

  • sch : hachage d'IP source. Les requêtes provenant de la même adresse IP source sont planifiées vers le même serveur back-end.

  • tch : hachage de quadruplet. Hachage cohérent basé sur le quadruplet (adresse IP source, adresse IP de destination, port source et port de destination). Les requêtes du même flux sont planifiées vers le même serveur back-end.

  • qch : hachage d'identifiant QUIC. Les requêtes avec le même identifiant QUIC sont planifiées vers le même serveur back-end.

Remarque

Le hachage d'identifiant QUIC est pris en charge uniquement lorsque le protocole back-end est UDP.

Wrr

PreserveClientIpEnabled

boolean

Non

Indique si la préservation de l'adresse IP du client doit être activée. Valeurs valides :

  • true (par défaut) : active la préservation de l'adresse IP du client.

  • false : désactive la préservation de l'adresse IP du client.

Remarque

Si Protocol est défini sur TCP et que ce paramètre est défini sur true, le groupe de serveurs ne peut pas être associé à des écouteurs TCPSSL.

true

HealthCheckConfig

object

Non

La configuration du bilan de santé.

HealthCheckConnectPort

integer

Non

Le port du serveur back-end utilisé pour les bilans de santé.

Valeurs valides : 0 à 65535.

Valeur par défaut : 0. Cette valeur indique que le port du serveur back-end est utilisé pour les bilans de santé.

0

HealthCheckConnectTimeout

integer

Non

Le délai d'expiration maximal pour une réponse de bilan de santé. Unité : secondes. Valeurs valides : 1 à 300. Valeur par défaut : 5.

5

HealthCheckDomain

string

Non

Le nom de domaine utilisé pour les bilans de santé. Valeurs valides :

  • $SERVER_IP : l'adresse IP interne du serveur back-end.

  • domain : un nom de domaine spécifié. Le nom de domaine doit comporter de 1 à 80 caractères et ne peut contenir que des lettres, des chiffres, des traits d'union (-) et des points (.).

Remarque

Ce paramètre prend effet uniquement lorsque HealthCheckType est défini sur HTTP.

$SERVER_IP

HealthCheckEnabled

boolean

Non

Indique si les bilans de santé doivent être activés. Valeurs valides :

  • true (par défaut) : active les bilans de santé.

  • false : désactive les bilans de santé.

true

HealthCheckExp

string

Non

La chaîne de requête dans la requête pour les bilans de santé des écouteurs UDP. La chaîne ne peut contenir que des lettres et des chiffres, et peut comporter jusqu'à 512 caractères.

ok

HealthCheckHttpCode

array

Non

Les codes d'état HTTP pour les réponses saines. Séparez plusieurs codes d'état par des virgules (,). Valeurs valides : http_2xx (par défaut), http_3xx, http_4xx et http_5xx.

Remarque

Ce paramètre prend effet uniquement lorsque HealthCheckType est défini sur HTTP.

string

Non

Les codes d'état HTTP pour les réponses saines. Séparez plusieurs codes d'état par des virgules (,). Valeurs valides : http_2xx (par défaut), http_3xx, http_4xx et http_5xx.

Remarque

Ce paramètre prend effet uniquement lorsque HealthCheckType est défini sur HTTP.

http_2xx

HealthCheckHttpVersion

string

Non

La version du protocole HTTP pour les bilans de santé. Valeurs valides : HTTP1.0 (par défaut) et HTTP1.1.

Remarque

Ce paramètre prend effet uniquement lorsque HealthCheckType est défini sur HTTP.

HTTP1.0

HealthCheckInterval

integer

Non

L'intervalle entre deux bilans de santé consécutifs. Unité : secondes. Valeur par défaut : 5.

  • Si HealthCheckType est défini sur TCP ou HTTP, les valeurs valides sont de 1 à 50.

  • Si HealthCheckType est défini sur UDP, les valeurs valides sont de 1 à 300. Vous devez définir l'intervalle de manière à ce qu'il soit supérieur ou égal au délai d'expiration de la réponse pour garantir que les réponses de sonde UDP ne soient pas jugées à tort comme sans réponse en raison d'un délai d'expiration.

5

HealthCheckReq

string

Non

La chaîne de requête dans la requête pour les bilans de santé des écouteurs UDP. La chaîne ne peut contenir que des lettres et des chiffres, et peut comporter jusqu'à 512 caractères.

hello

HealthCheckType

string

Non

Le protocole utilisé pour les bilans de santé. Valeurs valides :

  • TCP

  • HTTP

  • UDP

TCP

HealthCheckUrl

string

Non

Le chemin du bilan de santé.

Le chemin doit comporter de 1 à 80 caractères et ne peut contenir que des lettres, des chiffres et les caractères spéciaux suivants : -/.%?#&. Il doit commencer par une barre oblique (/).

Remarque

Ce paramètre prend effet uniquement lorsque HealthCheckType est défini sur HTTP.

/test/index.html

HealthyThreshold

integer

Non

Le nombre de bilans de santé réussis consécutifs qui doivent se produire avant que l'état du bilan de santé d'un serveur back-end ne passe de fail à success.

Valeurs valides : 2 à 10.

Valeur par défaut : 2.

2

HttpCheckMethod

string

Non

La méthode HTTP utilisée pour les bilans de santé. Valeurs valides : GET (par défaut) et HEAD.

Remarque

Ce paramètre prend effet uniquement lorsque HealthCheckType est défini sur HTTP.

GET

UnhealthyThreshold

integer

Non

Le nombre de bilans de santé échoués consécutifs qui doivent se produire avant que l'état du bilan de santé d'un serveur back-end ne passe de success à fail.

Valeurs valides : 2 à 10.

Valeur par défaut : 2.

2

ResourceGroupId

string

Non

L'identifiant du groupe de ressources auquel le groupe de serveurs appartient.

rg-atstuj3rtop****

DryRun

boolean

Non

Indique si la requête doit uniquement faire l'objet d'une pré-vérification. Valeurs valides :

  • true : pré-vérifie la requête sans créer le groupe de serveurs. Le système vérifie si les paramètres requis sont spécifiés, le format de la requête et les limites du service. Si la requête échoue à la pré-vérification, l'erreur correspondante est renvoyée. Si la requête réussit la pré-vérification, le code d'erreur DryRunOperation est renvoyé.

  • false (par défaut) : envoie la requête. Si la requête réussit la pré-vérification, un code d'état HTTP 2xx est renvoyé et l'opération est effectuée.

true

ClientToken

string

Non

Le jeton client utilisé pour garantir l'idempotence de la requête.

Vous pouvez utiliser le client pour générer la valeur, mais vous devez vous assurer qu'elle est unique parmi les différentes requêtes. Le jeton client ne peut contenir que des caractères ASCII.

Remarque

Si vous ne spécifiez pas ce paramètre, le système utilise automatiquement le RequestId de la requête API comme ClientToken. Le RequestId de chaque requête API est unique.

123e4567-e89b-12d3-a456-426655440000

RegionId

string

Non

L'identifiant de la région de l'instance d'équilibreur de charge réseau (NLB).

Vous pouvez appeler l'opération DescribeRegions pour interroger la liste des régions la plus récente.

cn-hangzhou

Tag

array<object>

Non

La liste des balises.

object

Non

La balise.

Key

string

Non

La clé de la balise. La clé de la balise peut comporter jusqu'à 64 caractères et ne peut pas commencer par aliyun ou acs:. Elle ne peut pas contenir http:// ou https://. Elle peut contenir des lettres, des chiffres, des traits de soulignement (_), des points (.), des deux-points (:), des barres obliques (/), des signes égal (=), des signes plus (+), des traits d'union (-) et des arobases (@).

Vous pouvez ajouter jusqu'à 20 balises en un seul appel.

env

Value

string

Non

La valeur de la balise. La valeur de la balise peut comporter jusqu'à 128 caractères et ne peut pas commencer par aliyun ou acs:. Elle ne peut pas contenir http:// ou https://. Elle peut contenir des lettres, des chiffres, des traits de soulignement (_), des points (.), des deux-points (:), des barres obliques (/), des signes égal (=), des signes plus (+), des traits d'union (-) et des arobases (@).

Vous pouvez ajouter jusqu'à 20 balises en un seul appel.

product

Éléments de réponse

Élément

Type

Description

Exemple

object

Le groupe de serveurs.

JobId

string

L'identifiant de la tâche asynchrone.

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

RequestId

string

L'identifiant de la requête.

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

ServerGroupId

string

L'identifiant du groupe de serveurs.

sgp-atstuj3rtoptyui****

Exemples

JSON format

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

Codes d'erreur

Code de statut HTTP

Code d'erreur

Message d'erreur

Description

400 IllegalParam.AnyPortServerGroupConflictWithHealthCheckConfig The param of AnyPortServerGroupConflictWithHealthCheckConfig is illegal. La configuration du groupe de serveurs est en conflit avec les paramètres de vérification de l'état. Vérifiez les paramètres de configuration.
400 IllegalParamFormat.ParseCreateRsPoolRequestFailed The param format of CreateRsPoolRequest is illegal. Le format du paramètre CreateRsPoolRequestFailed n'est pas valide. Consultez la référence de l'API pour vérifier les paramètres de la requête.
400 IllegalParam.PreserveClientIpSwitch The param of PreserveClientIpSwitch is illegal.
400 OperationDenied.VpcNotSupportIpv6 The operation is not allowed because of VpcNotSupportIpv6. Le VPC spécifié ne prend pas en charge IPv6.
400 IllegalParam.healthCheckDomain The parameter of healthCheckConfig.healthCheckDomain is illegal. Le healthCheckDomain dans la configuration de la vérification de l'état n'est pas valide. Vérifiez les paramètres d'entrée.
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. L'URL de vérification de l'état utilisée dans les paramètres de vérification de l'état n'est pas valide.
400 IllegalParam.ServerGroupName The param of ServerGroupName is illegal. Le paramètre ServerGroupName n'est pas valide.
400 DryRunOperation Request validation has been passed with DryRun flag set. La requête DryRun a réussi la validation.
400 MissingParam.%s The parameter of %s is missing. Le paramètre %s est manquant. Vérifiez les paramètres d'entrée.
400 IllegalParam.ConnectionDrainTimeout The param of ConnectionDrainTimeout is illegal. Le paramètre ConnectionDrainTimeout n'est pas valide. Vérifiez les paramètres d'entrée.
400 IllegalParam The param of %s is illegal. Les paramètres d'entrée contiennent des valeurs non valides. Vérifiez les données d'entrée.
400 SystemBusy System is busy, please try again later. Le système est occupé. Réessayez ultérieurement.
400 QuotaExceeded.QuotaInsufficient The quota of %s is exceeded, usage %s/%s. Le quota est insuffisant. Utilisation : %s/%s. Modifiez le quota dans Quota Center.
403 Forbidden.NoPermission Authentication is failed for NoPermission. L'authentification a échoué car le compte ne dispose pas des autorisations requises.
404 ResourceNotFound.Vpc The specified resource of Vpc is not found. La ressource VPC spécifiée est introuvable. Vérifiez les paramètres d'entrée.
404 ResourceNotFound.ResourceGroup The param of resourceGroup not existed. Le groupe de ressources n'existe pas.

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.