• 12 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 7/5/24

Créez votre premier serveur sur AWS

Avant de nous plonger dans les entrailles d'AWS, je vous propose une petite entrée en matière. En effet, AWS est tellement riche et complexe qu'ils ont créé un service qui... simplifie l'usage d'autres services ! Je pense que c'est mieux de commencer ainsi. Nous aurons tout le loisir ensuite de nous perdre dans les profondeurs d'AWS. 😉

Le service que je souhaite vous présenter s'appelle Amazon Lightsail. Il s'agit d'une interface simplifiée qui vous aide à déployer votre site web en un temps record...

Lancez votre premier serveur avec Amazon Lightsail

Amazon Lightsail est la réalisation de la promesse suprême du cloud : un service clé en main pour lancer en 2 minutes un site web capable d’absorber une charge de trafic digne des plus grands sites Internet.

Ce niveau d’abstraction se fait au détriment de la flexibilité offerte par des services AWS qui sont plus bas niveau (ex. : EC2). Toutefois, pour nous qui démarrons dans le monde du cloud, c’est l’environnement idéal !

Essayons de créer un serveur capable d’héberger un site web classique en PHP. Vous êtes prêt ? Allez c’est parti !

Rendez-vous sur la console de management AWS, et cherchez le service Lightsail parmi ceux proposés.

Lightsail dans la liste des services accessibles dans la console
Lightsail dans la liste des services accessibles dans la console

Nous atterrissons sur la console Lightsail.

Console Lightsail
Console Lightsail

Cliquez sur “Créer une instance”, personnalisez la région si besoin, et choisissez un serveur préconfiguré avec la stack “LAMP” (Linux, Apache, MySQL, PHP).

Création d’une instance
Création d’une instance

Restez sur le premier plan, gratuit pendant 3 mois.

Différents plans de Lightsail
Différents plans de Lightsail

Donnez ensuite un nom à votre serveur pour facilement l’identifier, et cliquez sur “Créer une instance”.

Le menu créer une instance
Le menu Créer une instance

Comme promis, 2 minutes plus tard, notre instance est prête à l’emploi.

Le tableau de bord de Lightsail
Le tableau de bord de Lightsail

Elle dispose d’une IP publique, des règles de routage et de pare-feu adéquates, d’un disque dur 20 Go, d’une stack LAMP opérationnelle, et ainsi de suite. On peut se connecter sur la machine depuis le navigateur en cliquant sur la petite icône du terminal :

Connexion à la machine depuis le navigateur
Connexion à la machine depuis le navigateur

On retrouve le fameux répertoire htdocs où on peut déposer les fichiers PHP de notre site web.

Vous pouvez bien entendu utiliser votre client SFTP préféré, FileZilla, CyberDuck, etc., afin de transférer vos fichiers en masse.

Pour cela, allez dans le menu “Connecter” de votre application :

Menu “Connecter” de l’application Lightsail
Menu “Connecter” de l’application Lightsail

Puis cliquez sur le bouton “Télécharger la clé par défaut”.

Clé SSH de l’instance Lightsail
Clé SSH de l’instance Lightsail

Configurez cette clé SSH dans votre client SFTP préféré, accompagnée de l’adresse IP (13.38.13.216 dans cet exemple) et du nom d’utilisateur (bitnami, en l’occurrence).

Vous êtes prêt à déposer vos fichiers PHP !

Si vous désirez sauvegarder votre machine avant une mise à jour importante, Lightsail vous propose de créer une copie de votre disque dur. Cette copie s’appelle un instantané, dans le monde AWS. Rendez-vous donc dans le menu “Instantanés” :

Menu instantanés
Menu Instantanés

Cliquez sur “Créer un instantané”, patientez 30 secondes et voilà !

Créer un instantané
Créer un instantané

Si jamais quelque chose se passe mal et que vous voulez revenir sur l’ancienne version de votre site web, vous n’aurez qu’à restaurer votre instance à partir de cette sauvegarde.

Restaurer un instantané
Restaurer un instantané

Enfin, vous pouvez suivre la performance de votre instance en allant dans la section “Métriques”.

La section Métriques
La section Métriques

Choisissez le type de métrique (1) que vous souhaitez inspecter. Dans l’image ci-dessus par exemple, on suit la capacité du trafic sortant. Le pic vers 9:10 coïncide avec des tests que j’effectuais.

Félicitations, vous êtes dorénavant un vétéran du cloud !

Oui mais concrètement, quelle est la différence entre Lightsail et d’autres services d’hébergement classiques ?

Lightsail permet d’exploiter la robustesse des datacenters AWS avec une simplicité rafraîchissante. Pour un usage bien cadré tel que la création d’un site web ou d'un blog, Lightsail est redoutablement efficace et permet facilement d’ajouter des machines, une base de données, de répartir le trafic sur plusieurs machines, etc. Tout cela en quelques clics.

Cette simplicité vient au détriment d’une certaine rigidité dans la configuration de l’environnement : on ne peut pas modifier la puissance d’une machine déjà créée. Toutes les machines par défaut sont exposées sur Internet. Une instance ne peut avoir qu’une seule adresse IP publique, et ainsi de suite.

Afin de bénéficier de plus de flexibilité mais garder un niveau d’automatisation relativement proche, je vous propose d’explorer le prochain service :  Elastic Beanstalk.

Créez un serveur complexe avec Elastic Beanstalk

Rendez-vous donc dans la section "Elastic Beanstalk", et vérifiez bien dans quelle zone géographique vous vous trouvez (regardez le menu en haut à droite). Cela indique où vos serveurs seront lancés.

Si un jour vous ne retrouvez pas vos serveurs dans la console AWS, pas de panique : vérifiez juste que vous êtes en train de naviguer dans la bonne zone géographique !

Cliquez sur Démarrer, puis sur la page qui s'ouvre, remplissez le formulaire.

Vous devez donner un nom à votre application, c'est le nom du projet que vous aimeriez héberger en ligne. Si vous n'avez pas d'idée et que vous voulez juste expérimenter avec moi, vous pouvez simplement l'appeler "Test".

Définition du nom de l’application sur Beanstalk
Définition du nom de l’application sur Beanstalk

Choisissez ensuite la plateforme de votre application. Vous avez le choix entre de nombreuses plateformes : PHP, Python, Ruby, Java, Go... Cela dépend en quoi votre site web sera codé !

Choix de l’environnement sur Beanstalk
Choix de l’environnement sur Beanstalk

En fonction de votre choix, Elastic Beanstalk va démarrer un serveur préconfiguré pour vos besoins (ce qui vous fera gagner du temps !).

Enfin, on vous demande si vous avez déjà le code de l'application que vous voulez héberger. Si c'est le cas, vous pouvez envoyer un ZIP. Si vous êtes simplement là pour tester comme moi, vous pouvez laisser "Exemple d'application" coché : une application par défaut sera lancée.

Cliquez ensuite sur "Créer une application". Une console s'affiche pour vous indiquer la progression du lancement du serveur :

La console indique la progression du lancement du serveur
La console indique la progression du lancement du serveur

Patientez quelques minutes, le lancement de tous ces services prend un petit moment. Lorsque cela sera terminé, vous serez automatiquement redirigé vers l'accueil de votre application sur Elastic Beanstalk.

Prenez en main l’interface d’Elastic Beanstalk

Voici à quoi ressemble l'accueil d'une application sur Elastic Beanstalk :

Page d'accueil Elastic Beanstalk de votre application
Page d'accueil Elastic Beanstalk de votre application

Vous pouvez y voir :

  1. L'état du serveur (ici, tout va bien, apparemment 😊). En cas de problème, vous pouvez cliquer sur "Causes" pour avoir les erreurs.

  2. Le nom de l'application installée sur votre serveur. Nous avons mis une application de démo, mais nous pouvons envoyer notre projet sous format ZIP ici si nous le souhaitons.

  3. Le type de serveur. Ici, nous avons sélectionné PHP, donc Elastic Beanstalk a lancé un serveur Linux avec PHP installé pour nous.

  4. Les actions que vous pouvez faire. Vous pouvez par exemple redémarrer l'environnement (cela redémarrera le serveur), le cloner pour en faire une copie, ou bien le résilier pour le supprimer.

  5. L'adresse web de votre serveur pour tester votre application. Cliquez dessus pour voir l'application de démo qui tourne sur le serveur !

L'application PHP de démo qui tourne sur le serveur
L'application PHP de démo qui tourne sur le serveur

Si la page s'affiche, c'est que votre serveur fonctionne normalement et qu'il est capable d'envoyer une page PHP. Celle-ci ne fait vraiment rien de spécial, mais elle a le mérite de montrer que cela marche.

Sur le côté gauche de l'interface d'administration d'Elastic Beanstalk, vous avez quelques menus intéressants. Par exemple, dans le menu “Configuration” > “Capacité”, vous noterez que par défaut, AWS a configuré l’environnement pour quadrupler de taille si jamais vous êtes inondé de trafic.

AWS adapte par défaut la capacité de votre serveur en cas de hausse inopiné de trafic.
AWS adapte par défaut la capacité de votre serveur en cas de hausse inopinée de trafic.

Rassurez-vous, quand le trafic revient à la normale, AWS se chargera d’éliminer les machines en trop.

Je vous laisse parcourir le reste des menus ; attention néanmoins, car cela peut vite devenir compliqué pour nous qui débutons !

Les statistiques d'utilisation de votre serveur dans la section
Les statistiques d'utilisation de votre serveur dans la section "Surveillance"

Enfin, Elasctic Beanstalk se charge de vous informer des mises à jour de votre environnement. Lorsqu’une nouvelle version de PHP ou du système d’exploitation est disponible, AWS vous affiche un nouveau bouton “Modification”.

Modification de l’environnement d’exécution
Modification de l’environnement d’exécution

Choisissez le nouvel environnement d’exécution et cliquez sur “Enregistrer”.

Choix du nouvel environnement d’exécution
Choix du nouvel environnement d’exécution

Et ensuite ?

Elastic Beanstalk se veut simplifié. Il n'y a pas beaucoup d'options en réalité, mais cela suffit pour lancer des serveurs pour des applications simples. Je vous recommande donc de vous familiariser avec ce service avant d'aller plus loin.

Sous le capot, Elastic Beanstalk a généré un serveur EC2, et fait un peu de configuration pour nous. Si vous retournez sur la liste des services, allez dans la section "EC2", puis dans "Instances" : vous y verrez le serveur de test que vous venez de lancer.

Le serveur EC2 configuré et lancé par ElasticBeanstalk
Le serveur EC2 configuré et lancé par ElasticBeanstalk

Comme je vous l'ai dit, Elastic Beanstalk ne fait que simplifier l'usage des autres services comme EC2 et RDS. Il est tout à fait possible ensuite d'ouvrir le capot de ces services et de les personnaliser... mais gare à vous si vous ne savez pas ce que vous faites ! ☠️

En résumé

  • Amazon Lightsail permet de créer des machines préconfigurées via une interface simplifiée. Ceci le rend idéal pour héberger des sites web, des blogs et des sites e-commerce.

  • On peut sauvegarder son site web rapidement en créant des instantanés depuis l'interface de Lightsail.

  • Une application Elastic Beanstalk est une collection de ressources bas niveau dans EC2, que l'on peut facilement piloter depuis l'interface unifiée de Elastic Beanstalk.

  • Amazon Lightsail et Elastic Beanstalk permettent de suivre la performance de votre application via des graphiques d’utilisation de CPU et de nombre de requêtes réseau. 

Dans la suite de ce cours, je vais justement entrer avec vous dans ces fameuses entrailles d'AWS. Alors, prêt à sortir du pilote automatique, et à passer en mode manuel ? 

Example of certificate of achievement
Example of certificate of achievement