Demo Instructions : Démarrer avec Amazon EC2 Auto Scaling
Instruction de Labs
Démarrer avec Amazon EC2 Auto Scaling
Présentation
Amazon EC2 Auto Scaling permet d’ajuster automatiquement le nombre d’instances Amazon EC2 disponibles afin de disposer de la capacité nécessaire pour exécuter une application.
Les instances sont regroupées dans un Auto Scaling Group. Vous pouvez notamment définir :
- une capacité minimale ;
- une capacité souhaitée ;
- une capacité maximale.
Amazon EC2 Auto Scaling cherche ensuite à maintenir la capacité souhaitée du groupe. Il peut également remplacer une instance qui devient indisponible.
Dans ce lab, vous allez créer votre premier Auto Scaling Group à partir d’un Launch Template déjà disponible.
Vous allez ensuite :
- observer la création automatique d’une instance EC2 ;
- augmenter manuellement la capacité du groupe ;
- observer la création d’une deuxième instance ;
- terminer volontairement une instance afin d’observer son remplacement ;
- réduire de nouveau la capacité du groupe ;
- supprimer l’Auto Scaling Group.
Niveau : Débutant
Difficulté : Modérée
Durée estimée : 20 à 25 minutes
Région AWS : Europe (Ireland) — eu-west-1
Services AWS utilisés
- Amazon EC2
- Amazon EC2 Auto Scaling
- Amazon VPC
Notions CLF-C02 couvertes
Cloud Technology and Services : Compute, élasticité, haute disponibilité
Impact coût : Faible.
Les instances créées pendant ce lab sont de petite taille et restent actives pendant une courte période.
Nettoyage manuel requis : Oui.
Vous supprimerez l’Auto Scaling Group créé pendant le lab. Les ressources préinitialisées seront automatiquement supprimées à la fin de votre session de lab.
Environnement du lab
Afin de vous concentrer sur Amazon EC2 Auto Scaling, plusieurs ressources sont automatiquement créées avant le démarrage du lab.
Ressources préinitialisées
VPC
Nom :
lab-vpc
CIDR IPv4 :
10.0.0.0/16
Premier subnet
Nom :
lab-asg-subnet-a
CIDR :
10.0.1.0/24
Ce subnet se trouve dans une première Availability Zone de la Région eu-west-1.
Deuxième subnet
Nom :
lab-asg-subnet-b
CIDR :
10.0.2.0/24
Ce subnet se trouve dans une deuxième Availability Zone de la Région eu-west-1.
Security Group
Nom :
lab-asg-sg
Aucune connexion entrante n’est nécessaire pour ce lab.
Launch Template
Nom :
lab-asg-template
Version :
1
Le Launch Template est configuré pour créer des instances avec notamment :
- Amazon Linux 2023 ;
- un type d’instance t3.micro ;
- le Security Group lab-asg-sg ;
- aucune paire de clés SSH.
Vous n’avez pas besoin de vous connecter aux instances dans ce lab.
À retenir
Le Launch Template définit la configuration utilisée par Amazon EC2 Auto Scaling lorsqu’il doit lancer une nouvelle instance EC2.
Il peut notamment définir l’AMI, le type d’instance, les Security Groups et d’autres paramètres de lancement.
Objectifs pédagogiques
À la fin de ce lab, vous serez capable de :
- identifier le rôle d’un Launch Template et d’un Auto Scaling Group ;
- configurer les capacités minimale, souhaitée et maximale ;
- observer la création automatique d’instances EC2 ;
- déclencher manuellement un scale out et un scale in ;
- observer le remplacement automatique d’une instance ;
- comprendre l’intérêt de répartir les instances sur plusieurs Availability Zones.
Vérification avant de démarrer
Avant de créer l’Auto Scaling Group, vérifiez que l’environnement du lab est correctement initialisé.
Étape 1 — Vérifier la Région AWS
Regardez la Région sélectionnée en haut à droite de la console AWS.
Elle doit être :
Europe (Ireland) — eu-west-1
Si une autre Région est sélectionnée :
- cliquez sur le nom de la Région ;
- sélectionnez Europe (Ireland).
Étape 2 — Vérifier le VPC
Dans la barre de recherche de la console AWS, recherchez :
VPC
Ouvrez ensuite :
VPC → Your VPCs
Vérifiez qu’un VPC nommé :
lab-vpc
est disponible.
Étape 3 — Vérifier les subnets
Dans :
VPC → Subnets
recherchez :
- lab-asg-subnet-a ;
- lab-asg-subnet-b.
Vérifiez que les deux subnets appartiennent à :
lab-vpc
Vérifiez également qu’ils se trouvent dans deux Availability Zones différentes.
Par exemple, vous pourriez observer :
Les Availability Zones exactes peuvent être différentes dans votre environnement.
À retenir
Un Auto Scaling Group peut utiliser plusieurs subnets situés dans plusieurs Availability Zones.
Amazon EC2 Auto Scaling peut ainsi répartir ses instances entre plusieurs zones afin d’améliorer la disponibilité.
Étape 4 — Accéder aux Launch Templates
Dans la barre de recherche AWS, recherchez :
EC2
Ouvrez le service Amazon EC2.
Dans le menu de gauche, recherchez :
Launch Templates
Sélectionnez :
lab-asg-template
Étape 5 — Examiner le Launch Template
Prenez quelques instants pour observer les informations du Launch Template.
Vous devriez notamment retrouver :
Launch template name
lab-asg-template
Version
1
Instance type
t3.micro
AMI
Amazon Linux 2023
Security Group
lab-asg-sg
Ne modifiez pas le Launch Template.
À retenir
Un Launch Template sert de modèle pour créer de nouvelles instances EC2.
Lorsqu’Amazon EC2 Auto Scaling doit augmenter la capacité d’un groupe ou remplacer une instance, il utilise cette configuration pour lancer de nouvelles instances.
Création de l’Auto Scaling Group
Étape 6 — Accéder à Amazon EC2 Auto Scaling
Dans le menu de gauche de la console Amazon EC2, recherchez la section :
Auto Scaling
Puis sélectionnez :
Auto Scaling Groups
Vous accédez à la liste des Auto Scaling Groups présents dans la Région.
Cliquez sur :
Create Auto Scaling group
Étape 7 — Donner un nom à l’Auto Scaling Group
Dans :
Auto Scaling group name
saisissez :
lab-ec2-asg
Étape 8 — Sélectionner le Launch Template
Dans la section permettant de choisir la configuration de lancement, sélectionnez :
lab-asg-template
Utilisez la version :
1
ou la version indiquée comme version par défaut si la console la présente ainsi.
Vérifiez que le Launch Template sélectionné correspond bien à celui fourni dans l’environnement du lab.
Cliquez sur :
Next
Étape 9 — Sélectionner le VPC
Dans la configuration réseau, sélectionnez :
lab-vpc
Étape 10 — Sélectionner les deux subnets
Sélectionnez :
· lab-asg-subnet-a ;
· lab-asg-subnet-b.
Les deux subnets se trouvent dans deux Availability Zones différentes.
Conservez les autres paramètres réseau proposés par défaut.
À retenir
Lorsque plusieurs Availability Zones sont configurées pour un Auto Scaling Group, Amazon EC2 Auto Scaling cherche à répartir la capacité entre ces zones.
Cela permet de ne pas concentrer toutes les instances dans une seule Availability Zone.
Cliquez sur :
Next
Étape 11 — Ne pas ajouter de Load Balancer
La console peut proposer d’intégrer l’Auto Scaling Group à d’autres services.
Pour ce lab :
· ne configurez pas de Load Balancer ;
· ne configurez pas de VPC Lattice.
Conservez la configuration sans Load Balancer.
Les Elastic Load Balancers seront étudiés dans un lab dédié.
Étape 12 — Conserver les Health Checks EC2
Conservez les vérifications de santé EC2 proposées par défaut.
Vous n’avez pas besoin d’activer de Health Check supplémentaire pour ce lab.
Amazon EC2 Auto Scaling peut utiliser les informations de santé EC2 pour détecter certaines instances qui ne sont plus saines et les remplacer.
Cliquez sur :
Next
si nécessaire pour poursuivre.
Étape 13 — Configurer la capacité souhaitée
Dans la section :
Group size
configurez :
Desired capacity
1
La capacité souhaitée représente le nombre d’instances que l’Auto Scaling Group cherche actuellement à maintenir.
Étape 14 — Configurer les limites de capacité
Dans :
Scaling limits
configurez :
Min desired capacity
1
Max desired capacity
3
Vous obtenez donc :
À retenir
Minimum représente la capacité minimale autorisée pour le groupe.
Desired capacity représente la capacité que le groupe cherche actuellement à maintenir.
Maximum représente la capacité maximale autorisée.
La capacité souhaitée doit rester comprise entre les limites minimale et maximale du groupe.
Étape 15 — Ne pas créer de Scaling Policy
Amazon EC2 Auto Scaling peut modifier automatiquement sa capacité à l’aide de Scaling Policies.
Dans ce premier lab, vous allez toutefois modifier la capacité manuellement afin d’observer clairement le fonctionnement du service.
Ne créez donc pas de Scaling Policy.
Conservez les options correspondantes désactivées ou non configurées.
À retenir
Un Auto Scaling Group n’a pas obligatoirement besoin d’une Scaling Policy.
Même sans politique de scaling automatique, il peut maintenir sa capacité souhaitée et remplacer des instances lorsque cela est nécessaire.
Étape 16 — Conserver les autres paramètres par défaut
Pour les autres paramètres proposés par l’assistant :
· conservez les valeurs par défaut ;
· ne configurez pas de notification ;
· ne configurez pas de fonctionnalité avancée supplémentaire.
Poursuivez jusqu’à la page de vérification.
Étape 17 — Vérifier la configuration
Avant de créer le groupe, vérifiez les principaux paramètres.
Cliquez ensuite sur :
Create Auto Scaling group
Observer la création automatique d’une instance
Étape 18 — Ouvrir l’Auto Scaling Group
Dans :
EC2 → Auto Scaling Groups
sélectionnez :
lab-ec2-asg
Vous pouvez maintenant consulter plusieurs informations concernant le groupe.
Repérez notamment :
· Desired capacity ;
· Minimum capacity ;
· Maximum capacity ;
· nombre d’instances ;
· Availability Zones.
Étape 19 — Observer les activités du groupe
Ouvrez l’onglet :
Activity
ou la section :
Activity history
selon la présentation de la console.
Vous devriez voir une activité indiquant que l’Auto Scaling Group lance une nouvelle instance EC2.
Attendez que l’activité se termine avec succès.
À retenir
Vous n’avez pas lancé cette instance EC2 manuellement.
Amazon EC2 Auto Scaling l’a créée automatiquement afin d’atteindre la capacité souhaitée de 1.
Étape 20 — Observer l’instance gérée par le groupe
Dans l’Auto Scaling Group, ouvrez :
Instance management
Repérez la section :
Instances
Vous devriez voir une instance.
Observez notamment :
· Instance ID ;
· Availability Zone ;
· Lifecycle state ;
· Health status.
Après son initialisation, vous devriez notamment voir :
Lifecycle state
InService
Health status
Healthy
Étape 21 — Vérifier l’instance depuis Amazon EC2
Ouvrez :
EC2 → Instances
Vous devriez retrouver l’instance créée par :
lab-ec2-asg
Observez :
· son Instance ID ;
· son type t3.micro ;
· son Availability Zone ;
· son état Running.
Notez ou mémorisez son Instance ID.
Vous l’utiliserez plus tard pour vérifier le mécanisme de remplacement.
Comprendre la capacité souhaitée
Étape 22 — Revenir dans l’Auto Scaling Group
Retournez dans :
EC2 → Auto Scaling Groups
Sélectionnez :
lab-ec2-asg
Dans l’onglet :
Details
repérez les valeurs :
· Desired capacity : 1
· Minimum capacity : 1
· Maximum capacity : 3
L’Auto Scaling Group contient actuellement une instance car sa capacité souhaitée est égale à 1.
Augmenter manuellement la capacité
Étape 23 — Modifier la capacité souhaitée
Toujours dans l’onglet :
Details
repérez :
Group details
Cliquez sur :
Edit
Modifiez uniquement :
Desired capacity
de :
1
vers :
2
Conservez :
Minimum
1
Maximum
3
Enregistrez avec :
Update
ou le bouton de validation proposé par la console.
Augmenter manuellement la capacité
Étape 23 — Modifier la capacité souhaitée
Toujours dans l’onglet :
Details
repérez :
Group details
Cliquez sur :
Edit
Modifiez uniquement :
· Lifecycle state : InService ;
· Health status : Healthy.
Observez également leurs Availability Zones.
Comme deux subnets de deux Availability Zones ont été sélectionnés, Amazon EC2 Auto Scaling cherche à équilibrer les instances entre les zones disponibles.
Vous devriez normalement observer une instance dans chaque Availability Zone lorsque les deux instances sont opérationnelles.
Étape 26 — Vérifier depuis EC2
Retournez dans :
EC2 → Instances
Vous devriez maintenant voir deux instances appartenant à l’Auto Scaling Group.
Comparez leurs :
· Instance IDs ;
· Availability Zones ;
· types d’instance.
Les deux instances utilisent la même configuration provenant de :
lab-asg-template
À retenir
Le Launch Template permet à l’Auto Scaling Group de lancer plusieurs instances avec une configuration cohérente.
Tester le remplacement automatique d’une instance
Étape 27 — Choisir une instance du groupe
Dans :
EC2 → Instances
sélectionnez l’une des deux instances appartenant à :
lab-ec2-asg
Notez son :
Instance ID
Par exemple :
i-0123456789abcdef0
Votre valeur sera différente.
Étape 28 — Terminer volontairement l’instance
Avec l’instance sélectionnée :
- cliquez sur Instance state ;
- sélectionnez Terminate instance ;
- confirmez la terminaison.
L’instance passe progressivement vers l’état :
Terminated
Ne modifiez pas la capacité souhaitée de l’Auto Scaling Group.
Elle doit rester à :
2
Étape 29 — Observer la réaction d’EC2 Auto Scaling
Retournez dans :
EC2 → Auto Scaling Groups → lab-ec2-asg
Ouvrez :
Activity
Vous devriez constater qu’Amazon EC2 Auto Scaling détecte que le groupe ne dispose plus de la capacité souhaitée.
Une activité de lancement d’une nouvelle instance doit apparaître.
Attendez que cette activité se termine.
Étape 30 — Vérifier le remplacement
Ouvrez :
Instance management → Instances
Le groupe doit de nouveau contenir :
2 instances
Comparez leurs Instance IDs avec celui que vous aviez noté précédemment.
L’instance que vous avez terminée a été remplacée par une nouvelle instance possédant un nouvel Instance ID.
À retenir
Un Auto Scaling Group cherche à maintenir sa Desired capacity.
Si une instance disparaît ou est considérée comme non saine, Amazon EC2 Auto Scaling peut lancer une nouvelle instance pour retrouver la capacité souhaitée.
C’est l’un des mécanismes essentiels d’Amazon EC2 Auto Scaling.
Réduire la capacité
Étape 31 — Modifier de nouveau la capacité souhaitée
Dans :
Auto Scaling Groups → lab-ec2-asg → Details
ouvrez :
Group details → Edit
Modifiez :
Desired capacity
de :
2
vers :
1
Conservez :
Minimum
1
Maximum
3
Enregistrez la modification.
Étape 32 — Observer le scale in
Ouvrez :
Activity → Activity history
Amazon EC2 Auto Scaling doit maintenant terminer une instance afin de revenir à une capacité de :
1
Attendez la fin de l’activité.
À retenir
La réduction du nombre d’instances est appelée scale in.
Amazon EC2 Auto Scaling peut effectuer du scale out pour ajouter de la capacité et du scale in pour en retirer.
Étape 33 — Vérifier la capacité finale
Dans :
Instance management
vérifiez qu’il ne reste plus qu’une instance :
Desired capacity
1
Instances
1
Minimum
1
Maximum
3
Vous avez maintenant observé manuellement les deux mécanismes fondamentaux :
· scale out ;
· scale in.
Comprendre le rôle d’une Scaling Policy
Dans ce lab, vous avez modifié manuellement la capacité souhaitée.
Dans un environnement réel, Amazon EC2 Auto Scaling peut également adapter cette capacité automatiquement en fonction de règles.
Par exemple, une Scaling Policy pourrait demander :
- d’ajouter des instances lorsque l’utilisation CPU augmente ;
- de réduire le nombre d’instances lorsque la charge diminue.
Le groupe resterait toujours limité par les capacités minimale et maximale définies.
Ce mécanisme pourra être étudié dans un lab plus avancé.
À retenir
Les trois éléments sont différents :
Launch Template : définit comment créer les instances.
Auto Scaling Group : gère un ensemble d’instances et sa capacité.
Scaling Policy : peut déterminer automatiquement quand augmenter ou réduire cette capacité.
Comprendre l’élasticité
Amazon EC2 Auto Scaling illustre le principe d’élasticité du Cloud.
Une infrastructure peut adapter sa capacité aux besoins au lieu de fonctionner en permanence avec un nombre fixe de serveurs.
Par exemple :
Cela permet notamment d’adapter plus facilement les ressources aux besoins d’une application.
Nettoyage du lab :
Les ressources suivantes ont été préinitialisées et ne doivent pas être supprimées manuellement :
· lab-vpc ;
· lab-asg-subnet-a ;
· lab-asg-subnet-b ;
· lab-asg-sg ;
· lab-asg-template.
Elles seront automatiquement supprimées à la fin de votre session.
Vous devez uniquement supprimer l’Auto Scaling Group créé pendant ce lab.
Étape 34 — Réduire le groupe à zéro instance
Avant de supprimer le groupe, sélectionnez :
lab-ec2-asg
Puis ouvrez :
Details → Group details → Edit
Configurez :
Desired capacity
0
Minimum capacity
0
Maximum capacity
3
Enregistrez.
Amazon EC2 Auto Scaling commence à terminer la dernière instance du groupe.
Étape 35 — Vérifier la terminaison des instances
Ouvrez :
Instance management
Attendez qu’aucune instance ne soit plus associée au groupe.
Vous pouvez également vérifier dans :
EC2 → Instances
que les instances créées par l’Auto Scaling Group passent à l’état :
Terminated
Étape 36 — Supprimer l’Auto Scaling Group
Retournez dans :
EC2 → Auto Scaling Groups
Sélectionnez :
lab-ec2-asg
Cliquez sur :
Delete
Confirmez la suppression en suivant les instructions affichées par la console.
Attendez que :
lab-ec2-asg
disparaisse de la liste.
Validation du lab :
Vous avez terminé le lab si vous avez réussi à :
- identifier lab-asg-template ;
- comprendre le rôle d’un Launch Template ;
- créer l’Auto Scaling Group lab-ec2-asg ;
- utiliser deux subnets répartis sur deux Availability Zones ;
- configurer une capacité minimale de 1 ;
- configurer une capacité souhaitée de 1 ;
- configurer une capacité maximale de 3 ;
- observer la création automatique d’une instance EC2 ;
- augmenter la capacité souhaitée de 1 à 2 ;
- observer la création d’une deuxième instance ;
- terminer une instance du groupe ;
- observer son remplacement automatique ;
- réduire la capacité souhaitée de 2 à 1 ;
- observer le scale in ;
- supprimer l’Auto Scaling Group.
En cas de problème
Je ne trouve pas lab-asg-template
Vérifiez que vous utilisez la Région :
Europe (Ireland) — eu-west-1
Puis ouvrez :
EC2 → Launch Templates
Si le Launch Template n’apparaît toujours pas, l’environnement du lab n’a peut-être pas été correctement initialisé.
Je ne trouve pas les deux subnets
Dans :
VPC → Subnets
recherchez :
· lab-asg-subnet-a ;
· lab-asg-subnet-b.
Amazon EC2 Auto Scaling cherche à équilibrer sa capacité entre les Availability Zones configurées, mais une opération de lancement peut nécessiter quelques instants avant que l’état final soit visible.
L’instance que j’ai terminée réapparaît
Il ne s’agit pas de la même instance.
Comparez les Instance IDs.
Amazon EC2 Auto Scaling a créé une nouvelle instance afin de maintenir la capacité souhaitée du groupe.
C’est le comportement attendu.
Je n’arrive pas à mettre Desired capacity à 0
Vérifiez d’abord que :
Minimum capacity
est également configurée sur :
La capacité souhaitée ne peut pas être inférieure à la capacité minimale.
Je n’arrive pas à supprimer l’Auto Scaling Group
Vérifiez que sa capacité est configurée sur :
· Minimum : 0 ;
· Desired : 0.
Attendez que les instances soient complètement terminées puis réessayez.
Lab terminé
Vous savez maintenant :
- expliquer le rôle d’Amazon EC2 Auto Scaling ;
- comprendre la relation entre un Launch Template et un Auto Scaling Group ;
- définir les capacités minimale, souhaitée et maximale ;
- comprendre comment un Auto Scaling Group crée automatiquement des instances EC2 ;
- augmenter et réduire manuellement sa capacité ;
- différencier scale out et scale in ;
- comprendre comment Auto Scaling maintient une capacité souhaitée ;
- observer le remplacement automatique d’une instance ;
- comprendre l’intérêt d’utiliser plusieurs Availability Zones.