Étape 8 – Test de stress et visualisation des changements dans le CES
Dans cette dernière étape, nous allons tester notre infrastructure pour vérifier qu’elle sait s’adapter automatiquement à la charge à laquelle elle est soumise.
Pour cela, nous allons créer un environnement de test à partir duquel nous allons envoyer plusieurs millions de requêtes à notre serveur web et observer son comportement. Cet environnement sera constitué d’un nouveau VPC et d’un nouveau sous-réseau ainsi que d’une machine virtuelle (ecs-bench) connectée à internet.
8.1. Créer l’environnement de test
Pour créer le VPC et le sous-réseau, entrez les informations suivantes :
Nom(VPC) : bench-vpc
VPC CIDR : 192.168.0.0/24
AZ : eu-west-0a
Nom : bench-subnet
CIDR : 192.168.0.0/24
Passerelle : 192.168.0.1
DHCP : Activé
Pour la création de l’ECS, entrez les informations suivantes :
Informations de base
Nom de l’ECS : ecs-bench
AZ : eu-west-0a
Type d’ECS : Général purpose
vCPU : 4vCPU
Mémoire : 16GB
Type d’image : Image publique
Image : Ubuntu, OBS_U_Ubuntu_16.04(40GB)
Disque : Disque système, Common I/O 40GB
Réseau
VPC : bench-vpc
Groupe de sécurité : sg-bench. Ce groupe de sécurité doit autoriser l’entrée de paquets TCP sur le port 22 depuis votre station de travail, et autoriser tous les paquets sortants.
NIC : NIC primaire : bench-subnet (192.168.0.0./24)
EIP : Attribution automatique
Bande passante : 1000Mbit/s
Connexion
Paire de clés : Keypair-webKeyPair (cette clé a été créée précédemment)
Injection des données comme fichier
– Sélectionner le fichier Bench.sh ( en annexe)
Quantité : 1
8.2. Test d’alarme et mise à l’échelle automatique
L’objectif de cette étape est de pouvoir stresser le serveur de manière à ce que :
- L’alarme du seuil de 50% du CPU soit levée, et que la notification par mail soit envoyée ;
- La fonction de mise à l’échelle automatique soit déclenchée.
Connectez-vous à l’ECS ecs-bench en ssh
Maintenant, nous pouvons exécuter la commande pour stresser le serveur web. Attention ! Notez que cette commande peut générer des coûts supplémentaires car le trafic sortant est facturé au-delà d’une certaine limite.
– while (true) ; do ab -k -r -n 100000000 -c 1000 http://<ELB EIP>/index.html ; done
En vous connectant à l’ECS ecs-web et en exécutant la commande top, vous pouvez constater que le CPU est à 100%, ce qui déclenchera l’alarme que nous avons créée à l’étape 7.3. Création d’une alarme avec notification. Attention ! L’intervalle de temps entre chaque évaluation ayant été fixé à 5 minutes, l’alarme ne sera pas forcément déclenchée immédiatement.
Lorsque l’alarme sera déclenchée, vous recevrez un courriel de notification :
Nous allons maintenant vérifier que la mise à l’échelle automatique a été déclenchée. Allez dans le CES et voyez la vue que nous avons créée à l’étape 7.2.
Sur cette vue, le graphique qui nous intéresse est 1ère ligne, 2ème colonne), agrandi ci-dessous.
Vous pouvez voir que le nombre d’ECS est passé de 1 à 3 pour absorber la charge.
En regardant les instances associées à as-group-advanced, nous vérifions également qu’il y a beaucoup de nouvelles instances ECS.
En rafraîchissant le site web, ou en vous connectant au site web via une session privée, vous pouvez voir que vous utilisez plusieurs ECS. (Le nom de l’ECS change dans la case rouge, indiquant que la session fonctionne).
Une fois que vous voyez que votre groupe AS fonctionne, vous pouvez arrêter l’ecs-bench.