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
- Ajouter une action
planifiée au groupe Auto Scaling.
- Définir la capacité
souhaitée à 3.
- Définir la récurrence à
20:00 UTC tous les vendredis.