Étape 3 : Téléchargez votre message « Bonjour tout le monde ! » application pour 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 : Téléchargez votre message « Bonjour tout le monde ! » application pour 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 CodeDeploy utilisateur.

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 dans laquelle 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 Amazon S3 et à votre AWS compte

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.

L'utilisateur CodeDeploy administratif que vous avez créé Étape 1 : Configuration doit également être autorisé à télécharger la révision dans le compartiment Amazon S3. Pour le spécifier, vous pouvez notamment utiliser une IAM politique, que vous ajoutez à l'ensemble d'autorisations de l'utilisateur, ou un IAM rôle (que vous autorisez l'utilisateur à assumer). La IAM politique suivante permet à l'utilisateur de télécharger des révisions n'importe où dans le compartiment Amazon S3 nommé amzn-s3-demo-bucket :

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["s3:PutObject"], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Pour plus d'informations sur la création d'une IAM politique, voir Création de IAM politiques dans le Guide de IAM l'utilisateur. Pour plus d'informations sur l'ajout d'une politique à un ensemble d'autorisations, voir Création d'un ensemble d'autorisations dans le Guide de AWS IAM Identity Center l'utilisateur.

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

Assurez-vous que la page Web, le AppSpec fichier et le script sont organisés sur votre machine de développement comme suit :

c:\ |-- temp\ |--HelloWorldApp\ |-- appspec.yml |-- before-install.bat |-- index.html

Regroupez les fichiers de l'application dans un seul fichier d'archive et transférez le fichier d'archive

Groupez les fichiers en un fichier d'archive (appelé révision d'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 c:\temp\HelloWorldApp
    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 c:\temp au lieu de c:\temp\HelloWorldApp, la création du bundle commencera avec les fichiers et les sous-dossiers figurant dans le dossier c:\temp, lequel peut inclure plus que le simple sous-dossier HelloWorldApp.

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

    aws deploy create-application --application-name HelloWorld_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 HelloWorld_App --s3-location s3://amzn-s3-demo-bucket/HelloWorld_App.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éHelloWorld_App.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.