Crée un groupe de serveurs pour une instance Network Load Balancer (NLB).
Le paramètre protocol spécifie le protocole utilisé pour transférer les requêtes vers les serveurs backend.
Les instances NLB prennent uniquement en charge les groupes de serveurs backend utilisant TCP, UDP ou SSL sur TCP.
-
L'opération CreateServerGroup est asynchrone. Après l'envoi de la requête, le système renvoie un ID de requête même si l'opération est toujours en cours d'exécution en arrière-plan. Vous pouvez appeler l'opération GetJobStatus pour interroger l'état de création du groupe de serveurs.
Si la tâche est dans l'état Succeeded, le groupe de serveurs est créé.
Si la tâche est dans l'état Processing, le groupe de serveurs est en cours de création.
Débogage
OpenAPI Explorer calcule automatiquement la valeur de signature. Pour plus de commodité, nous vous recommandons d'appeler cette opération dans OpenAPI Explorer. OpenAPI Explorer génère dynamiquement l'exemple de code de l'opération pour différents SDK.
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | CreateServerGroup | L'opération que vous souhaitez effectuer. Définissez la valeur sur CreateServerGroup. |
| ServerGroupType | String | Non | Instance | Le type du groupe de serveurs. Valeurs valides :
|
| ServerGroupName | String | Oui | NLB_ServerGroup | Le nom du groupe de serveurs. Le nom doit comporter entre 2 et 128 caractères et peut contenir des lettres, des chiffres, des points (.), des traits de soulignement (_) et des traits d'union (-). Le nom doit commencer par une lettre. |
| AddressIPVersion | String | Non | ipv4 | La version du protocole. Valeurs valides :
|
| Protocol | String | Non | TCP | Le protocole utilisé pour transférer les requêtes vers les serveurs backend. Valeurs valides :
|
| VpcId | String | Oui | vpc-bp15zckdt37pq72zv**** | L'ID du VPC auquel appartient le groupe de serveurs. Remarque Si ServerGroupType est défini sur Instance, seuls les serveurs du VPC spécifié peuvent être ajoutés au groupe de serveurs. |
| AnyPortEnabled | Boolean | Non | false | Indique si le transfert tous ports est activé. Valeurs valides :
|
| ConnectionDrainEnabled | Boolean | Non | false | Indique si la vidange de connexion est activée. Valeurs valides :
|
| ConnectionDrainTimeout | Integer | Non | 10 | Le délai d'expiration de la vidange de connexion. Unité : secondes. Valeurs valides : 10 à 900. |
| Scheduler | String | Non | Wrr | L'algorithme de planification. Valeurs valides :
|
| PreserveClientIpEnabled | Boolean | Non | false | Indique si la préservation de l'adresse IP du client est activée. Valeurs valides :
|
| HealthCheckConfig.HealthCheckEnabled | Boolean | Non | true | Indique si la fonction de contrôle d'intégrité est activée. Valeurs valides :
|
| HealthCheckConfig.HealthCheckType | String | Non | TCP | Le protocole utilisé pour les contrôles d'intégrité. Valeurs valides : TCP (par défaut) et HTTP. |
| HealthCheckConfig.HealthCheckConnectPort | Integer | Non | 0 | Le port backend utilisé pour les contrôles d'intégrité. Valeurs valides : 0 à 65535. Valeur par défaut : 0. Si vous définissez la valeur sur 0, le port d'un serveur backend est utilisé pour les contrôles d'intégrité. |
| HealthCheckConfig.HealthyThreshold | Integer | Non | 2 | Le nombre de fois qu'un serveur backend non sain doit réussir consécutivement les contrôles d'intégrité avant d'être déclaré sain. Dans ce cas, l'état d'intégrité passe de fail à success. Valeurs valides : 2 à 10. Valeur par défaut : 2. |
| HealthCheckConfig.UnhealthyThreshold | Integer | Non | 2 | Le nombre de fois qu'un serveur backend sain doit échouer consécutivement aux contrôles d'intégrité avant d'être déclaré non sain. Dans ce cas, l'état d'intégrité passe de success à fail. Valeurs valides : 2 à 10. Valeur par défaut : 2. |
| HealthCheckConfig.HealthCheckConnectTimeout | Integer | Non | 5 | Le délai d'expiration maximal d'une réponse de contrôle d'intégrité. Unité : secondes. Valeurs valides : 1 à 300. Valeur par défaut : 5. |
| HealthCheckConfig.HealthCheckInterval | Integer | Non | 10 | L'intervalle entre deux contrôles d'intégrité consécutifs. Unité : secondes. Valeurs valides : 5 à 50. Valeur par défaut : 10. |
| HealthCheckConfig.HealthCheckDomain | String | Non | $SERVER_IP | Le nom de domaine utilisé pour les contrôles d'intégrité. Valeurs valides :
Remarque Ce paramètre prend effet uniquement lorsque vous définissez HealthCheckType sur HTTP. |
| HealthCheckConfig.HealthCheckUrl | String | Non | /test/index.html | Le chemin vers lequel les requêtes de contrôle d'intégrité sont envoyées. Le chemin doit comporter entre 1 et 80 caractères et ne peut contenir que des lettres, des chiffres et les caractères spéciaux suivants : Remarque Ce paramètre prend effet uniquement lorsque vous définissez HealthCheckType sur HTTP. |
| HealthCheckConfig.HealthCheckHttpCode.N | String | Non | http_2xx | Les codes d'état HTTP à renvoyer pour les contrôles d'intégrité. Séparez plusieurs codes d'état HTTP 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 vous définissez HealthCheckType sur HTTP. |
| HealthCheckConfig.HttpCheckMethod | String | Non | GET | La méthode HTTP utilisée pour les contrôles d'intégrité. Valeurs valides : GET (par défaut) et HEAD. Remarque Ce paramètre prend effet uniquement lorsque vous définissez HealthCheckType sur HTTP. |
| ResourceGroupId | String | Non | rg-atstuj3rtop**** | L'ID du groupe de ressources auquel appartient le groupe de serveurs. |
| DryRun | Boolean | Non | true | Indique s'il faut effectuer une simulation. Valeurs valides :
|
| ClientToken | String | Non | 123e4567-e89b-12d3-a456-426655440000 | 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 que la valeur est unique parmi différentes requêtes. Le jeton ne peut contenir que des caractères ASCII. Remarque Si vous ne définissez pas ce paramètre, le système utilise automatiquement la valeur de RequestId comme valeur de ClientToken. La valeur de RequestId peut être différente pour chaque requête API. |
| RegionId | String | Non | cn-hangzhou | L'ID de la région où l'instance NLB est déployée. Vous pouvez appeler l'opération DescribeRegions pour interroger la liste des régions la plus récente. |
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| RequestId | String | 54B48E3D-DF70-471B-AA93-08E683A1B45 |
L'ID de la requête. |
| ServerGroupId | String | sgp-atstuj3rtoptyui**** |
L'ID du groupe de serveurs. |
| JobId | String | 72dcd26b-f12d-4c27-b3af-18f6aed5**** |
L'ID de la tâche asynchrone. |
Exemples
Exemples de requêtes
http(s)://[Endpoint]/?Action=CreateServerGroup
&ServerGroupType=Instance
&ServerGroupName=NLB_ServerGroup
&AddressIPVersion=ipv4
&Protocol=TCP
&VpcId=vpc-bp15zckdt37pq72zv****
&AnyPortEnabled=false
&ConnectionDrainEnabled=false
&ConnectionDrainTimeout=10
&Scheduler=Wrr
&PreserveClientIpEnabled=false
&HealthCheckConfig={"HealthCheckEnabled":true,"HealthCheckType":"TCP","HealthCheckConnectPort":0,"HealthyThreshold":2,"UnhealthyThreshold":2,"HealthCheckConnectTimeout":5,"HealthCheckInterval":10,"HealthCheckDomain":"$SERVER_IP","HealthCheckUrl":"/test/index.html","HealthCheckHttpCode":["http_2xx"],"HttpCheckMethod":"GET"}
&ResourceGroupId=rg-atstuj3rtop****
&DryRun=true
&ClientToken=123e4567-e89b-12d3-a456-426655440000
&RegionId=cn-hangzhou
&Common request parameters
Exemples de réponses réussies
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateServerGroupResponse>
<RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>
<ServerGroupId>sgp-atstuj3rtoptyui****</ServerGroupId>
<JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>
</CreateServerGroupResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "54B48E3D-DF70-471B-AA93-08E683A1B45",
"ServerGroupId" : "sgp-atstuj3rtoptyui****",
"JobId" : "72dcd26b-f12d-4c27-b3af-18f6aed5****"
}
Codes d'erreur
Pour obtenir la liste des codes d'erreur, consultez les Codes d'erreur de service.