Dans ce tutoriel, vous allez apprendre à déployer du code d'application sur une machine virtuelle sur AWS. Vous utiliserez AWS CodeDeploy, un service qui automatise les déploiements de code sur les serveurs AWS ou sur site, pour déployer du code sur les machines virtuelles que vous créez et gérez avec Amazon EC2. 

Toutes les opérations dans ce didacticiel sont éligibles à une offre gratuite.

Gérer vos ressources AWS

Connectez-vous à la console

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


a. Lorsque vous cliquez ici, AWS Management Console s'ouvre dans une nouvelle fenêtre de navigateur pour maintenir le guide détaillé ouvert.  Cliquez sur Créer une paire de clés.

tmt-codeDeploy-20

(cliquez pour zoomer)

tmt-codeDeploy-20

b.  Attribuez un nm à la paire de clés.  Pour ce didacticiel, nous l'appellerons MaPremièreClé. Cliquez sur Créer.

Remarque : Amazon EC2 utilise la cryptographie à clé publique pour chiffrer et déchiffrer les informations de connexion. Pour en savoir plus sur les paires de clés, consultez 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.  Recherchez CodeDeploy sous Outils de développement et cliquez pour ouvrir la console AWS CodeDeploy.

tmt-codeDeploy-0

(cliquez pour zoomer)

tmt-codeDeploy-0

b. Dans la console AWS CodeDeploy, cliquez sur Démarrer maintenant.

Si vous disposez déjà d'applications, consultez la colonne de droite et cliquez Créer une démonstration de déploiement.

tmt-codeDeploy-1

(cliquez pour zoomer)

tmt-codeDeploy-1

c. Sélectionnez Exemple de déploiement et cliquez sur Suivant.

tmt-codeDeploy-2

(cliquez pour zoomer)

tmt-codeDeploy-2

Vous devrez lancer une machine virtuelle AWS pour y déployer votre code.  Les machines virtuelles AWS s'appellent des instances Amazon EC2, ou simplement « instances ». Dans cette étape, nous lancerons trois instances EC2 en utilisant un modèle EC2 pré-configuré.

a. Cliquez sur l'icône d'accueil dans l'angle supérieur gauche d'AWS Management Console.  Recherchez CodeDeploy sous Outils de développement et cliquez pour ouvrir la console AWS CodeDeploy.

tmt-codeDeploy-0

(cliquez pour zoomer)

tmt-codeDeploy-0

Vous allez définir les paramètres de votre instance avec les options ci-dessous :

  • Système d'exploitation : vous pouvez choisir le système d'exploitation de votre instance EC2.  Pour ce didacticiel, nous utiliserons Amazon Linux
  • Type d'instance : pour ce didacticiel, le type d'instance t1.micro a été sélectionné comme type par défaut pour rester dans l'offre gratuite. Amazon EC2 propose un large choix de types d'instances optimisés pour répondre à différents cas d'utilisation. Les types d'instance comprennent différentes combinaisons de CPU, de mémoire, de stockage et de capacité de réseau et vous donnent la possibilité de choisir la combinaison de ressources appropriée pour vos applications.  
  • Nom de la paire de clés : dans la liste déroulante, choisissez la paire de clés d'instance Amazon EC2 que vous avez créée à 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é et cette valeur de balise pour localiser les instances lors des déploiements. Vous pouvez conserver les valeurs par défaut.

Cliquez sur Lancer les instances.

Remarque : cette opération peut prendre quelques minutes.  Pendant que vous patientez, n'hésitez pas à revoir ce tutoriel avec la vidéo ci-dessous :

tmt-codeDeploy-4

(cliquez pour zoomer)

tmt-codeDeploy-4

AWS CodeDeploy utilise les noms d'application lors des déploiements de code pour faire référence aux composants de déploiement corrects, tels que le groupe de déploiement, la configuration du déploiement et la révision de l'application.


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

tmt-codeDeploy-5

(cliquez pour zoomer)

tmt-codeDeploy-5

b. Examinez les informations relatives à la révision de votre application, telles que son emplacement et sa description.

Remarque : vous avez la possibilité de télécharger l'ensemble de l'exemple. Dans cette vue, vous pouvez consulter les informations relatives à la révision de l'application que à déployer sur EC2. Une révision d'application est un fichier d'archive contenant le contenu source, tel que le code source, les pages Web, les fichiers exécutables et les scripts de déploiement, ainsi qu'un fichier de spécification d'application (fichier AppSpec). Le fichier AppSpec permet à CodeDeploy de faire correspondre les fichiers sources de votre révision à leurs destinations et à exécuter des scripts à différentes étapes 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, des instances Amazon EC2 dans des groupes Auto Scaling ou les deux.


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

Vous spécifierez ensuite les instances Amazon EC2 à déployer en saisissant la paire clé-valeur dans la section Rechercher en fonction des balises Amazon EC2 :

  • Les colonnes Clé et Valeur doivent contenir les valeurs de l'étape 3.
  • La colonne Instances indique le nombre d'instances EC2 pour lesquelles vous allez déployer le code.  Pour ce tutoriel, nous avons lancé et pré-configuré trois instances EC2 et ces instances ont déjà été regroupées dans un groupe de déploiement.

Choisissez Étape suivante.

tmt-codeDeploy-8

(cliquez pour zoomer)

tmt-codeDeploy-8

Au cours de cette étape, vous autoriserez AWS CodeDeploy à déployer sur vos instances. Vous créez un rôle pour un service AWS lorsque vous souhaitez accorder des autorisations à un service comme Amazon EC2 ou AWS CodeDeploy. Ces services peuvent accéder aux ressources de AWS. Par conséquent, vous devez créer un rôle pour déterminer ce que le service est autorisé à faire avec ces ressources.


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

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

Cliquez sur Étape suivante.

tmt-codeDeploy-9

(cliquez pour zoomer)

tmt-codeDeploy-9

Dans cette étape, nous allons sélectionner une configuration de déploiement et lancer le déploiement sur nos trois instances EC2. À l'issue de cette étape, nous aurons déployé avec succès un site Web dynamique et opérationnel que nous pourrons visiter en ligne.


a. La configuration du déploiement vous permet de déterminer le nombre d'instances sur lesquelles déployer simultanément les révisions de votre application et décrit les conditions de succès et d'échec du déploiement. Par exemple, en utilisant la configuration par défaut (« Un à la fois »), si vous déployez votre application sur 3 instances, cette configuration se déploie sur une instance à la fois.

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

tmt-codeDeploy-10

(cliquez pour zoomer)

tmt-codeDeploy-10

b. Vérifiez les informations de votre déploiement, puis cliquez sur  Déployer maintenant.

Remarque : cette opération peut durer quelques minutes.

tmt-codeDeploy-11

(cliquez pour zoomer)

tmt-codeDeploy-11

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

tmt-codeDeploy-14

(cliquez pour zoomer)

tmt-codeDeploy-14

d.  Cliquez sur l'ID de l'une des instances que vous avez déployées. Vous accédez au tableau de bord EC2 où vous pourrez visualiser 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 dans le champ DNS public du panneau inférieur, collez l'adresse dans votre navigateur, et vous verrez ainsi votre page Web en direct.

tmt-codeDeploy-21

(cliquez pour zoomer)

tmt-codeDeploy-21

Pour ne pas être facturé des frais, vous devez nettoyer les ressources utilisées dans ce didacticiels. Les instances EC2 que vous avez lancées pour ce didacticiel continueront de fonctionner à moins que vous n'y mettiez fin.


a. Dans la console EC2, la barre de recherche est contient par défaut un filtre de recherche de l'ID d'instance.  Supprimez ce filtre pour afficher toutes les instances lancées par CodeDeploy.  

tmt-codeDeploy-16a

(cliquez pour zoomer)

tmt-codeDeploy-16a

b. Sélectionnez la case de chaque instance d'Amazon EC2 à arrêter. Sélectionnez Actions, État de l'instance et cliquez sur Arrêter.

Lorsqu'un message le demande, cliquez sur Oui, arrêter.

tmt-codeDeploy-18a

(cliquez pour zoomer)

tmt-codeDeploy-18a

Vous avez créé et réalisé avec succès votre tout premier déploiement de code sur des instances Amazon EC2 en utilisant AWS CodeDeploy. En utilisant un modèle fourni, vous avez d'abord lancé trois instances pré-configurées avec les balises appropriées et installées avec l'agent nécessaire pour utiliser AWS CodeDeploy. Enfin, vous avez préparé votre application pour le déploiement, vous avez autorisé CodeDeploy à déployer sur vos instances, puis vous avez déployé votre code avec succès.

Maintenant que vous avez terminé un exemple de déploiement sur des instances Amazon EC2 en utilisant AWS CodeDeploy, vous pouvez commencer à apprendre à utiliser CodeDeploy dans vos propres applications. Consultez la documentation de CodeDeploy pour savoir comment lancer des instances EC2 et ensuite configurer les instances afin que CodeDeploy puisse y déployer du code. Dans notre didacticiel, nous avons simplifié ces étapes de configuration pour vous aider à apprendre et à expérimenter le fonctionnement de CodeDeploy.

En savoir plus sur la configuration des instances AWS CodeDeploy

Oui
Non