Activez la fonctionnalité de démarrage progressif pour les groupes de serveurs dans Application Load Balancer (ALB). Cette fonctionnalité augmente graduellement le nombre de requêtes envoyées aux nouveaux serveurs backend ajoutés, évitant ainsi qu'ils ne soient submergés par des pics soudains de trafic et leur laissant le temps de monter en charge.
Cas d'utilisation
Dans les scénarios à fort trafic, lorsque vous ajoutez manuellement ou automatiquement des serveurs backend, ALB commence à acheminer les requêtes vers ces serveurs selon leurs poids configurés dès qu'ils passent les tests de santé. Cela peut provoquer un pic soudain de trafic qui surcharge les nouveaux serveurs, entraînant une utilisation élevée du processeur ou de la mémoire et générant de nombreuses erreurs d'accès.
Pour éviter cela, activez le démarrage progressif pour un groupe de serveurs. ALB achemine alors le trafic vers les nouveaux serveurs backend de manière progressive, prévenant ainsi les pics soudains de trafic.
Cette rubrique s'appuie sur le scénario suivant : une instance ALB orientée Internet est déployée dans la région Chine (Hangzhou). L'instance dispose d'un écouteur HTTP et d'un serveur backend, ECS01. Pour gérer davantage de trafic, un deuxième serveur, ECS02, est ajouté. En activant le démarrage progressif, les requêtes sont augmentées graduellement vers ECS02, ce qui évite sa surcharge.
Notes d'utilisation
Les serveurs backend existants et sains d'un groupe de serveurs n'entrent pas automatiquement en mode de démarrage progressif. Le premier serveur backend ajouté à un groupe de serveurs vide n'entre pas non plus en mode de démarrage progressif. Un nouveau serveur backend entre en mode de démarrage progressif uniquement lorsqu'il est ajouté à un groupe de serveurs comportant au moins un serveur backend sain qui n'est pas en mode de démarrage progressif.
Si un serveur backend en mode de démarrage progressif est supprimé, il quitte ce mode. Si le même serveur backend est ajouté à nouveau, il réintègre le mode de démarrage progressif après avoir passé le test de santé.
Un serveur backend en mode de démarrage progressif quitte ce mode si son test de santé échoue. Il réintègre le mode de démarrage progressif une fois que l'état de son test de santé redevient normal.
Lorsque les tests de santé sont activés, le démarrage progressif prend effet après qu'un serveur backend a passé son test de santé. Lorsque les tests de santé sont désactivés, le démarrage progressif prend effet immédiatement.
Prérequis
Vous avez créé une instance ALB standard et un groupe de serveurs. Pour plus d'informations, consultez Créer et gérer une instance ALB et Créer et gérer un groupe de serveurs.
Vous avez configuré un écouteur pour l'instance ALB et associé l'écouteur au groupe de serveurs. Pour plus d'informations, consultez Ajouter un écouteur HTTP.
Vous avez créé un journal d'accès pour l'instance ALB. Pour plus d'informations, consultez Créer un journal d'accès.
-
Cette rubrique utilise deux instances ECS :
ECS01 et ECS02 sont utilisées comme serveurs backend, chaque instance exécutant un service Nginx différent. Pour plus d'informations, consultez Créer une instance à l'aide de l'assistant.
Les exemples suivants montrent comment déployer les applications de test sur ECS01 et ECS02 :
-
Vous avez ajouté l'instance ECS01 au groupe de serveurs et le service sur ECS01 est accessible aux clients. Pour plus d'informations, consultez Implémenter rapidement l'équilibrage de charge pour les services IPv4 à l'aide d'une instance ALB et Implémenter rapidement l'équilibrage de charge pour les services IPv6 à l'aide d'une instance ALB.
Étape 1 : Activer le démarrage progressif
Cette étape montre comment activer le démarrage progressif pour un groupe de serveurs existant. Vous pouvez également activer cette fonctionnalité lors de la création d'un groupe de serveurs.
Connectez-vous à la console ALB.
Dans la barre de navigation supérieure, sélectionnez la région où les serveurs backend sont déployés. Cette rubrique utilise Chine (Hangzhou).
Dans le volet de navigation de gauche, choisissez .
Sur la page Server Groups, recherchez le groupe de serveurs cible et cliquez sur son ID.
Sous l'onglet Details, dans la section Basic Information, cliquez sur Modify Basic Information.
Dans la boîte de dialogue Modify Basic Information, cliquez sur Advanced Settings, puis activez l'interrupteur Slow Start.
-
Définissez la valeur de Slow Start Duration sur 30 secondes et cliquez sur Save.
RemarqueCela signifie qu'ALB augmente progressivement le trafic vers le nouveau serveur backend sur une période de 30 secondes.
Étape 2 : Simuler le trafic client à l'aide de wrk
Cette rubrique utilise un client exécutant la version 64 bits d'Alibaba Cloud Linux 3.2104 à titre d'exemple. Les étapes d'installation de l'outil wrk peuvent varier selon le système d'exploitation.
-
Connectez-vous au client et ouvrez l'interface de ligne de commande. Exécutez les commandes suivantes dans l'ordre pour installer l'outil wrk.
yum -y install git make gcc git clone https://github.com/wg/wrk.git yum install unzip cd wrk make -
Exécutez la commande suivante pour effectuer un test de charge sur les services des serveurs backend ALB.
./wrk -c 1000 -d 6000s -t 3 -H “Connection:Close” http://<ALB-domain-name>Paramètres :
-c : connexions. Nombre de connexions simultanées maintenues pour chaque thread.
-d : durée. Durée du test.
sindique les secondes.-t : threads. Nombre de threads à utiliser, simulant des utilisateurs simultanés.
-H : en-tête. En-tête HTTP à ajouter à chaque requête. Par exemple,
-H “Connection:Close”ajoute un en-tête indiquant une connexion non persistante.
Étape 3 : Ajouter le serveur backend ECS02
Veillez à ajouter le serveur backend au groupe de serveurs avant la fin du test de charge.
Connectez-vous à la console ALB.
Dans la barre de navigation supérieure, sélectionnez la région où l'instance ALB est déployée.
Dans le volet de navigation de gauche, choisissez .
Sur la page Server Groups, recherchez le groupe de serveurs cible, puis cliquez sur Modify Backend Server dans la colonne Actions.
Sous l'onglet Backend Servers, cliquez sur Add Backend Server.
Dans le panneau Add Backend Server, sélectionnez l'instance ECS02 et cliquez sur Next.
Dans l'assistant Ports/Weights, définissez le port de l'instance ECS02 sur 80, conservez le poids par défaut de 100, puis cliquez sur OK.
Étape 4 : Vérifier le résultat
Connectez-vous à la console ALB.
Dans la barre de navigation supérieure, sélectionnez la région où l'instance ALB est déployée.
Sur la page Instances, cliquez sur l'ID de l'instance cible.
-
Cliquez sur l'onglet Access Logs. Dans la section Basic Information, cliquez sur le lien situé à côté de Simple Log Service pour ouvrir la console Log Service (SLS). La figure ci-dessous illustre comment consulter le trafic sur le nouveau serveur backend, ECS02.
Le journal d'accès montre que le trafic est progressivement distribué au nouveau serveur backend ECS02 pendant la période de démarrage progressif.

N°
Description
①
Saisissez la requête suivante pour afficher le trafic acheminé vers le nouveau serveur backend, ECS02.
alb-80ri6****** and upstream_addr : "10.0.2.51:80"Les champs sont décrits comme suit :
-
alb-80ri6spécifie l'ID de l'instance ALB. -
upstream_addrspécifie l'adresse IP et le port du serveur backend. Dans cet exemple, saisissez l'adresse IP privée et le port d'ECS02.
②
Sélectionnez une plage de temps pour la requête. Dans cet exemple,
1 Minuteest sélectionné.③
Cliquez sur Search & Analyze pour afficher le trafic sur le nouveau serveur backend, ECS02.
-
Documents connexes
Pour activer le démarrage progressif lors de la création d'un groupe de serveurs, consultez Créer et gérer un groupe de serveurs.
Pour retirer gracieusement un serveur backend du service, vous pouvez activer la vidange des connexions. Pour plus d'informations, consultez Configurer la vidange des connexions.
Pour interroger et analyser les journaux d'accès en temps réel, consultez Démarrage rapide pour l'interrogation et l'analyse.