É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 la révision de votre application (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 rôle de serviceARN. Un rôle de service est un IAM rôle qui autorise un service à agir en votre nom. Dans ce cas, le rôle de service donne CodeDeploy l'autorisation d'accéder à vos EC2 instances Amazon pour développer (lire) leurs balises d'EC2instance Amazon.

    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 connaître le rôle ARN de service, voirObtenez l'ARN du rôle de service (CLI) .

  2. Maintenant que vous avez le rôle de serviceARN, appelez la create-deployment-group commande pour créer un groupe de déploiement nomméWordPress_DepGroup, associé à l'application nomméeWordPress_App, en utilisant le nom de EC2 balise Amazon CodeDeployDemo et le nom de la configuration de déploiement 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 SNS notifications Amazon 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 les 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é amzn-s3-demo-bucket :

    aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DepGroup \ --s3-location bucket=amzn-s3-demo-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 devez disposer d'un rôle de serviceARN. Un rôle de service est un IAM rôle qui autorise un service à agir en votre nom. Dans ce cas, le rôle de service donne CodeDeploy l'autorisation d'accéder à vos EC2 instances Amazon pour développer (lire) leurs balises d'EC2instance Amazon.

    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 connaître le rôle ARN de service, voirObtenir l'ARN du rôle de service (console) .

  2. Maintenant que vous disposez duARN, 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 Amazon EC2 instances.

  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 devrait apparaître sous Instances correspondantes pour confirmer qu'une EC2 instance Amazon correspondante CodeDeploy a été trouvée.

  12. Dans Configuration du déploiement, choisissez CodeDeployDefault. OneAtATime.

  13. Dans Rôle de service ARN, choisissez le rôle de serviceARN, 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 à l'adresse https://console.aws.amazon.com/s3/.

    2. Dans la liste des buckets, choisissez amzn-s3-demo-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/amzn-s3-demo-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. OneAtATime.

  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 résoudre les problèmes liés à votre déploiement () 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 EC2 instances Amazon 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 EC2 instance Amazon. Pour de plus amples informations, veuillez consulter 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'DNSadresse publique de l'EC2instance Amazon, suivie de/WordPress, pour consulter votre site dans un navigateur Web. (Pour obtenir la DNS valeur publique, dans la EC2 console Amazon, choisissez l'EC2instance Amazon, puis dans l'onglet Description, recherchez la valeur de Public DNS.)

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

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 EC2 instance Amazon 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 EC2 instance Amazon dispose de la règle d'entrée. Pour de plus amples informations, veuillez consulter Ajoutez une règle entrante qui autorise le trafic HTTP vers votre instance Amazon Linux ou RHEL Amazon EC2.