EC2 signifie "Elastic Compute Cloud". En bon français, c'est un... service de calcul élastique dans le cloud.
Comment ça, ça ne vous avance pas beaucoup ? 😜
Disons alors que c'est un moyen de lancer des serveurs, tout simplement. On dit "élastique"
car il est possible d'en ajouter et d'en enlever en fonction de vos besoins. Si vous avez
beaucoup de trafic, vous pouvez passer de 1 serveur à 2 serveurs par exemple, afin de mieux
gérer ce nouveau trafic.
EC2 est sans aucun doute LE service par excellence d'AWS. C'est le premier service qui a été lancé historiquement avec AWS. C'est encore aujourd'hui le service le plus important, même si de nombreux autres ont été ajoutés depuis.
Pourquoi est-ce toujours le service le plus important ?
Parce que c'est le plus... basique. Tout le monde a besoin d'un serveur, que ce soit pour héberger des sites web, pour faire des calculs afin de résoudre des problèmes, pour permettre le fonctionnement d'applications mobiles, etc.
De nombreux autres services créés depuis ont plus ou moins été montés "par-dessus" EC2. Par exemple, RDS n'est rien de plus qu'un serveur EC2 préconfiguré qui contient une base de données.
Bref, EC2 est important et incontournable ! Il était logique que nous fassions nos premiers pas avec EC2 dans ce cours.
Rendez-vous sur EC2. Pour cela, vous pouvez passer par le menu "Services" tout en haut (n'oubliez pas de respirer un grand coup pour ne pas tomber en syncope devant le nombre de services). Cliquez sur EC2 :
Il suffit de cliquer sur Services (1) puis sur EC2 (2).
Notez que vous pouvez aussi ajouter dans la barre du haut les services que vous utilisez le plus fréquemment en cliquant sur la punaise (3). Vous retrouvez aussi les services récemment consultés dans le menu à gauche (4).
Une fois que vous arrivez sur EC2, respirez à nouveau un grand coup pour ne pas tomber en syncope... cette fois devant le grand nombre de services proposés par EC2 lui-même :
Sur cette page, il faut regarder :
Parlons justement de ces services dans EC2. Eh oui, AWS c'est un peu comme les poupées russes : quand tu rentres dans un service, il y a des sous-services, qui peuvent eux-même contenir des... Bref, vous voyez l'idée. 😜
Je vous disais qu'il n'est pas vital de tout connaître dans EC2. Moi-même je ne connais pas tout, et d'ailleurs à l'heure où j'écris ces lignes ils viennent visiblement de faire encore de nouveaux ajouts. C'est la force d'AWS : ça évolue constamment. C'est aussi le défaut d'AWS... ça évolue constamment. Il faut suivre !
Regardez le menu de gauche pour parcourir les services. Voici ceux que je vous propose de retenir.
La page Instances affiche la liste des serveurs EC2 que vous faites tourner. S'il y a un écran à connaître, c'est celui-là.
Le lien AMI affiche les images de vos instances EC2 (AMI signifie : Amazon Machine Image).
On se sert souvent d'un AMI au départ pour lancer un serveur EC2 préconfiguré . On récupèrera pour notre part un AMI proposé par Amazon ou par sa communauté sur le "Marketplace" (on y trouve des AMI gratuits et payants).
Il est aussi possible de créer vos propres AMI à partir de vos serveurs. L'intérêt ? Ca vous permet de prendre un instantané (backup) de votre serveur. Vous en faites ainsi une sauvegarde, ce qui vous permet de lancer un nouveau serveur exactement dans le même état. On y reviendra !
La section Volumes affiche tous les disques utilisés par vos serveurs. Avec AWS, on distingue en effet l'instance (juste la puissance de calcul du processeur en gros) et les disques (Elastic Block Store, ou EBS pour les intimes). Les volumes EBS sont en quelque sorte des disques durs.
Quant aux Instantanés, ce sont les sauvegardes des disques EBS de vos serveurs.
Je sais que vous allez me demander le rapport entre un instantané EBS et un AMI. En deux mots, c'est un peu pareil, à quelques détails près qu'il serait un peu compliqué d'aborder ici. Dites-vous que c'est un autre moyen de faire des backups.
Les Groupes de sécurité constituent vos règles de sécurité pour gérer le trafic entrant et sortant de vos serveurs. C'est comme ça que vous pouvez mettre en place un firewall (pare-feu) pour protéger vos serveurs.
Les Adresses IP Elastic vous permettent d'affecter une IP statique à vos serveurs. C'est utile car, par défaut, un serveur que vous redémarrez va en général changer d'adresse IP. Grâce aux IP Elastic, vous pouvez faire en sorte que votre serveur garde la même IP (ce qui est indispensable si vous voulez héberger correctement un site web !).
Les Paires de clés affichent vos paires de clés créées pour accéder aux serveurs en ligne de commande. Si vous vous êtes déjà connectés à un serveur à l'aide d'un système de clé publique / clé privée, vous voyez de quoi je parle. Sinon, je vous recommande vivement de lire le cours Linux, et plus particulièrement le chapitre sur SSH. Sinon, vous allez avoir l'impression que je vous parle chinois par la suite. 😁
Si vous avez beaucoup de trafic, l'Equilibrage de charge (Elastic Load Balancing) vous permet d'envoyer le trafic vers plusieurs serveurs en choisissant automatiquement le serveur qui est actuellement le moins occupé.
Si vous avez un trafic qui augmente ou qui diminue, l'Auto Scaling vous permet d'ajouter ou de retirer des serveurs en fonction du trafic.
Imaginez : si vous avez besoin uniquement de 3 serveurs en temps normal, l'auto scaling fait tourner 3 serveurs. Puis, si vous passez à la télévision et que tout le monde veut voir votre site d'un coup, l'auto scaling va s'activer et lancer plus de serveurs (jusqu'à une limite que vous avez définie). Ainsi, votre site peut passer de 3 serveurs à 10 serveurs au besoin en quelques minutes pour gérer le trafic !
L'auto scaling peut être un bon complément à l'équilibrage de charge lorsque vous avez un gros trafic.
Voilà qui devrait vous donner une première idée des services proposés par EC2 !
Pour continuer, je vous propose de regarder les différents types d'instances EC2. En effet, il existe de nombreux types de serveurs plus ou moins puissants... et plus ou moins chers. 🤑