

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.

# Tutoriel : Déploiement WordPress sur une instance Amazon EC2 (Amazon Linux ou Red Hat Enterprise Linux et Linux, macOS ou Unix)
<a name="tutorials-wordpress"></a>

Dans ce didacticiel, vous allez déployer WordPress un outil de blog open source et un système de gestion de contenu basés sur PHP et MySQL sur une seule instance Amazon EC2 exécutant Amazon Linux ou Red Hat Enterprise Linux (RHEL).

Ce n'est pas ce que vous recherchez ?
+ Pour vous entraîner à déployer sur une instance Amazon EC2 exécutant plutôt Windows Server, consultez. [Tutoriel : Déployez un message « Bonjour tout le monde \$1 » application avec CodeDeploy (Windows Server)](tutorials-windows.md)
+ Pour vous entraîner à déployer sur une instance sur site plutôt que sur une instance Amazon EC2, consultez. [Tutoriel : Déployer une application sur une instance locale avec CodeDeploy (Windows Server, Ubuntu Server ou Red Hat Enterprise Linux)](tutorials-on-premises-instance.md)

Les étapes de ce didacticiel sont présentées du point de vue d'une machine de développement locale exécutant Linux, macOS ou Unix. Bien que vous puissiez effectuer la plupart de ces étapes sur une machine locale exécutant Windows, vous devez adapter les étapes qui couvrent des commandes telles que **chmod** et **wget**, des applications telles que sed et des chemins de répertoires tels que `/tmp`.

Avant de commencer ce didacticiel, vous devez remplir les conditions préalables dans [Commencer avec CodeDeploy](getting-started-codedeploy.md). Il s'agit notamment de configurer un utilisateur, d'installer ou de mettre à niveau le AWS CLI, ainsi que de créer un profil d'instance IAM et un rôle de service.

**Topics**
+ [Étape 1 : Lancer et configurer une instance Amazon EC2 Amazon Linux ou Red Hat Enterprise Linux](tutorials-wordpress-launch-instance.md)
+ [Étape 2 : configurer votre contenu source à déployer sur l'instance Amazon EC2 Amazon Linux ou Red Hat Enterprise Linux](tutorials-wordpress-configure-content.md)
+ [Étape 3 : Chargez votre WordPress application sur Amazon S3](tutorials-wordpress-upload-application.md)
+ [Étape 4 : Déployez votre WordPress application](tutorials-wordpress-deploy-application.md)
+ [Étape 5 : Mettez à jour et redéployez votre application WordPress](tutorials-wordpress-update-and-redeploy-application.md)
+ [Étape 6 : Nettoyez votre WordPress application et les ressources associées](tutorials-wordpress-clean-up.md)

# Étape 1 : Lancer et configurer une instance Amazon EC2 Amazon Linux ou Red Hat Enterprise Linux
<a name="tutorials-wordpress-launch-instance"></a>

Pour déployer l' WordPress application CodeDeploy, vous aurez besoin d'une instance Amazon EC2 exécutant Amazon Linux ou Red Hat Enterprise Linux (RHEL). L'instance Amazon EC2 nécessite une nouvelle règle de sécurité entrante qui autorise les connexions HTTP. Cette règle est nécessaire pour afficher la WordPress page dans un navigateur après son déploiement réussi.

Suivez les instructions de la section [Créez une instance Amazon EC2 pour CodeDeploy](instances-ec2-create.md). Lorsque vous arriverez à la partie de ces instructions concernant l'attribution d'une balise d'instance Amazon EC2 à l'instance, assurez-vous de spécifier la clé **Name** de balise et la valeur de balise de. **CodeDeployDemo** (Si vous spécifiez une clé de balise ou une valeur de balise différente, les instructions fournies dans [Étape 4 : Déployez votre WordPress application](tutorials-wordpress-deploy-application.md) peuvent générer des résultats inattendus.)

Après avoir suivi les instructions pour lancer l'instance Amazon EC2, revenez à cette page et passez à la section suivante. Ne passez pas à [Créez une application avec CodeDeploy](applications-create.md) l'étape suivante.

## Connectez-vous à votre instance Amazon Linux ou RHEL Amazon EC2
<a name="tutorials-wordpress-launch-instance-connect"></a>

Après le lancement de votre nouvelle instance Amazon EC2, suivez ces instructions pour vous entraîner à vous y connecter.

1. Utilisez la **ssh** commande (ou un émulateur de terminal compatible SSH tel que [PuTTY](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html)) pour vous connecter à votre instance Amazon Linux ou RHEL Amazon EC2. Vous aurez besoin de l'adresse DNS publique de l'instance et de la clé privée de la paire de clés que vous avez utilisée lorsque vous avez démarré l'instance Amazon EC2. Pour plus d'informations, consultez [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html).

   Par exemple, si l'adresse DNS publique est **ec2-01-234-567-890.compute-1.amazonaws.com** et que votre paire de clés d'instance Amazon EC2 pour l'accès SSH est nommée**codedeploydemo.pem**, vous devez taper :

   ```
   ssh -i /path/to/codedeploydemo.pem ec2-user@ec2-01-234-567-890.compute-1.amazonaws.com
   ```

   Remplacez `/path/to/codedeploydemo.pem` par le chemin de votre `.pem` fichier et l'exemple d'adresse DNS par l'adresse de votre instance Amazon Linux ou RHEL Amazon EC2.
**Note**  
Si vous recevez une erreur indiquant que les autorisations de votre fichier de clé sont trop ouvertes, vous devez limiter ces autorisations pour accorder l'accès uniquement à l'utilisateur actuel (vous-même). Par exemple, avec la **chmod** commande sous Linux, macOS ou Unix, tapez :

   ```
   chmod 400 /path/to/codedeploydemo.pem
   ```

1. Une fois connecté, vous verrez la bannière AMI de l'instance Amazon EC2. Pour Amazon Linux, cela devrait ressembler à ceci :

   ```
          __|  __|_  )
          _|  (     /   Amazon Linux AMI
         ___|\___|___|
   ```

1. Vous pouvez désormais vous déconnecter de l'instance Amazon EC2 en cours d'exécution.
**Avertissement**  
N'arrêtez pas ou ne mettez pas fin à l'instance Amazon EC2. Sinon, je CodeDeploy ne pourrai pas y déployer.

## Ajoutez une règle entrante qui autorise le trafic HTTP vers votre instance Amazon Linux ou RHEL Amazon EC2
<a name="tutorials-wordpress-launch-instance-add-inbound-rule"></a>

L'étape suivante confirme que votre instance Amazon EC2 possède un port HTTP ouvert afin que vous puissiez voir la page d'accueil de l' WordPress application déployée dans un navigateur. 

1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Choisissez **Instances**, puis choisissez votre instance. 

1. Dans l'onglet **Description**, sous **Groupes de sécurité**, choisissez **Afficher les règles entrantes**. 

   Vous devriez voir une liste de règles dans votre groupe de sécurité, comme suit :

   ```
   Security Groups associated with i-1234567890abcdef0
    Ports     Protocol     Source     launch-wizard-N
    22        tcp          0.0.0.0/0          ✔
   ```

1.  Sous **Groupes de sécurité**, choisissez le groupe de sécurité pour votre instance Amazon EC2. Il pourrait être nommé **launch-wizard-*N***. Le ***N*** dans le nom est un numéro attribué à votre groupe de sécurité lorsque l'instance a été créée. 

    Choisissez l'onglet **Entrant**. Si le groupe de sécurité de votre instance est correctement configuré, vous devriez voir apparaître une règle avec les valeurs suivantes : 
   + **Type** : HTTP
   + **Protocole** : TCP
   + **Plage de ports** : 80
   + **Source** : 0.0.0,0/0

1.  Si aucune règle ne contient ces valeurs, utilisez les procédures décrites dans [Ajouter des règles à un groupe de sécurité](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule) pour les ajouter à une nouvelle règle de sécurité. 

# Étape 2 : configurer votre contenu source à déployer sur l'instance Amazon EC2 Amazon Linux ou Red Hat Enterprise Linux
<a name="tutorials-wordpress-configure-content"></a>

Désormais, il est temps de configurer le contenu source de votre application pour que vous ayez quelque chose à déployer sur l'instance.

**Topics**
+ [Obtenez le code source](#tutorials-wordpress-configure-content-download-code)
+ [Créez des scripts pour exécuter votre application](#tutorials-wordpress-configure-content-create-scripts)
+ [Ajouter un fichier de spécification d'application](#tutorials-wordpress-configure-content-add-appspec-file)

## Obtenez le code source
<a name="tutorials-wordpress-configure-content-download-code"></a>

Dans le cadre de ce didacticiel, vous déployez la plateforme de publication de WordPress contenu depuis votre machine de développement vers l'instance Amazon EC2 cible. Pour obtenir le code WordPress source, vous pouvez utiliser les appels de ligne de commande intégrés. Ou, si Git est installé sur votre machine de développement, vous pouvez l'utiliser à la place.

Pour ces étapes, nous supposons que vous avez téléchargé une copie du code WordPress source `/tmp` dans le répertoire de votre machine de développement. (Vous pouvez choisir n'importe quel répertoire, mais n'oubliez pas de remplacer `/tmp` par votre emplacement chaque fois que ce répertoire est spécifié dans ces étapes.)

Choisissez l'une des deux options suivantes pour copier les fichiers WordPress source sur votre machine de développement. La première option utilise des appels de ligne de commande intégrés. La deuxième option utilise Git.

**Topics**
+ [Pour obtenir une copie du code WordPress source (appels de ligne de commande intégrés)](#tutorials-wordpress-configure-content-download-code-command-line)
+ [Pour obtenir une copie du code WordPress source (Git)](#tutorials-wordpress-configure-content-download-code-git)

### Pour obtenir une copie du code WordPress source (appels de ligne de commande intégrés)
<a name="tutorials-wordpress-configure-content-download-code-command-line"></a>

1. Appelez la **wget** commande pour télécharger une copie du code WordPress source, sous forme de fichier .zip, dans le répertoire actuel :

   ```
   wget https://github.com/WordPress/WordPress/archive/master.zip
   ```

1. Appelez les commandes **unzip**, **mkdir**, **cp** et **rm** pour :
   + Décompressez le fichier `master`.zip dans le répertoire (dossier) `/tmp/WordPress_Temp`.
   + Copiez son contenu décompressé dans le dossier de destination `/tmp/WordPress`.
   + Supprimez le dossier `/tmp/WordPress_Temp` temporaire et le fichier `master`.

   Exécutez une par une les commandes :

   ```
   unzip master -d /tmp/WordPress_Temp
   ```

   ```
   mkdir -p /tmp/WordPress
   ```

   ```
   cp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPress
   ```

   ```
   rm -rf /tmp/WordPress_Temp
   ```

   ```
   rm -f master
   ```

   Cela vous laisse un ensemble propre de fichiers de code WordPress source dans le `/tmp/WordPress` dossier.

### Pour obtenir une copie du code WordPress source (Git)
<a name="tutorials-wordpress-configure-content-download-code-git"></a>

1. Téléchargez et installez [Git](http://git-scm.com) sur votre machine de développement.

1. Dans le dossier `/tmp/WordPress`, appelez la commande **git init**. 

1. Appelez la **git clone** commande pour cloner le WordPress dépôt public, en créant votre propre copie dans le dossier de `/tmp/WordPress` destination :

   ```
   git clone https://github.com/WordPress/WordPress.git /tmp/WordPress
   ```

   Cela vous laisse un ensemble propre de fichiers de code WordPress source dans le `/tmp/WordPress` dossier.

## Créez des scripts pour exécuter votre application
<a name="tutorials-wordpress-configure-content-create-scripts"></a>

Créez ensuite un dossier et des scripts dans le répertoire. CodeDeploy utilise ces scripts pour configurer et déployer la révision de votre application sur l'instance Amazon EC2 cible. Vous pouvez utiliser un éditeur de texte quelconque pour créer ces scripts.

1. Créez un répertoire de scripts dans votre copie du code WordPress source :

   ```
   mkdir -p /tmp/WordPress/scripts
   ```

1. Créez un fichier `install_dependencies.sh` dans `/tmp/WordPress/scripts`. Ajoutez les lignes suivantes dans le fichier. Ce script `install_dependencies.sh` installe Apache, MySQL et PHP. Il ajoute également la prise en charge de MySQL à PHP.

   ```
   #!/bin/bash
   sudo amazon-linux-extras install php7.4
   sudo yum install -y httpd mariadb-server php
   ```

1. Créez un fichier `start_server.sh` dans `/tmp/WordPress/scripts`. Ajoutez les lignes suivantes dans le fichier. Ce script `start_server.sh` démarre Apache et MySQL.

   ```
   #!/bin/bash
   systemctl start mariadb.service
   systemctl start httpd.service
   systemctl start php-fpm.service
   ```

1. Créez un fichier `stop_server.sh` dans `/tmp/WordPress/scripts`. Ajoutez les lignes suivantes dans le fichier. Ce script `stop_server.sh` arrête Apache et MySQL.

   ```
   #!/bin/bash
   isExistApp="pgrep httpd"
   if [[ -n $isExistApp ]]; then
   systemctl stop httpd.service
   fi
   isExistApp=pgrep mysqld
   if [[ -n $isExistApp ]]; then
   systemctl stop mariadb.service
   fi
   isExistApp=pgrep php-fpm
   if [[ -n $isExistApp ]]; then
   systemctl stop php-fpm.service
   
   fi
   ```

1. Créez un fichier `create_test_db.sh` dans `/tmp/WordPress/scripts`. Ajoutez les lignes suivantes dans le fichier. Ce `create_test_db.sh` script utilise MySQL pour créer une **test** base de données WordPress à utiliser.

   ```
   #!/bin/bash
   mysql -uroot <<CREATE_TEST_DB
   CREATE DATABASE IF NOT EXISTS test;
   CREATE_TEST_DB
   ```

1. Enfin, créez un script `change_permissions.sh` dans `/tmp/WordPress/scripts`. Il permet de modifier les autorisations des dossiers dans Apache.
**Important**  
 Ce script a mis à jour les autorisations sur le dossier `/tmp/WordPress` pour que tout le monde puisse écrire dans celui-ci. Cela est nécessaire pour WordPress pouvoir écrire dans sa base de données pendant[Étape 5 : Mettez à jour et redéployez votre application WordPress](tutorials-wordpress-update-and-redeploy-application.md). Une fois l' WordPress application configurée, exécutez la commande suivante pour mettre à jour les autorisations selon un paramètre plus sécurisé :  

   ```
   chmod -R 755 /var/www/html/WordPress
   ```

   ```
   #!/bin/bash
   chmod -R 777 /var/www/html/WordPress
   ```

1. Fournissez à tous les scripts des autorisations d'exécution. Sur la ligne de commande, tapez :

   ```
   chmod +x /tmp/WordPress/scripts/*
   ```

## Ajouter un fichier de spécification d'application
<a name="tutorials-wordpress-configure-content-add-appspec-file"></a>

Ajoutez ensuite un fichier de spécification d'application (AppSpec fichier), un fichier au format [YAML](http://www.yaml.org) utilisé pour : CodeDeploy 
+ Mappez les fichiers source de la révision de votre application à leurs destinations sur l'instance Amazon EC2 cible.
+ spécifier des autorisations personnalisées pour les fichiers déployés ;
+ Spécifiez les scripts à exécuter sur l'instance Amazon EC2 cible lors du déploiement.

Le AppSpec fichier doit être nommé`appspec.yml`. Il doit être placé dans le répertoire racine du code source de l'application. Dans ce didacticiel, le répertoire racine est `/tmp/WordPress`.

Grâce à votre éditeur de texte, créez un fichier nommé `appspec.yml`. Ajoutez les lignes suivantes dans le fichier :

```
version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html/WordPress
hooks:
  BeforeInstall:
    - location: scripts/install_dependencies.sh
      timeout: 300
      runas: root
  AfterInstall:
    - location: scripts/change_permissions.sh
      timeout: 300
      runas: root
  ApplicationStart:
    - location: scripts/start_server.sh
    - location: scripts/create_test_db.sh
      timeout: 300
      runas: root
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 300
      runas: root
```

CodeDeploy utilise ce AppSpec fichier pour copier tous les fichiers du `/tmp/WordPress` dossier de la machine de développement vers le `/var/www/html/WordPress` dossier de l'instance Amazon EC2 cible. Au cours du déploiement, CodeDeploy exécute les scripts spécifiés tels qu'ils `root` figurent dans le `/var/www/html/WordPress/scripts` dossier de l'instance Amazon EC2 cible lors d'événements spécifiques du cycle de vie du déploiement, tels que **BeforeInstall** et. **AfterInstall** Si l'exécution de l'un de ces scripts prend plus de 300 secondes (5 minutes), CodeDeploy arrête le déploiement et marque le déploiement comme ayant échoué.

Pour plus d'informations sur ces paramètres, consultez la rubrique [CodeDeploy AppSpec référence de fichier](reference-appspec-file.md).

**Important**  
Les emplacements et les nombres d'espaces entre les différents éléments de ce fichier sont importants. Si l'espacement est incorrect, CodeDeploy cela génère une erreur qui peut être difficile à déboguer. Pour de plus amples informations, veuillez consulter [AppSpec Espacement des fichiers](reference-appspec-file.md#reference-appspec-file-spacing).

# Étape 3 : Chargez votre WordPress application sur Amazon S3
<a name="tutorials-wordpress-upload-application"></a>

Vous allez maintenant préparer et télécharger votre contenu source vers un emplacement à partir duquel CodeDeploy vous pourrez le déployer. Les instructions suivantes vous montrent comment configurer un compartiment Amazon S3, préparer les fichiers de révision de l'application pour le compartiment, regrouper les fichiers de révision, puis transférer la révision dans le compartiment.

**Note**  
Bien que cela ne soit pas abordé dans ce didacticiel, vous pouvez l'utiliser CodeDeploy pour déployer des applications depuis des GitHub référentiels vers des instances. Pour de plus amples informations, veuillez consulter [Intégration CodeDeploy avec GitHub](integrations-partners-github.md).

**Topics**
+ [Provisionner un compartiment Amazon S3](#tutorials-wordpress-upload-application-create-s3-bucket)
+ [Préparer les fichiers de l'application pour le bucket](#tutorials-wordpress-upload-application-prepare-application-files)
+ [Regroupez les fichiers de l'application dans un seul fichier d'archive et transférez le fichier d'archive](#tutorials-wordpress-upload-application-bundle-and-push-archive)

## Provisionner un compartiment Amazon S3
<a name="tutorials-wordpress-upload-application-create-s3-bucket"></a>

Créez un conteneur ou un *compartiment* de stockage dans Amazon S3 ou utilisez un compartiment existant. Assurez-vous que vous pouvez télécharger la révision dans le compartiment et que les instances Amazon EC2 utilisées dans les déploiements peuvent télécharger la révision depuis le compartiment.

Vous pouvez utiliser AWS CLI la console Amazon S3 ou Amazon S3 APIs pour créer un compartiment Amazon S3. Après avoir créé le bucket, assurez-vous de donner des autorisations d'accès au bucket et à votre AWS compte.

**Note**  
Les noms de compartiment doivent être uniques sur Amazon S3 pour tous les AWS comptes. Si vous n'êtes pas en mesure d'utiliser **amzn-s3-demo-bucket**, essayez un autre nom de compartiment, tel que **amzn-s3-demo-bucket**, suivi d'un tiret et de vos initiales ou d'un autre identificateur unique. Veillez ensuite à substituer votre nom de compartiment à **amzn-s3-demo-bucket** chaque fois que vous le verrez tout au long de ce didacticiel.  
Le compartiment Amazon S3 doit être créé dans la même AWS région que celle où vos instances Amazon EC2 cibles sont lancées. Par exemple, si vous créez le bucket dans la région USA Est (Virginie du Nord), vos instances Amazon EC2 cibles doivent être lancées dans la région USA Est (Virginie du Nord).

**Topics**
+ [Pour créer un compartiment Amazon S3 (CLI)](#tutorials-wordpress-upload-application-create-s3-bucket-cli)
+ [Pour créer un compartiment Amazon S3 (console)](#tutorials-wordpress-upload-application-create-s3-bucket-console)
+ [Donnez des autorisations au compartiment et au AWS compte Amazon S3](#tutorials-wordpress-upload-application-create-s3-bucket-grant-permissions)

### Pour créer un compartiment Amazon S3 (CLI)
<a name="tutorials-wordpress-upload-application-create-s3-bucket-cli"></a>

Appelez la **mb** commande pour créer un compartiment Amazon S3 nommé **amzn-s3-demo-bucket** :

```
aws s3 mb s3://amzn-s3-demo-bucket --region region
```

### Pour créer un compartiment Amazon S3 (console)
<a name="tutorials-wordpress-upload-application-create-s3-bucket-console"></a>

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans la console Amazon S3, choisissez **Create bucket**.

1. Dans la zone **Nom du compartiment**, saisissez un nom pour le compartiment.

1. Dans la liste**Région**, choisissez la région cible, puis **Créer**.

### Donnez des autorisations au compartiment et au AWS compte Amazon S3
<a name="tutorials-wordpress-upload-application-create-s3-bucket-grant-permissions"></a>

Vous devez disposer des autorisations nécessaires pour effectuer le téléchargement dans le compartiment Amazon S3. Vous pouvez spécifier ces autorisations par le biais d'une politique de compartiment Amazon S3. Par exemple, dans la politique de compartiment Amazon S3 suivante, l'utilisation du caractère générique (\$1) permet `111122223333` au AWS compte de télécharger des fichiers dans n'importe quel répertoire du compartiment Amazon S3 nommé `amzn-s3-demo-bucket` :

```
{
    "Statement": [
        {
            "Action": [
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "111122223333"
                ]
            }
        }
    ]
}
```

Pour consulter l'identifiant de votre AWS compte, consultez la section [Trouver votre identifiant de AWS compte](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId).

C'est le bon moment pour vérifier que le compartiment Amazon S3 autorisera les demandes de téléchargement provenant de chaque instance Amazon EC2 participante. Vous pouvez le spécifier par le biais d'une politique de compartiment Amazon S3. Par exemple, dans la politique de compartiment Amazon S3 suivante, l'utilisation du caractère générique (\$1) permet à toute instance Amazon EC2 associée à un profil d'instance IAM contenant l'`arn:aws:iam::444455556666:role/CodeDeployDemo`ARN de télécharger des fichiers depuis n'importe quel répertoire du compartiment Amazon S3 nommé : `amzn-s3-demo-bucket`

```
{
    "Statement": [
        {
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::444455556666:role/CodeDeployDemo"
                ]
            }
        }
    ]
}
```

 Pour plus d'informations sur la façon de générer et d'associer une politique de compartiment Amazon S3, consultez les [exemples de politique de compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).

Pour plus d'informations sur la création et l'attachement d'une stratégie IAM, consultez la section [Utilisation des politiques](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html#AddingPermissions_Console).

## Préparer les fichiers de l'application pour le bucket
<a name="tutorials-wordpress-upload-application-prepare-application-files"></a>

Assurez-vous que les fichiers WordPress d'application, le AppSpec fichier et les scripts sont organisés sur votre machine de développement de la manière suivante :

```
/tmp/
  |--WordPress/
      |-- appspec.yml  
      |-- scripts/
      |    |-- change_permissions.sh
      |    |-- create_test_db.sh
      |    |-- install_dependencies.sh
      |    |-- start_server.sh
      |    |-- stop_server.sh
      |-- wp-admin/
      |    |-- (various files...)
      |-- wp-content/
      |    |-- (various files...)
      |-- wp-includes/
      |    |-- (various files...)
      |-- index.php
      |-- license.txt
      |-- readme.html
      |-- (various files ending with .php...)
```

## Regroupez les fichiers de l'application dans un seul fichier d'archive et transférez le fichier d'archive
<a name="tutorials-wordpress-upload-application-bundle-and-push-archive"></a>

Regroupez les fichiers WordPress d'application et le AppSpec fichier dans un fichier d'archive (connu sous le nom de *révision* de l'application).

**Note**  
Il est possible qu'il vous soit facturé le stockage des objets dans un compartiment et le transfert des révisions d'application vers et hors d'un compartiment. Pour plus d’informations, consultez [Tarification Amazon S3](https://aws.amazon.com/s3/pricing/). 

1. Sur la machine de développement, basculez vers le dossier dans lequel les fichiers sont stockés : 

   ```
   cd /tmp/WordPress
   ```
**Note**  
Si vous ne basculez pas dans ce dossier, la création d'un bundle de fichiers commencera dans votre dossier actif. Par exemple, si votre dossier actif est `/tmp` au lieu de `/tmp/WordPress`, la création du bundle commencera avec les fichiers et les sous-dossiers figurant dans le dossier `tmp`, lequel peut inclure plus que le simple sous-dossier `WordPress`.

1. Appelez la commande **create-application** pour enregistrer une nouvelle application nommée **WordPress\$1App** :

   ```
   aws deploy create-application --application-name WordPress_App
   ```

1. Appelez la commande CodeDeploy [push](https://docs.aws.amazon.com/cli/latest/reference/deploy/push.html) pour regrouper les fichiers, télécharger les révisions CodeDeploy sur Amazon S3 et enregistrer les informations relatives à la révision téléchargée, le tout en une seule action. 

   ```
   aws deploy push \
     --application-name WordPress_App \
     --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip \
     --ignore-hidden-files
   ```

   Cette commande regroupe les fichiers du répertoire actuel (à l'exception des fichiers cachés) dans un seul fichier d'archive nommé**WordPressApp.zip**, télécharge la révision dans le **amzn-s3-demo-bucket** compartiment et enregistre les informations relatives à CodeDeploy la révision téléchargée.

# É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). 

# Étape 5 : Mettez à jour et redéployez votre application WordPress
<a name="tutorials-wordpress-update-and-redeploy-application"></a>

Maintenant que vous avez déployé avec succès la révision de votre application, mettez à jour le WordPress code sur la machine de développement, puis utilisez-le CodeDeploy pour redéployer le site. Ensuite, vous devriez voir les modifications de code sur l'instance Amazon EC2.

**Topics**
+ [Configurez le WordPress site](#tutorials-wordpress-update-and-redeploy-application-configure-and-install)
+ [Modifier le site](#tutorials-wordpress-update-and-redeploy-application-modify-code)
+ [Redéployer le site](#tutorials-wordpress-update-and-redeploy-application-deploy-updates)

## Configurez le WordPress site
<a name="tutorials-wordpress-update-and-redeploy-application-configure-and-install"></a>

Pour voir les effets de la modification du code, terminez la configuration du WordPress site afin de disposer d'une installation entièrement fonctionnelle.

1. Tapez l'URL de votre site dans votre navigateur Web. L'URL est l'adresse DNS publique de l'instance Amazon EC2 plus une `/WordPress` extension. Pour cet exemple de WordPress site (et par exemple l'adresse DNS publique de l'instance Amazon EC2), l'URL est. **http://ec2-01-234-567-890.compute-1.amazonaws.com/WordPress**

1. Si vous n'avez pas encore configuré le site, la page d'accueil WordPress par défaut s'affiche. Choisissez **C'est parti \$1**.

1. Pour utiliser la base de données MySQL par défaut, sur la page de configuration de base de données, tapez les valeurs suivantes :
   + **Nom de base de données** : **test**
   + **Nom d'utilisateur** :**root**
   + **Mot de passe** : laissez vide.
   + **Hôte de base de données** : **localhost**
   + **Préfixe de tableau** : **wp\$1**

   Choisissez **Soumettre** pour configurer la base de données.

1. Poursuivez la configuration du site. Sur la page de **bienvenue**, saisissez les valeurs souhaitées, puis choisissez **Installer WordPress**. Une fois l'installation terminée, vous pouvez vous connecter à votre tableau de bord.

**Important**  
 Pendant le déploiement de l' WordPress application, le **change\$1permissions.sh** script a mis à jour les autorisations du `/tmp/WordPress` dossier afin que tout le monde puisse y écrire. C'est le bon moment pour exécuter la commande suivante afin de limiter les autorisations de manière à être le seul, en tant que propriétaire, à pouvoir écrire dans celui-ci :  

```
chmod -R 755 /var/www/html/WordPress
```

## Modifier le site
<a name="tutorials-wordpress-update-and-redeploy-application-modify-code"></a>

Pour modifier le WordPress site, rendez-vous dans le dossier de l'application sur votre machine de développement :

```
cd /tmp/WordPress
```

Pour modifier certaines couleurs du site, dans le fichier `wp-content/themes/twentyfifteen/style.css`, utilisez un éditeur de texte ou **sed** pour remplacer `#fff` par `#768331`. 

Sous Linux ou d'autres systèmes avec GNU **sed**, utilisez :

```
sed -i 's/#fff/#768331/g' wp-content/themes/twentyfifteen/style.css
```

Sous macOS, Unix ou d'autres systèmes avec BSD **sed**, utilisez :

```
sed -i '' 's/#fff/#768331/g' wp-content/themes/twentyfifteen/style.css
```

## Redéployer le site
<a name="tutorials-wordpress-update-and-redeploy-application-deploy-updates"></a>

Maintenant que vous avez modifié le code du site, utilisez Amazon S3 CodeDeploy pour redéployer le site.

Regroupez et chargez les modifications sur Amazon S3, comme décrit dans[Regroupez les fichiers de l'application dans un seul fichier d'archive et transférez le fichier d'archive](tutorials-wordpress-upload-application.md#tutorials-wordpress-upload-application-bundle-and-push-archive). (Lorsque vous suivez ces instructions, souvenez-vous que vous n'avez pas besoin de créer une application.) Donnez à la nouvelle révision la même clé qu'auparavant (**WordPressApp.zip**). Téléchargez-le dans le même compartiment Amazon S3 que vous avez créé précédemment (par exemple,**amzn-s3-demo-bucket**).

Utilisez le AWS CLI, la CodeDeploy console ou le CodeDeploy APIs pour redéployer le site.

**Topics**
+ [Pour redéployer le site (interface CLI)](#tutorials-wordpress-update-and-redeploy-application-deploy-updates-cli)
+ [Pour redéployer le site (console)](#tutorials-wordpress-update-and-redeploy-application-deploy-updates-console)

### Pour redéployer le site (interface CLI)
<a name="tutorials-wordpress-update-and-redeploy-application-deploy-updates-cli"></a>

Appelez la commande **create-deployment** pour créer un déploiement basé sur la révision nouvellement chargée. Utilisez l'application nommée **WordPress\$1App**, la configuration de déploiement nommée **CodeDeployDefault.OneAtATime**, le groupe de déploiement nommé **WordPress\$1DepGroup** et la révision 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
```

Vous pouvez vérifier l'état du déploiement, comme décrit dans la rubrique [Surveillez et résolvez les problèmes liés à votre déploiement](tutorials-wordpress-deploy-application.md#tutorials-wordpress-deploy-application-monitor).

Après avoir CodeDeploy redéployé le site, revisitez-le dans votre navigateur Web pour vérifier que les couleurs ont été modifiées. (Vous devrez peut-être actualiser votre navigateur.) Si les couleurs ont été modifiées, vous avez réussi la procédure. Vous avez réussi à modifier et à redéployer votre site.

### Pour redéployer le site (console)
<a name="tutorials-wordpress-update-and-redeploy-application-deploy-updates-console"></a>

1. 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. Sur l'onglet **Groupes de déploiement**, choisissez **WordPress\$1DepGroup**.

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

1. Sur la page **Créer un déploiement** :

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

   1. Dans la zone **Type de référentiel**, choisissez **Mon application est stockée dans Amazon S3**, puis copiez le lien Amazon S3 de votre révision dans le champ **Emplacement de la révision**. Pour trouver la valeur du lien : 

      1. Dans un onglet de navigateur distinct :

         Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

          Accédez à **amzn-s3-demo-bucket et ouvrez-le, puis choisissez votre révision**,. **WordPressApp.zip** 

      1.  Si le volet **Propriétés** n'est pas visible dans la console Amazon S3, cliquez sur le bouton **Propriétés**. 

      1.  Dans le volet **Propriétés**, copiez la valeur du champ **Lien** dans le champ **Emplacement des révisions** de la CodeDeploy console. 

   1. Si un message s'affiche et vous informe que le type de fichier n'a pas pu être détecté, choisissez **.zip**. 

   1. Laissez la zone **Deployment description** vide.

   1. **Développez les **remplacements des groupes** de **déploiement et choisissez CodeDeployDefault dans 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**.

   1. Vous pouvez vérifier l'état du déploiement, comme décrit dans la rubrique [Surveillez et résolvez les problèmes liés à votre déploiement](tutorials-wordpress-deploy-application.md#tutorials-wordpress-deploy-application-monitor).

      Après avoir CodeDeploy redéployé le site, revisitez-le dans votre navigateur Web pour vérifier que les couleurs ont été modifiées. (Vous devrez peut-être actualiser votre navigateur.) Si les couleurs ont été modifiées, vous avez réussi la procédure. Vous avez réussi à modifier et à redéployer votre site.

# Étape 6 : Nettoyez votre WordPress application et les ressources associées
<a name="tutorials-wordpress-clean-up"></a>

Vous avez maintenant correctement mis à jour le WordPress code et redéployé le site. Pour éviter des frais permanents pour les ressources que vous avez créées pour ce didacticiel, vous devez supprimer :
+ Toutes les CloudFormation piles (ou résiliez toute instance Amazon EC2, si vous les avez créées en dehors CloudFormation de).
+ Tous les compartiments Amazon S3.
+ l'application `WordPress_App` dans CodeDeploy ;
+ L'association AWS Systems Manager State Manager de l' CodeDeploy agent.

Vous pouvez utiliser les AWS CLI consoles Amazon S3, Amazon EC2 et les CodeDeploy consoles, ou AWS APIs pour effectuer le nettoyage. CloudFormation

**Topics**
+ [Pour nettoyer les ressources (interface CLI)](#tutorials-wordpress-clean-up-cli)
+ [Pour nettoyer les ressources (console)](#tutorials-wordpress-clean-up-console)
+ [Quelle est la prochaine étape ?](#tutorials-wordpress-clean-up-whats-next)

## Pour nettoyer les ressources (interface CLI)
<a name="tutorials-wordpress-clean-up-cli"></a>

1. Si vous avez utilisé notre CloudFormation modèle pour ce didacticiel, appelez la **delete-stack** commande par rapport à la pile nommée**CodeDeployDemoStack**. Cela mettra fin à toutes les instances Amazon EC2 associées et supprimera tous les rôles IAM associés créés par la pile :

   ```
   aws cloudformation delete-stack --stack-name CodeDeployDemoStack
   ```

1. Pour supprimer le compartiment Amazon S3, appelez la **rm** commande en utilisant le **--recursive** commutateur correspondant au compartiment nommé**amzn-s3-demo-bucket**. Elle supprime le compartiment et tous les objets qui y figurent :

   ```
   aws s3 rm s3://amzn-s3-demo-bucket --recursive --region region
   ```

1. Pour supprimer l'application `WordPress_App`, appelez la commande **delete-application**. Elle supprime également tous les enregistrements de groupe de déploiement et les enregistrements de déploiement associés pour l'application :

   ```
   aws deploy delete-application --application-name WordPress_App
   ```

1. Pour supprimer l'association Systems Manager State Manager, appelez la **delete-association** commande.

   ```
   aws ssm delete-association --assocation-id association-id
   ```

   Vous pouvez l'obtenir *association-id* en appelant la **describe-association** commande.

   ```
   aws ssm describe-association --name AWS-ConfigureAWSPackage --targets Key=tag:Name,Values=CodeDeployDemo
   ```

Si vous n'avez pas utilisé la CloudFormation pile pour ce didacticiel, appelez la **terminate-instances** commande pour mettre fin aux instances Amazon EC2 que vous avez créées manuellement. Fournissez l'ID de l'instance Amazon EC2 à résilier :

```
aws ec2 terminate-instances --instance-ids instanceId
```

## Pour nettoyer les ressources (console)
<a name="tutorials-wordpress-clean-up-console"></a>

Si vous avez utilisé notre CloudFormation modèle pour ce didacticiel, supprimez la CloudFormation pile associée.

1. Connectez-vous à la CloudFormation console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Dans la zone **Filtre**, tapez le nom de la CloudFormation pile que vous avez créée précédemment (par exemple,**CodeDeployDemoStack**).

1. Cochez la case en regard du nom de la pile. Dans le menu **Actions**, sélectionnez **Supprimer pile**.

   CloudFormation supprime la pile, met fin à toutes les instances Amazon EC2 associées et supprime tous les rôles IAM associés.

Pour mettre fin aux instances Amazon EC2 que vous avez créées en dehors d'une CloudFormation pile :

1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Dans la liste **INSTANCES**, sélectionnez **Instances**.

1. Dans le champ de recherche, tapez le nom de l'instance Amazon EC2 que vous souhaitez résilier (par exemple,**CodeDeployDemo**), puis appuyez sur Entrée.

1. Choisissez le nom de l'instance Amazon EC2.

1. Dans le menu **Actions**, pointez sur **État de l'instance**, puis choisissez **Terminer**. À l'invite, choisissez **Oui, résilier**. 

Répétez ces étapes pour chaque instance.

Pour supprimer le compartiment Amazon S3, procédez comme suit :

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans la liste des compartiments, recherchez et choisissez le nom du compartiment Amazon S3 que vous avez créé précédemment (par exemple,**amzn-s3-demo-bucket**).

1. Avant de pouvoir supprimer un compartiment, vous devez d'abord supprimer son contenu. Sélectionnez tous les fichiers figurant dans le compartiment, tels que **WordPressApp.zip**. Dans le menu **Actions**, sélectionnez **Delete**. Lorsque vous êtes invité à confirmer la suppression, choisissez **OK**. 

1. Une fois que le compartiment est vide, vous pouvez le supprimer. Dans la liste des compartiments, sélectionnez la ligne du compartiment (mais pas son nom). Choisissez **Supprimer le compartiment**, lorsque vous êtes invité à confirmer, puis **OK**. 

Pour supprimer l'`WordPress_App`application depuis CodeDeploy :

1. 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. Sur la page **Détails de l'application**, choisissez **Supprimer l'application**.

1. À l'invite, entrez le nom de l'application pour confirmer que vous souhaitez la supprimer, puis choisissez **Supprimer**. 

Pour supprimer l'association Systems Manager State Manager, procédez comme suit :

1. Ouvrez la AWS Systems Manager console dans https://console.aws.amazon.com /systems-manager.

1. Dans le volet de navigation, sélectionnez **State Manager**.

1. Sélectionnez l'association que vous avez créée et choisissez **Delete (Supprimer)**.

## Quelle est la prochaine étape ?
<a name="tutorials-wordpress-clean-up-whats-next"></a>

Félicitations pour être arrivé jusqu'ici \$1 Vous avez réussi un déploiement CodeDeploy, puis mis à jour le code de votre site et l'avez redéployé. 