

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
<a name="tutorials-wordpress-deploy-application"></a>

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.

**Topics**
+ [Déployez la révision de votre application avec CodeDeploy](#tutorials-wordpress-deploy-application-create-deployment)
+ [Surveillez et résolvez les problèmes liés à votre déploiement](#tutorials-wordpress-deploy-application-monitor)
+ [Vérifiez votre déploiement](#tutorials-wordpress-deploy-application-verify-deployment)

## Déployez la révision de votre application avec CodeDeploy
<a name="tutorials-wordpress-deploy-application-create-deployment"></a>

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

**Topics**
+ [Pour déployer votre révision d'application (interface CLI)](#tutorials-wordpress-deploy-application-create-deployment-cli)
+ [Pour déployer votre révision d'application (console)](#tutorials-wordpress-deploy-application-create-deployment-console)

### Pour déployer votre révision d'application (interface CLI)
<a name="tutorials-wordpress-deploy-application-create-deployment-cli"></a>

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)](getting-started-create-service-role.md#getting-started-create-service-role-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)](getting-started-create-service-role.md#getting-started-get-service-role-cli).

1. 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\$1DepGroup**, associé à l'application nommée**WordPress\$1App**, à 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-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)commande 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.

1. 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](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent.html). Pour plus d'informations sur Systems Manager, consultez [What is AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html).

1. Maintenant, appelez la commande **create-deployment** pour créer un déploiement associé à l'application nommée **WordPress\$1App**, à la configuration de déploiement nommée **CodeDeployDefault.OneAtATime** et au groupe de déploiement nommé **WordPress\$1DepGroup**, 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)
<a name="tutorials-wordpress-deploy-application-create-deployment-console"></a>

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)](getting-started-create-service-role.md#getting-started-create-service-role-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)](getting-started-create-service-role.md#getting-started-get-service-role-console).

1. 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.](https://console.aws.amazon.com/codedeploy)
**Note**  
Connectez-vous avec le même utilisateur que celui que vous avez configuré[Commencer avec CodeDeploy](getting-started-codedeploy.md).

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

1. Dans la liste des applications, choisissez **WordPress\$1App**.

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

1. Dans **Nom du groupe de déploiement**, saisissez **WordPress\$1DepGroup**.

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

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

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

1. Dans **Clé**, entrez **Name**.

1. Dans **Value (Valeur)**, entrez **CodeDeployDemo**.
**Note**  
Une fois que vous avez saisi le code**CodeDeployDemo**, un **1** doit apparaître sous **Instances correspondantes** pour confirmer qu'une instance Amazon EC2 correspondante CodeDeploy a été trouvée.

1. Dans **Configuration du déploiement**, choisissez **CodeDeployDefault. OneAtATime**.

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

1. Choisissez **Créer un déploiement**.

1. Dans **Groupe de déploiement**, choisissez **WordPress\$1DepGroup**.

1. À 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/](https://console.aws.amazon.com/s3/).

   1. 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). 

   1. Dans la liste des objets, choisissez **WordPressApp.zip.**

   1. 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**

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

1. 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**.

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

1. **Développez les **remplacements des groupes** de **déploiement, puis sélectionnez CodeDeployDefault Configuration** du déploiement. OneAtATime**.

1. 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
<a name="tutorials-wordpress-deploy-application-monitor"></a>

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

**Topics**
+ [Pour surveiller et dépanner votre déploiement (interface CLI)](#tutorials-wordpress-deploy-application-monitor-cli)
+ [Pour surveiller et dépanner votre déploiement (console)](#tutorials-wordpress-deploy-application-monitor-console)

### Pour surveiller et dépanner votre déploiement (interface CLI)
<a name="tutorials-wordpress-deploy-application-monitor-cli"></a>

1. Obtenez l'ID du déploiement en appelant la commande **list-deployments** sur l'application nommée **WordPress\$1App** et le groupe de déploiement nommé **WordPress\$1DepGroup** :

   ```
   aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text
   ```

1. Appelez la commande **get-deployment** avec l'ID du déploiement :

   ```
   aws deploy get-deployment --deployment-id deploymentID --query 'deploymentInfo.status' --output text
   ```

1. 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 `Failed`, vous pouvez appeler des commandes telles que [list-deployment-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-instances.html) et [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html) pour 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](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures).

### Pour surveiller et dépanner votre déploiement (console)
<a name="tutorials-wordpress-deploy-application-monitor-console"></a>

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 **État**a 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.

1. 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é.

1. Si vous souhaitez effectuer davantage d'opérations de dépannage, vous pouvez utiliser une technique telle que celle décrite dans [Afficher les détails de l'instance avec CodeDeploy](instances-view-details.md). Vous pouvez également analyser les fichiers journaux de déploiement sur une instance Amazon EC2. Pour de plus amples informations, veuillez consulter [Analyse des fichiers journaux pour enquêter sur des échecs de déploiement sur les instances](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures).

## Vérifiez votre déploiement
<a name="tutorials-wordpress-deploy-application-verify-deployment"></a>

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 est**ec2-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\]](http://docs.aws.amazon.com/fr_fr/codedeploy/latest/userguide/images/WordPress-Welcome-Page-013118.png)


 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 de plus amples informations, veuillez consulter [Ajoutez une règle entrante qui autorise le trafic HTTP vers votre instance Amazon Linux ou RHEL Amazon EC2Ajoutez une règle entrante qui autorise le trafic HTTP vers votre instance Amazon EC2 de Windows Server](tutorials-wordpress-launch-instance.md#tutorials-wordpress-launch-instance-add-inbound-rule). 