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 :

  1.       cliquez sur le nom de la Région ;
  2.       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 :

  1.       cliquez sur Instance state ;
  2.       sélectionnez Terminate instance ;
  3.       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.