Étape 3 : Chargez votre WordPress application sur Amazon S3 - 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 3 : Chargez votre WordPress application sur Amazon S3

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.

Provisionner un compartiment Amazon S3

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 EC2 instances Amazon 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 EC2 instances Amazon cibles sont lancées. Par exemple, si vous créez le bucket dans la région USA Est (Virginie du Nord), vos EC2 instances Amazon cibles doivent être lancées dans la région USA Est (Virginie du Nord).

Pour créer un compartiment Amazon S3 (CLI)

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)

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

  2. Dans la console Amazon S3, choisissez Create bucket.

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

  4. Dans la listeRégion, choisissez la région cible, puis Créer.

Donnez des autorisations au compartiment et au AWS compte Amazon S3

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 (*) 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.

C'est le bon moment pour vérifier que le compartiment Amazon S3 autorisera les demandes de téléchargement provenant de chaque EC2 instance Amazon 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 (*) permet à toute EC2 instance Amazon associée à un profil d'IAMinstance contenant le de ARN arn:aws:iam::444455556666:role/CodeDeployDemo 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.

Pour plus d'informations sur la création et l'attachement d'une IAM stratégie, consultez la section Utilisation des politiques.

Préparer les fichiers de l'application pour le bucket

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

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.

  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.

  2. Appelez la commande create-application pour enregistrer une nouvelle application nommée WordPress_App :

    aws deploy create-application --application-name WordPress_App
  3. Appelez la commande CodeDeploy push 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.