Dans ce didacticiel, vous apprendrez à déployer le code d’une application vers une machine virtuelle sur AWS. Vous utiliserez AWS CodeDeploy, un service qui automatise les déploiements de codes sur AWS ou des serveurs sur site, afin de déployer le code sur des machines virtuelles créées et gérées avec Amazon EC2. 

Toutes les étapes de ce didacticiel peuvent être réalisées dans le cadre de l’offre gratuite.

Gérez vos ressources AWS

Se connecter à la console

Vous devrez créer une paire de clés pour accéder à votre machine virtuelle avec Amazon EC2.  Si vous possédez déjà une paire de clés, passez directement à l’étape 2.


a. Lorsque vous cliquez ici, AWS Management Console est lancé dans une nouvelle fenêtre du navigateur. Vous pouvez ainsi garder ce guide détaillé ouvert.  Cliquez sur Créer une paire de clés.

tmt-codeDeploy-20

(cliquez pour zoomer)

tmt-codeDeploy-20

b. Nommez votre paire de clés.  Dans le cadre de ce didacticiel, nous utiliserons MaPremièreClé. Cliquez sur Créer.

Remarque : Amazon EC2 utilise la cryptographie de clés publiques pour chiffrer et déchiffrer les informations de connexion. Pour en savoir plus sur les paires de clés, consultez la section Paires de clés Amazon EC2.

tmt-codeDeploy-19

(cliquez pour zoomer)

tmt-codeDeploy-19

a. Cliquez sur l’icône d’accueil dans l’angle supérieur gauche d’AWS Management Console.  Trouvez CodeDeploy sous Outils pour développeurs, puis cliquez pour ouvrir la console AWS CodeDeploy.

tmt-codeDeploy-0

(cliquez pour zoomer)

tmt-codeDeploy-0

b. Dans la console AWS CodeDeploy, cliquez sur Pour commencer.

Si vous possédez déjà des applications, recherchez la bonne colonne et cliquez sur Créer une procédure détaillée de déploiement.

tmt-codeDeploy-1

(cliquez pour zoomer)

tmt-codeDeploy-1

c. Sélectionnez Exemple de déploiement, puis cliquez sur Étape suivante.

tmt-codeDeploy-2

(cliquez pour zoomer)

tmt-codeDeploy-2

Vous devez lancer une machine virtuelle AWS pour y déployer votre code.  Les machines virtuelles AWS sont appelées « instances Amazon EC2 » ou simplement « instances ». Au cours de cette étape, nous allons lancer trois instances EC2 à l’aide d’un modèle EC2 préconfiguré.


Vous devrez configurer vos paramètres d’instance avec les options ci-dessous :

  • Système d’exploitation : vous pouvez choisir le système d’exploitation de votre instance EC2.  Dans le cadre de ce didacticiel, nous utiliserons Amazon Linux.
  • Type d’instance : dans le cadre de ce didacticiel, le type d’instance t1.micro a été sélectionné en tant que valeur par défaut afin de rester dans le cadre de l’offre gratuite. Amazon EC2 fournit un vaste éventail de types d’instances optimisés pour différents cas d’utilisation. Ces types d’instances correspondent à différentes combinaisons en termes de capacités de CPU, de mémoire, de stockage et de mise en réseau. Vous pouvez ainsi choisir un ensemble de ressources parfaitement adapté à vos applications.
  • Nom de la paire de clés : dans la liste déroulante, sélectionnez la paire de clés de l’instance Amazon EC2 que vous avez créée dans l’étape 1, MaPremièreClé, pour vous connecter aux instances Amazon EC2. Vous pouvez également choisir une paire de clés que vous possédez déjà.
  • Clé et valeur de balise : AWS CodeDeploy utilisera cette clé de balise et sa valeur pour localiser les instances pendant les déploiements. Vous pouvez conserver les valeurs par défaut.

Cliquez sur Lancer des instances.

Remarque : cette étape peut prendre plusieurs minutes.  En attendant, n’hésitez pas à passer en revue ce didacticiel en regardant la vidéo ci-dessous :

codeDeploy_video
2:10
AWS CodeDeploy : procédure détaillée
tmt-codeDeploy-4

(cliquez pour zoomer)

tmt-codeDeploy-4

AWS CodeDeploy utilise le nom des applications lors d’un déploiement afin de s’assurer de référencer les composants de déploiement appropriés, tels que le groupe de déploiement, la configuration de déploiement et la révision d’application.


a. Dans la zone Nom de l’ application, saisissez HelloWorld comme nom de votre exemple d’application, puis cliquez sur Étape suivante.

tmt-codeDeploy-5

(cliquez pour zoomer)

tmt-codeDeploy-5

b. Passez en revue les informations sur la révision de votre application, telles que son emplacement et sa description.

Remarque : vous avez la possibilité de télécharger le lot d’exemples. Dans cette section, vous pouvez vérifier les informations sur la révision de l’application que vous souhaitez déployer sur EC2. Une révision d’application est un fichier d’archive contenant du contenu source (code source, pages Web, fichiers exécutables et scripts de déploiement) ainsi qu’un fichier de spécifications de l’application (fichier AppSpec). Le fichier AppSpec aide CodeDeploy à mapper les fichiers sources de votre révision à leurs destinations et à exécuter des scripts à différentes phases du déploiement.

Cliquez sur Étape suivante

tmt-codeDeploy-7

(cliquez pour zoomer)

tmt-codeDeploy-7

Un groupe de déploiement est un ensemble d’instances EC2 individuelles sur lesquelles CodeDeploy déploie des révisions. Un groupe de déploiement contient des instances balisées individuellement ou des instances Amazon EC2 dans des groupes Auto Scaling, ou les deux.


Dans la zone Nom du groupe de déploiement, laissez tel quel le nom du groupe de déploiement proposé (DemoFleet).

Vous devez ensuite spécifier les instances Amazon EC2 à déployer en entrant la paire clé-valeur dans la section Rechercher par balise Amazon EC2 :

  • Les colonnes Clé et Valeur doivent indiquer automatiquement les valeurs de l’étape 3.
  • La colonne Instances affiche le nombre d’instances EC2 sur lesquelles vous déploierez du code.  Dans le cadre de ce didacticiel, nous avons lancé et préconfiguré trois instances EC2, qui ont déjà été balisées ensemble dans un groupe de déploiement.

Cliquez sur Étape suivante.

tmt-codeDeploy-8

(cliquez pour zoomer)

tmt-codeDeploy-8

Au cours de cette étape, vous donnerez à AWS CodeDeploy la permission de déployer vos instances. Vous devez créer un rôle pour un service AWS lorsque vous souhaitez accorder des autorisations à un service tel qu’Amazon EC2 ou AWS CodeDeploy. Ces services peuvent accéder aux ressources AWS, c’est pourquoi vous devez créer un rôle pour déterminer de quelle façon le service est autorisé à utiliser ces ressources.


Rôle du service : choisissez Créer un nouveau rôle de service.  Si vous avez déjà un rôle de service, vous pouvez choisir Utiliser un rôle de service existant.

Nom de rôle : vous pouvez accepter la valeur par défaut CodeDeploy_HelloWorld.  Si vous utilisez un rôle de service existant, sélectionnez-le dans la liste déroulante Nom du rôle.

Cliquez sur Étape suivante

tmt-codeDeploy-9

(cliquez pour zoomer)

tmt-codeDeploy-9

Au cours de cette étape, nous allons sélectionner une configuration de déploiement puis lancer le déploiement sur nos trois instances EC2. À la fin de cette étape, nous aurons réussi à déployer un site Web pleinement fonctionnel, que nous pourrons consulter en ligne.


a. La configuration du déploiement vous permet de déterminer le nombre d’instances sur lesquelles vous déploierez simultanément vos révisions d’application et décrit les conditions de réussite et d’échec pour le déploiement. Par exemple, avec la configuration par défaut (« une à la fois »), si vous déployez votre application sur 3 instances, cette configuration se déploiera sur une instance à la fois.

Acceptez la configuration de déploiement par défaut, puis cliquez sur Étape suivante.

tmt-codeDeploy-10

(cliquez pour zoomer)

tmt-codeDeploy-10

b. Passez en revue les informations relatives à votre déploiement et cliquez sur Déployer maintenant.

Remarque : ce processus peut prendre plusieurs minutes.

tmt-codeDeploy-11

(cliquez pour zoomer)

tmt-codeDeploy-11

c. Notre exemple de révision déploie une page Web unique sur chaque instance. Une fois que les trois instances sont terminées, cliquez sur Afficher toutes les instances.

tmt-codeDeploy-14

(cliquez pour zoomer)

tmt-codeDeploy-14

d. Cliquez sur l’ID d’instance de l’une des instances sur lesquelles vous avez effectué le déploiement. Cette action vous permet d’accéder au tableau de bord EC2, où vous pouvez consulter l’instance que vous avez lancée.

tmt-codeDeploy-15

(cliquez pour zoomer)

tmt-codeDeploy-15

e. Pour vérifier si votre exemple d’application s’est déployé avec succès, copiez l’adresse qui apparaît dans le champ DNS public dans le volet inférieur et collez-la dans votre navigateur : votre page Web devrait être active.

tmt-codeDeploy-21

(cliquez pour zoomer)

tmt-codeDeploy-21

Pour éviter des frais futurs, vous devez nettoyer les ressources utilisées dans le cadre de ce didacticiel. Si vous ne résiliez pas les instances EC2 que vous avez lancées pour ce didacticiel, celles-ci continueront de s’exécuter.


a. Dans la console EC2, un filtre de recherche pour l’ID d’instance apparaît automatiquement dans la barre de recherche.  Supprimez ce filtre : toutes les instances lancées par CodeDeploy s’afficheront alors.  

tmt-codeDeploy-16a

(cliquez pour zoomer)

tmt-codeDeploy-16a

b. Sélectionnez les cases correspondant à chaque instance Amazon EC2 que vous souhaitez résilier. Sélectionnez Actions, État de l’instance, puis cliquez sur Résilier.

À l’invite, cliquez sur Oui, résilier.

tmt-codeDeploy-18a

(cliquez pour zoomer)

tmt-codeDeploy-18a

Vous êtes parvenu à créer et compléter votre premier déploiement de code sur des instances Amazon EC2 à l’aide d’AWS CodeDeploy. À l’aide d’un modèle fourni, vous avez d’abord lancé trois instances qui avaient été préconfigurées avec les balises appropriées et installées avec l’agent requis pour utiliser AWS CodeDeploy. Enfin, vous avez préparé votre demande de déploiement, accordé à CodeDeploy l’autorisation de déployer sur vos instances, puis réussi à déployer votre code.

Maintenant que vous avez complété un exemple de déploiement sur des instances Amazon EC2 à l’aide d’AWS CodeDeploy, vous pouvez apprendre à utiliser CodeDeploy dans vos propres applications. Consultez la documentation CodeDeploy pour savoir comment lancer des instances EC2 puis les configurer de manière à ce que CodeDeploy puisse y déployer du code. Dans notre didacticiel, nous avons simplifié ces étapes de configuration pour vous aider à comprendre le fonctionnement de CodeDeploy et le mettre en pratique.

Découvrir comment configurer des instances AWS CodeDeploy

Oui
Non