vendredi 6 février 2026

Mise en œuvre de l'élasticité dans une application Web dans un Cloud (AWS)

 



Demande de solution

AnyCompany Gaming est une entreprise de jeux en ligne en pleine croissance qui connaît une augmentation à trois chiffres de ses abonnés. Leur infrastructure actuelle a du mal à suivre la demande croissante, en particulier pendant les heures de pointe, qui peuvent survenir chaque fois qu'un influenceur des médias sociaux signale un œuf de Pâques nouvellement découvert. L'entreprise souhaite mettre en œuvre le concept d'élasticité et être en mesure de mettre automatiquement à l'échelle leurs serveurs de jeu à mesure que la demande augmente et à des moments anticipés, tels que les jours à fort volume et les moments de la semaine et lorsqu'ils lancent de nouveaux jeux et fonctionnalités.

 

Objectifs

-        Créer un Application Load Balancer pour distribuer le trafic HTTP.

-        Créer un modèle de lancement qui définit la configuration de vos instances EC2.

-        Créer un groupe Auto Scaling avec une capacité désirée, maximale et minimale de 2.

-        Configurer la politique de suivi des cibles pour essayer de maintenir l'utilisation du CPU à 50%

 

Étape 1 : Création du groupe cible

-        Dans la barre de navigation supérieure, vérifiez que le sélecteur de région est défini sur N. Virginia (us-east-1).

-        Dans la zone de recherche Services, saisissez : ec2

 

-        Dans les résultats de la recherche, sous Services, cliquez sur EC2.

-        Dans le volet de navigation de gauche, cliquez sur Target Groups.

 

-        Dans la section Target groups, cliquez sur Create target group.

-        Dans l'étape Specify group details, pour Choose a target type, choisissez Instances.

-        Dans la zone Target Group Name, Tapez Lab-TG.

-        Scrollez vers le bas.

-        Pour VPC, dans la liste déroulante, choisissez LabVPC. Ce VPC a été préconfiguré dans le cadre de l'environnement du labo. Faites défiler jusqu'au bas de la page.

 

-        Cliquer sur Next

 

Dans Register targets, vérifiez qu'aucune cible n'est actuellement enregistrée.

Faites défiler vers le bas de la page.

Cliquez sur Create target group

 

-        Consultez pour confirmer que le groupe cible a été créé avec succès.

-        Passez à l'étape suivante.

Étape 2 : Création de l’équilibreur de charge

-        Dans le volet de navigation de gauche, cliquez sur Load Balancers.

-        Dans la section Load balancers, cliquez sur Create load balancer.

 

-        Consultez les trois types d'équilibreurs de charge.

-        Sous Application Load Balancer, cliquez sur Create.

-        Passez à l'étape suivante.

 

 

-        Examinez la section How Application Load Balancers work. Vous devrez peut-être développer la section.

-        Faites défiler vers le bas jusqu'à Basic configuration.

-        Pour Load balancer name, tapez : Lab-ALB

-        Pour Scheme, conservez le choix par défaut Internet-facing.

-        Faites défiler vers le bas jusqu'à Network mapping.

 

-        Pour VPC, choisissez LabVPC.

-        Pour Mappings, cochez les deux cases pour sélectionner les deux zones de disponibilité (AZ) affichées. Cocher les cases doit automatiquement remplir publicSubnet1 et publicSubnet2.

-        Faites défiler vers le bas jusqu'à Security groups.

 

 

-        Pour les groupes de sécurité, afin de supprimer le groupe de sécurité par défaut, cliquez sur le X (non affiché), puis choisissez le groupe de sécurité PublicSG.

-        Dans la section Écouteurs et routage, pour l'action par défaut, choisissez le groupe cible Lab-TG.

-        Faites défiler vers le bas jusqu'à Résumé.

-        Vérifiez que votre section Summary ressemble de près à l'exemple de capture d'écran.

-        Faites défiler vers le bas de la page, puis cliquez sur Create load balancer (non illustré).

 

 

 

-        Dans l'alerte de réussite, examinez le message.

-        Dans la section Details, sous Status, vérifiez que le statut est Provisioning. Le load balancer peut prendre quelques minutes pour être provisionné.

-        Sous DNS name, cliquez sur l'icône de copie pour copier le nom fourni, puis collez-le dans l'éditeur de texte de votre choix sur votre appareil. Vous utilisez ce nom DNS dans une étape ultérieure.

-        Passez à l'étape suivante.

 

DNS : Lab-ALB-403223617.us-east-1.elb.amazonaws.com

-        Passez à l'étape suivante.

 

Étape 3 : Création du modèle de lancement

-        Dans le volet de navigation de gauche, cliquez sur Launch Templates.

-        Examinez les informations d'introduction de la page.

-        Faites défiler vers le bas jusqu'à Nouveau modèle de lancement.

-        Cliquez sur Create launch template

 

-        Pour le nom du modèle de lancement, tapez : Lab-LT

-        Faites défiler vers le bas jusqu'à Application and OS Images.

 

-        Sous Quick Start, choisissez Amazon Linux.

-        Pour Amazon Machine Image (AMI), choisissez Amazon Linux 2023 AMI.

-        Faites défiler vers le bas jusqu'à Instance type.

 

-        Pour Instance type, choisissez t3.micro.

-        Pour Key pair name et Subnet, conservez le choix par défaut de Don't include in launch template.

 

 

-        Pour Firewall (security groups), choisissez Select existing security group.

-        Pour Security groups, choisissez le groupe de sécurité PublicSG. Ce groupe de sécurité a été pré provisionné dans le cadre de l'environnement du laboratoire.

 

 

-        Cliquez pour développer les détails avancés.

-        Examinez les différentes configurations que vous pouvez attribuer à un modèle de lancement.

-        Faites défiler vers le bas jusqu'à Données utilisateur.

 

-        Pour User data, dans la zone de texte, tapez :

#!/bin/bash

yum update -y

yum install -y httpd

systemctl start httpd

systemctl enable httpd

echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

 

Vous pouvez également copier-coller ces commandes. Si vous recevez une valeur indéfinie lorsque vous collez ceci, réessayez. Le code devrait ressembler à ce qui est affiché dans l'exemple de capture d'écran.

-        Faites défiler jusqu'à Summary.

-        Examinez la section Summary.

-        Cliquez sur Create launch template.

-        Examinez les détails de votre modèle de lancement.

-        Dans le volet de navigation de gauche, sous Auto Scaling, cliquez sur Auto Scaling Groups.

-        Passez à l'étape suivante.

 

 

Étape 4 : Création du groupe de mise à l’échelle automatique

-        Sur la page Amazon EC2 Auto Scaling, cliquez sur Create Auto Scaling group.

-        Passez à l'étape suivante.

 

-        Dans l'étape Choose launch template or configuration, pour Auto Scaling group name, tapez : Lab-ASG

-        Pour Launch template, choisissez le modèle Lab-LT.

-        Faites défiler vers le bas de la page, puis cliquez sur Next (non affiché).

 

-        Dans l'étape Choose instance launch options, dans la section Network, pour VPC, choisissez LabVPC.

-        Faites défiler vers le bas pour afficher les zones de disponibilité et les sous-réseaux. Pour les zones de disponibilité et les sous-réseaux, choisissez publicSubnet1 et publicSubnet2.

-        Cliquez sur Next.

-        Dans l'étape Intégrer à d'autres services, pour Load balancing, choisissez Attach to an existing load balancer.

-        Pour Attach to an existing load balancer, choisissez le bouton radio pour sélectionner Choose from your load balancer target groups.

-        Pour Existing load balancer target groups, choisissez Lab-TG.

-        Faites défiler vers le bas jusqu'à Health checks.

 

-        Pour les types de contrôles d'intégrité supplémentaires, cochez la case pour sélectionner Activer les contrôles d'intégrité Elastic Load Balancing.

-        Cliquez sur Next.

 

 

-        Dans l'étape Configurer la taille du groupe et le scaling, pour Desired capacity, tapez : 2

-        Pour Min desired capacity et Max desired capacity, tapez : 2

 

-        Pour Choose whether to use a target tracking policy, choisissez Target tracking scaling policy.

-        Pour Scaling policy name, Metric type et Target value, conservez les valeurs par défaut.

-        Faites défiler vers le bas de la page.

 

 

-        Consultez les options de configuration supplémentaires disponibles.

-        Cliquez sur Skip to review.

Sur la page Add notifications – Optional, cliquer sur Next

Sur la page Add tags – optional

 

-        Dans l'étape Review, consultez le résumé.

-        Cliquez sur Create Auto Scaling group.

 

 

-        Vérifiez que le nouveau groupe Auto Scaling est déjà en train de mettre à jour sa capacité.

-        Pour obtenir plus de détails, cliquez sur Lab-ASG.

 

-        Cliquez sur l'onglet Automatic scaling.

-        Faites défiler vers le bas jusqu'à Scheduled actions.

-        Passez à l'étape suivante.

 

-        Dans la boîte contextuelle, examinez les informations requises pour créer une stratégie de mise à l'échelle par action programmée.

-        Cliquez sur Annuler. Vous devez créer une action programmée dans la prochaine section DIY de cette solution.

 

-        Cliquez sur l'onglet Activity.

-        Examinez la section Activity history.

-        Dans le menu déroulant en haut, cliquez sur EC2.

 

Étape 5 : Test de mise à l’échelle

 

-        Dans le volet de navigation de gauche, cliquez sur Instances.

-        Dans la section Instances, cochez la case pour sélectionner n'importe quelle instance EC2 disponible.

-        Dans la liste déroulante Instance state, choisissez Terminate (delete) instance.

-        Dans la boîte de dialogue Terminate (delete) instance?, cliquez sur le bouton Terminate (delete) (non affiché).

 

Dans la boite de dialogue Terminate (delete) instance, cliquer sur Terminate (delete)

 

-        Attendez quelques minutes, puis cliquez sur le bouton d'actualisation de la section.

-        Sous Instance state, vérifiez pour confirmer qu'une instance est Terminated.

 

-        Vérifiez pour confirmer que le groupe Auto scaling a lancé une nouvelle instance Pending.

 

-        Dans la barre d'adresse d'un nouvel onglet (ou fenêtre) de navigateur, collez le nom DNS du load balancer que vous avez copié dans une étape précédente (non affichée).

-        Vérifiez qu'un message s'affiche, confirmant que votre load balancer achemine le trafic vers des instances EC2 saines.

-        Passez à l'étape suivante.

Félicitations ! Vous avez terminé la section Pratiquer.

 

Étape 6 : Autres Tests de programmation

 

Objectifs des DIY

  1. Ajouter une action planifiée au groupe Auto Scaling.
  2. Définir la capacité souhaitée à 3.
  3. Définir la récurrence à 20:00 UTC tous les vendredis.

 

 

 

Aucun commentaire:

Enregistrer un commentaire

Mise en œuvre de l'élasticité dans une application Web dans un Cloud (AWS)

  Demande de solution AnyCompany Gaming est une entreprise de jeux en ligne en pleine croissance qui connaît une augmentation à trois chif...