Étape 4 : Déployez votre application Hello World - AWS CodeDeploy

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Étape 4 : Déployez votre application Hello World

Vous devez maintenant déployer l'exemple de révision de l'application Hello World que vous avez chargé sur Amazon S3. Vous utilisez la console AWS CLI ou la CodeDeploy console pour déployer la révision et suivre la progression du déploiement. Une fois que la révision d'application est déployée avec succès, vous vérifiez les résultats.

Déployez la révision de votre application avec CodeDeploy

Vous pouvez déployer votre application via l'interface de ligne de commande ou la console.

Pour déployer votre révision d'application (interface CLI)

  1. Tout d'abord, le déploiement a besoin d'un groupe de déploiement. Toutefois, avant de créer le groupe de déploiement, vous avez besoin d'un nom ARN de rôle de service. Un rôle de service est un rôle IAM qui autorise un service à agir en votre nom. Dans ce cas, le rôle de service donne CodeDeploy l'autorisation d'accéder à vos instances Amazon EC2 pour étendre (lire) leurs balises d'instance Amazon EC2.

    Vous devriez avoir déjà suivi les instructions de la rubrique Création d'un rôle de service (CLI) pour créer un rôle de service. Pour obtenir le nom ARN du rôle de service, consultez la page Obtenez l'ARN du rôle de service (CLI) .

  2. Maintenant que vous avez l'ARN, appelez la create-deployment-group commande pour créer un groupe de déploiement nomméHelloWorld_DepGroup, associé à l'application nomméeHelloWorld_App, à l'aide de la balise d'instance Amazon EC2 CodeDeployDemo et du nom de la configuration de déploiementCodeDeployDefault.OneAtATime, avec l'ARN du rôle de service :

    aws deploy create-deployment-group --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --deployment-config-name CodeDeployDefault.OneAtATime --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE --service-role-arn serviceRoleARN
    Note

    La create-deployment-groupcommande permet de créer des déclencheurs qui entraînent l'envoi de notifications Amazon SNS aux abonnés du topic concernant des événements spécifiques liés aux déploiements et aux instances. La commande prend également en charge des options permettant d'annuler automatiquement les déploiements et de configurer des alarmes pour arrêter les déploiements lorsque les seuils de surveillance des CloudWatch alarmes d'Amazon sont atteints. Les commandes associées à ces actions ne sont pas incluses dans ce didacticiel.

  3. Avant de créer un déploiement, l' CodeDeploy agent doit être installé sur les instances de votre groupe de déploiement. Vous pouvez installer l'agent à partir de la ligne de commande AWS Systems Manager avec la commande suivante :

    aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tag:Name,Values=CodeDeployDemo --parameters action=Install,name=AWSCodeDeployAgent --schedule-expression "cron(0 2 ? * SUN *)"

    Cette commande crée une association dans Systems Manager State Manager qui installera l' CodeDeploy agent puis tentera de le mettre à jour à 2h00 tous les dimanches matins. Pour plus d'informations sur l' CodeDeploy agent, consultez la section Utilisation de l' CodeDeploy agent. Pour plus d'informations sur Systems Manager, consultez What is AWS Systems Manager.

  4. Maintenant, appelez la commande create-deployment pour créer un déploiement associé à l'application nommée HelloWorld_App, à la configuration de déploiement nommée CodeDeployDefault.OneAtATime et au groupe de déploiement nommé HelloWorld_DepGroup, en utilisant la révision d'application nommée HelloWorld_App.zip dans le compartiment nommé codedeploydemobucket :

    aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=codedeploydemobucket,bundleType=zip,key=HelloWorld_App.zip

Pour déployer votre révision d'application (console)

  1. Avant d'utiliser la CodeDeploy console pour déployer la révision de votre application, vous avez besoin d'un ARN de rôle de service. Un rôle de service est un rôle IAM qui autorise un service à agir en votre nom. Dans ce cas, le rôle de service donne CodeDeploy l'autorisation d'accéder à vos instances Amazon EC2 pour étendre (lire) leurs balises d'instance Amazon EC2.

    Vous devriez avoir déjà suivi les instructions de la rubrique Création d'un rôle de service (console) pour créer un rôle de service. Pour obtenir le nom ARN du rôle de service, consultez la page Obtenir l'ARN du rôle de service (console) .

  2. Maintenant que vous disposez de l'ARN, vous pouvez utiliser la CodeDeploy console pour déployer la révision de votre application.

    Connectez-vous à la CodeDeploy console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/codedeploy.

    Note

    Connectez-vous avec le même utilisateur que celui que vous avez configuréCommencer avec CodeDeploy.

  3. Dans le volet de navigation, développez Deploy, puis choisissez Applications.

  4. Choisissez HelloWorld_App.

  5. Dans l'onglet Groupes de déploiement, choisissez Créer un groupe de déploiement.

  6. Dans Nom du groupe de déploiement, saisissez HelloWorld_DepGroup.

  7. Dans Rôle de service, choisissez le nom du rôle de service.

  8. Dans Type de déploiement, choisissez Sur place.

  9. Dans Configuration de l'environnement, sélectionnez les instances Amazon EC2.

  10. Dans la configuration de l'agent avec AWS Systems Manager, conservez les valeurs par défaut.

  11. Dans Clé, entrez Name.

  12. Dans Value (Valeur), entrez CodeDeployDemo.

  13. Dans Configuration du déploiement, choisissez CodeDeployDefault. OneAtA une heure.

  14. Dans Équilibreur de charge, désactivez Activer l'équilibrage de charge.

  15. Choisissez Créer un groupe de déploiement.

  16. Choisissez Créer un déploiement.

  17. Dans le groupe de déploiement, choisissez HelloWorld_ DepGroup

  18. Dans Type de révision, choisissez Mon application est stockée dans Amazon S3, puis dans Emplacement de la révision, entrez l'emplacement de l'exemple de révision de l'application Hello World que vous avez précédemment chargé sur Amazon S3. Pour obtenir cet emplacement :

    1. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

    2. Dans la liste des buckets, choisissez codedeploydemobucket (ou le nom du bucket dans lequel vous avez chargé la révision de votre application).

    3. Dans la liste des objets, choisissez HelloWorld_App.zip.

    4. Dans l’onglet Overview (Présentation), choisissez Copy path (Copier le chemin).

    5. Retournez à la CodeDeploy console, puis dans Emplacement des révisions, collez la valeur du champ Lien.

  19. Pour Revision file type (Type de fichier de révision), choisissez .zip.

  20. (Facultatif) Entrez un commentaire dans Deployment description) Description du déploiement.

  21. Choisissez Créer un déploiement. Des informations sur votre déploiement nouvellement créé s'affichent dans la page Deployments.

Surveillez et résolvez les problèmes liés à votre déploiement

Utilisez la console AWS CLI ou la console pour surveiller et résoudre les problèmes liés à votre déploiement.

Pour surveiller et dépanner votre déploiement (interface CLI)

  1. Obtenez l'ID du déploiement en appelant la commande list-deployments sur l'application nommée HelloWorld_App et le groupe de déploiement nommé HelloWorld_DepGroup :

    aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --query "deployments" --output text
  2. Appelez la commande get-deployment avec l'ID du déploiement :

    aws deploy get-deployment --deployment-id deploymentID --query "deploymentInfo.status" --output text
  3. La commande renvoie l'état général du déploiement. En cas de réussite, la valeur est Succeeded.

    Si l'état général est le casFailed, vous pouvez appeler des commandes telles que list-deployment-instanceset get-deployment-instancepour résoudre les problèmes. Pour plus d'options de dépannage, consultez la page Analyse des fichiers journaux pour enquêter sur des échecs de déploiement sur les instances.

Pour surveiller et dépanner votre déploiement (console)

Sur la page Déploiements de la CodeDeploy console, vous pouvez surveiller l'état de votre déploiement dans la colonne État.

Pour obtenir plus d'informations sur votre déploiement, notamment si la valeur de la colonne Étata une valeur différente de Succeeded :

  1. Dans la table Déploiements, choisissez votre ID de déploiement. Une fois qu'un déploiement a échoué, un message décrivant la raison de l'échec s'affiche sur la page des détails du déploiement.

  2. . Des informations supplémentaires sur les instances du déploiement sont affichées. Après l'échec d'un déploiement, vous pourrez peut-être déterminer sur quelles instances Amazon EC2 et à quelle étape le déploiement a échoué.

  3. Si vous souhaitez effectuer davantage d'opérations de dépannage, vous pouvez utiliser une technique telle que celle exposée dans la rubrique View Instance Details. Vous pouvez également analyser les fichiers journaux de déploiement sur une instance Amazon EC2. Pour plus d’informations, consultez Analyse des fichiers journaux pour enquêter sur des échecs de déploiement sur les instances.

Vérifiez votre déploiement

Une fois que votre déploiement a réussi, vérifiez que votre installation fonctionne. Utilisez l'adresse DNS publique de l'instance Amazon EC2 pour afficher la page Web dans un navigateur Web. (Pour obtenir la valeur du DNS public, dans la console Amazon EC2, choisissez l'instance Amazon EC2, puis dans l'onglet Description, recherchez la valeur dans Public DNS.)

Par exemple, si l'adresse DNS publique de votre instance Amazon EC2 estec2-01-234-567-890.compute-1.amazonaws.com, vous devez utiliser l'URL suivante :

http://ec2-01-234-567-890.compute-1.amazonaws.com

En cas de succès, vous devez voir une page Web « Hello, World! ».