

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.

# Exemple 2 : créer un pipeline Amazon S3 avec AWS CloudFormation
<a name="tutorials-cloudformation-s3"></a>

Cette présentation explique comment utiliser la AWS CloudFormation console pour créer une infrastructure qui inclut un pipeline connecté à un compartiment source Amazon S3. Dans ce didacticiel, vous utiliserez le fichier modèle fourni pour créer votre pile de ressources, qui inclut votre compartiment source, votre magasin d'artefacts, votre pipeline et les ressources de détection des modifications, telles que votre règle et votre suivi Amazon CloudWatch Events. CloudTrail Après avoir créé votre pile de ressources dans AWS CloudFormation, vous pouvez consulter votre pipeline dans la AWS CodePipeline console. Le pipeline est un pipeline en deux étapes avec une étape source Amazon S3 et une étape de CodeDeploy déploiement.

**Prérequis :**

Vous devez disposer des ressources suivantes pour utiliser l' AWS CloudFormation exemple de modèle :
+ Vous devez avoir créé les instances Amazon EC2, sur lesquelles vous avez installé l' CodeDeploy agent. Vous devez avoir créé une CodeDeploy application et un groupe de déploiement. Utilisez Amazon EC2 et les CodeDeploy ressources que vous y avez créées. [Tutoriel : Création d'un pipeline simple (CodeCommit référentiel)](tutorials-simple-codecommit.md)
+ Cliquez sur les liens suivants pour télécharger les exemples de fichiers AWS CloudFormation modèles permettant de créer un pipeline avec une source Amazon S3 : 
  + Téléchargez l'exemple de modèle pour votre pipeline : [YAML](samples/codepipeline-s3-events-yaml.zip) \$1 [JSON](samples/codepipeline-s3-events-json.zip)
  + [Téléchargez le modèle d'exemple pour votre CloudTrail bucket et votre trail : [YAML \$1 JSON](samples/codepipeline-s3-cloudtrail-yaml.zip)](samples/codepipeline-s3-cloudtrail-json.zip)
  + Décompressez les fichiers et placez-les sur votre ordinateur local.
+ Téléchargez l'exemple d'application à partir du [SampleAppfichier \$1Linux.zip](samples/SampleApp_Linux.zip).

  Enregistrez le fichier .zip sur votre ordinateur local. Vous chargez le fichier .zip après la création de la pile.

**Créez votre pipeline dans AWS CloudFormation**

1. Ouvrez la AWS CloudFormation console, puis choisissez **Create Stack**. Choisissez **Avec de nouvelles ressources (standard)**.

1. Dans **Choisir un modèle**, choisissez **Charger un modèle**. Sélectionnez **Choisir un fichier**, puis choisissez le fichier modèle sur votre ordinateur local. Choisissez **Suivant**.

1. Dans **Nom de la pile**, entrez un nom pour votre pipeline. Les paramètres spécifiés par l'exemple de modèle s'affichent. Entrez les paramètres suivants : 

   1. Dans **ApplicationName**, entrez le nom de votre CodeDeploy application. Vous pouvez remplacer le nom par défaut `DemoApplication`.

   1. Dans **BetaFleet**, entrez le nom de votre groupe de CodeDeploy déploiement. Vous pouvez remplacer le nom par défaut `DemoFleet`.

   1. Dans le champ **SourceObjectKey**, saisissez `SampleApp_Linux.zip`. Vous chargez ce fichier dans votre compartiment une fois que le modèle a créé le compartiment et le pipeline.

1. Choisissez **Suivant**. Acceptez les valeurs par défaut de la page suivante, puis choisissez **Suivant**.

1. Dans **Fonctionnalités**, sélectionnez **Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM**, puis choisissez **Create stack**.

1. Une fois la création de la pile terminée, affichez la liste des événements pour rechercher les erreurs éventuelles.

   **Résolution des problèmes**

   L'utilisateur IAM qui crée le pipeline AWS CloudFormation peut avoir besoin d'autorisations supplémentaires pour créer des ressources pour le pipeline. Les autorisations suivantes sont requises dans la politique afin de AWS CloudFormation créer les ressources Amazon CloudWatch Events requises pour le pipeline Amazon S3 :

   ```
   {
        "Effect": "Allow",
        "Action": [
           "events:PutRule",
           "events:PutEvents",
           "events:PutTargets",
           "events:DeleteRule",
           "events:RemoveTargets",
           "events:DescribeRule"
        ],
        "Resource": "resource_ARN"
   }
   ```

1. Dans CloudFormation l'onglet **Ressources** de votre pile, consultez les ressources créées pour votre pile. 
**Note**  
Pour afficher le pipeline créé, recherchez la colonne **Logical ID** sous l'onglet **Ressources** correspondant à votre stack in CloudFormation. Notez le nom du pipeline dans la colonne **Physical ID**. Dans CodePipeline, vous pouvez afficher le pipeline avec le même identifiant physique (nom du pipeline) dans la région où vous avez créé votre pile.

   Choisissez le compartiment S3 dont le nom comporte une étiquette `sourcebucket`, par exemple `s3-cfn-codepipeline-sourcebucket-y04EXAMPLE.` Ne choisissez pas le compartiment d'artefacts de pipeline.

   Le compartiment source est vide, car la ressource est nouvellement créée par CloudFormation. Ouvrez la console Amazon S3 et localisez votre `sourcebucket` compartiment. Choisissez **Charger**, puis suivez les instructions pour charger votre fichier .zip `SampleApp_Linux.zip`.
**Note**  
Lorsque Amazon S3 est le fournisseur source de votre pipeline, vous devez télécharger dans votre compartiment tous les fichiers source regroupés sous la forme d'un seul fichier .zip. Sinon, l'action source échoue.

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

   Sous **Pipelines**, choisissez votre pipeline, puis choisissez **Afficher**. Le schéma illustre les étapes source et de déploiement de votre pipeline.

1. Effectuez les étapes de la procédure suivante pour créer vos ressources AWS CloudTrail .

**Créez vos AWS CloudTrail ressources dans AWS CloudFormation**

1. Ouvrez la AWS CloudFormation console, puis choisissez **Create Stack**.

1. Dans **Choisir un modèle**, choisissez **Télécharger un modèle sur Amazon S3**. Choisissez **Parcourir**, puis sélectionnez le fichier modèle pour les AWS CloudTrail ressources sur votre ordinateur local. Choisissez **Suivant**.

1. Dans **Nom de la pile**, entrez le nom de votre pile de ressources. Les paramètres spécifiés par l'exemple de modèle s'affichent. Entrez les paramètres suivants : 

   1. Dans **SourceObjectKey**, acceptez la valeur par défaut pour le fichier zip de l'exemple d'application.

1. Choisissez **Suivant**. Acceptez les valeurs par défaut de la page suivante, puis choisissez **Suivant**.

1. Dans **Fonctionnalités**, sélectionnez **Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM**, puis choisissez **Créer**.

1. Une fois la création de la pile terminée, affichez la liste des événements pour rechercher les erreurs éventuelles.

   Les autorisations suivantes sont requises dans la politique AWS CloudFormation afin de créer les CloudTrail ressources requises pour le pipeline Amazon S3 :

   ```
   {
        "Effect": "Allow",
        "Action": [
           "cloudtrail:CreateTrail",
           "cloudtrail:DeleteTrail",
           "cloudtrail:StartLogging",
           "cloudtrail:StopLogging",
           "cloudtrail:PutEventSelectors"
        ],
        "Resource": "resource_ARN"
   }
   ```

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

   Sous **Pipelines**, choisissez votre pipeline, puis choisissez **Afficher**. Le schéma illustre les étapes source et de déploiement de votre pipeline.

1. Dans votre compartiment source, validez et envoyez une modification. Vos ressources de détection de modification récupèrent la modification, et votre pipeline démarre.