Étape 4 : Déployez votre WordPress application - 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 WordPress application

Vous devez maintenant déployer l'exemple de révision WordPress d'application que vous avez chargé sur Amazon S3. Vous pouvez utiliser 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

Utilisez la console AWS CLI ou la console pour déployer la révision de votre application.

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

  1. 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 disposez de l'ARN du rôle de service, appelez la create-deployment-group commande pour créer un groupe de déploiement nomméWordPress_DepGroup, associé à l'application nomméeWordPress_App, à l'aide de la balise Amazon EC2 CodeDeployDemo et de la configuration de déploiement nommée : CodeDeployDefault.OneAtATime

    aws deploy create-deployment-group \ --application-name WordPress_App \ --deployment-group-name WordPress_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 WordPress_App, à la configuration de déploiement nommée CodeDeployDefault.OneAtATime et au groupe de déploiement nommé WordPress_DepGroup, en utilisant la révision d'application nommée WordPressApp.zip dans le compartiment nommé DOC-EXAMPLE-BUCKET :

    aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DepGroup \ --s3-location bucket=DOC-EXAMPLE-BUCKET,bundleType=zip,key=WordPressApp.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 avez l'ARN, utilisez 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. Dans la liste des applications, choisissez WordPress_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 WordPress_DepGroup.

  7. Sous Deployment type, choisissez déploiement In-place.

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

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

  10. Dans Clé, entrez Name.

  11. Dans Value (Valeur), entrez CodeDeployDemo.

    Note

    Une fois que vous avez saisi le codeCodeDeployDemo, un 1 doit apparaître sous Instances correspondantes pour confirmer qu'une instance Amazon EC2 correspondante CodeDeploy a été trouvée.

  12. Dans Configuration du déploiement, choisissez CodeDeployDefault. OneAtUne heure.

  13. Dans ARN de rôle de service, choisissez l'ARN du rôle de service, puis choisissez Créer un groupe de déploiement.

  14. Choisissez Créer un déploiement.

  15. Dans Groupe de déploiement, choisissez WordPress_DepGroup.

  16. À côté de Type de référentiel, choisissez Mon application est stockée dans Amazon S3. Dans Emplacement de la révision, entrez l'emplacement de l'exemple de révision de WordPress l'application 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 DOC-EXAMPLE-BUCKET (ou le nom du bucket dans lequel vous avez chargé la révision de votre application).

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

    4. Dans l'onglet Présentation, copiez la valeur du champ Lien dans votre presse-papiers.

      Elle peut ressembler à ceci :

      https://s3.amazonaws.com/DOC-EXAMPLE-BUCKET/WordPressApp.zip

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

  17. Dans la liste File type (Type de fichier), si un message s'affiche indiquant que le type de fichier n'a pas pu être détecté, choisissez .zip.

  18. (Facultatif) Tapez un commentaire dans la zone Deployment description.

  19. Développez les remplacements des groupes de déploiement, puis sélectionnez CodeDeployDefault Configuration du déploiement. OneAtUne heure.

  20. Choisissez Démarrer le 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 WordPress_App et le groupe de déploiement nommé WordPress_DepGroup :

    aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_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 du nom du déploiement. Une fois qu'un déploiement a échoué, un message décrivant la raison de l'échec s'affiche.

  2. Dans Activité des instances, d'autres informations sur le déploiement s'affichent. 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 décrite dans 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 le déploiement réussi, vérifiez que votre WordPress installation fonctionne. Utilisez l'adresse DNS publique de l'instance Amazon EC2, suivie de/WordPress, pour consulter votre site 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 du DNS public.)

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/WordPress

Lorsque vous consultez le site dans votre navigateur, vous devriez voir une page d' WordPress accueil semblable à la suivante :

WordPress page d'accueil

Si aucune règle HTTP entrante n'est ajoutée à votre instance Amazon EC2 dans son groupe de sécurité, la page d' WordPress accueil ne s'affiche pas. Si vous voyez un message indiquant que le serveur distant ne répond pas, assurez-vous que le groupe de sécurité de votre instance Amazon EC2 dispose de la règle d'entrée. Pour plus d'informations, voir Ajoutez une règle entrante qui autorise le trafic HTTP vers votre instance Amazon Linux ou RHEL Amazon EC2.