É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 plus d'informations, consultez Intégration CodeDeploy à 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 instances Amazon EC2 utilisées dans les déploiements peuvent télécharger la révision depuis le compartiment.

Vous pouvez utiliser la AWS CLI console Amazon S3 ou les API Amazon S3 pour créer un compartiment Amazon S3. Une fois que vous avez créé le compartiment, veillez à accorder des autorisations d'accès au compartiment et à votre utilisateur CodeDeploy.

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 codedeploydemobucket, essayez un autre nom de compartiment, tel que codedeploydemobucket, suivi d'un tiret et de vos initiales ou d'un autre identificateur unique. Veillez ensuite à substituer votre nom de compartiment à codedeploydemobucket 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 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).

Pour créer un compartiment Amazon S3 (CLI)

Appelez la mb commande pour créer un compartiment Amazon S3 nommé codedeploydemobucket :

aws s3 mb s3://codedeploydemobucket --region region

Pour créer un compartiment Amazon S3 (console)

  1. Ouvrez la console Amazon S3 sur 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é codedeploydemobucket :

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "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 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 (*) permet à toute instance Amazon EC2 associée à un profil d'instance IAM contenant l'arn:aws:iam::444455556666:role/CodeDeployDemoARN de télécharger des fichiers depuis n'importe quel répertoire du compartiment Amazon S3 nommé : codedeploydemobucket

{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::codedeploydemobucket/*", "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 stratégie IAM, que vous ajoutez à l'ensemble d'autorisations de l'utilisateur, ou un rôle IAM (que vous autorisez l'utilisateur à assumer). La politique IAM suivante permet à l'utilisateur de télécharger des révisions n'importe où dans le compartiment Amazon S3 nommé codedeploydemobucket :

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

Pour plus d'informations sur la création d'une stratégie IAM, consultez la section Création de politiques IAM dans le Guide de l'utilisateur IAM. 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://codedeploydemobucket/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 codedeploydemobucket compartiment et enregistre les informations relatives à CodeDeploy la révision téléchargée.