

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esempio 2: creare una pipeline Amazon S3 con AWS CloudFormation
<a name="tutorials-cloudformation-s3"></a>

Questa procedura dettagliata mostra come utilizzare la AWS CloudFormation console per creare un'infrastruttura che include una pipeline connessa a un bucket sorgente Amazon S3. In questo tutorial, utilizzi il file modello di esempio fornito per creare il tuo stack di risorse, che include il bucket di origine, l'artifact store, la pipeline e le risorse di rilevamento delle modifiche, come la regola e il percorso di Amazon Events. CloudWatch CloudTrail Dopo aver creato lo stack di risorse in AWS CloudFormation, puoi visualizzare la pipeline nella console. AWS CodePipeline La pipeline è una pipeline a due fasi con una fase di origine di Amazon S3 e una fase di distribuzione. CodeDeploy

**Prerequisiti:**

È necessario disporre delle seguenti risorse da utilizzare con il modello di esempio: AWS CloudFormation 
+ Devi aver creato le istanze Amazon EC2, dove hai installato l' CodeDeploy agente sulle istanze. È necessario aver creato un' CodeDeploy applicazione e un gruppo di distribuzione. Usa Amazon EC2 e CodeDeploy le risorse in cui hai creato. [Tutorial: crea una pipeline semplice (CodeCommit repository)](tutorials-simple-codecommit.md)
+ Scegli i seguenti link per scaricare i file AWS CloudFormation modello di esempio per la creazione di una pipeline con un sorgente Amazon S3: 
  + Scaricare il modello di esempio per la pipeline: [YAML](samples/codepipeline-s3-events-yaml.zip) \$1 [JSON](samples/codepipeline-s3-events-json.zip)
  + [samples/codepipeline-s3-cloudtrail-yaml.zip](samples/codepipeline-s3-cloudtrail-yaml.zip)
  + Decomprimi i file e memorizzali nel computer locale.
+ [Scarica l'applicazione di esempio da \$1Linux.zip. SampleApp](samples/SampleApp_Linux.zip)

  Salva il file .zip nel computer locale. Puoi caricare il file .zip dopo aver creato lo stack.

**Crea la tua pipeline in AWS CloudFormation**

1. Apri la AWS CloudFormation console e scegli **Create Stack**. Scegliere **Con nuove risorse (standard)**.

1. In **Scegli un modello**, scegli **Carica un modello**. Seleziona **Scegli file**, quindi scegli il file modello dal tuo computer locale. Scegli **Next (Successivo)**.

1. Nel campo **Stack name (Nome stack)**, immetti un nome per la pipeline. Vengono visualizzati i parametri specificati dal modello di esempio. Immetti i seguenti parametri: 

   1. In **ApplicationName**, inserisci il nome della tua CodeDeploy applicazione. Puoi sostituire il nome predefinito `DemoApplication`.

   1. In **BetaFleet**, inserisci il nome del tuo gruppo di CodeDeploy distribuzione. Puoi sostituire il nome predefinito `DemoFleet`.

   1. In **SourceObjectKey**, entra`SampleApp_Linux.zip`. Carica questo file nel bucket dopo che il modello ha creato il bucket e la pipeline.

1. Scegli **Next (Successivo)**. Accetta i valori predefiniti nella pagina successiva e scegli **Next (Successivo)**.

1. In **Capacità**, seleziona **Riconosco che AWS CloudFormation potrebbe creare risorse IAM**, quindi scegli **Create stack**.

1. Alla fine della creazione dello stack, visualizza l'elenco di eventi per verificare che non vi siano errori.

   **Risoluzione dei problemi**

   L'utente IAM che sta creando la pipeline in AWS CloudFormation potrebbe richiedere autorizzazioni aggiuntive per creare risorse per la pipeline. Le seguenti autorizzazioni sono richieste nella policy AWS CloudFormation per consentire la creazione delle risorse Amazon CloudWatch Events richieste per la pipeline Amazon S3:

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

1. Nella CloudFormation scheda **Risorse** del tuo stack, visualizza le risorse che sono state create per il tuo stack. 
**Nota**  
Per visualizzare la pipeline che è stata creata, trova la colonna **ID logico** nella scheda **Risorse** relativa al tuo stack in. CloudFormation Annota il nome nella colonna **Physical ID** per la pipeline. In CodePipeline, puoi visualizzare la pipeline con lo stesso ID fisico (nome della pipeline) nella regione in cui hai creato lo stack.

   Scegliere il bucket S3 con un'etichetta `sourcebucket` nel nome, ad esempio `s3-cfn-codepipeline-sourcebucket-y04EXAMPLE.`. Non scegliere il bucket dell'artefatto della pipeline.

   Il bucket di origine è vuoto perché la risorsa è stata appena creata da CloudFormation. Apri la console Amazon S3 e individua il tuo `sourcebucket` bucket. Scegliere **Upload (Carica)** e seguire le istruzioni per caricare il file .zip `SampleApp_Linux.zip`.
**Nota**  
Se Amazon S3 è il fornitore di origine per la tua pipeline, devi caricare nel tuo bucket tutti i file sorgente impacchettati come un unico file.zip. In caso contrario, l'azione di origine ha esito negativo.

1. Accedi a Console di gestione AWS e apri la console all'indirizzo. CodePipeline [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/)

   In **Pipelines (Pipeline)**, seleziona la pipeline e scegli **View (Visualizza)**. Il diagramma mostra le fasi di distribuzione e di origine della pipeline.

1. Completare i passaggi nella procedura seguente per creare le risorse AWS CloudTrail .

**Crea le tue AWS CloudTrail risorse in AWS CloudFormation**

1. Apri la AWS CloudFormation console e scegli **Create Stack**.

1. In **Choose a template (Scegli un modello)**, scegliere **Upload a template to Amazon S3 (Carica un modello su Amazon S3)**. Scegli **Sfoglia**, quindi seleziona il file modello per le AWS CloudTrail risorse dal tuo computer locale. Scegli **Next (Successivo)**.

1. In **Stack name (Nome stack)** immetti un nome per lo stack di risorse. Vengono visualizzati i parametri specificati dal modello di esempio. Immetti i seguenti parametri: 

   1. In **SourceObjectKey**, accettate l'impostazione predefinita per il file zip dell'applicazione di esempio.

1. Scegli **Next (Successivo)**. Accetta i valori predefiniti nella pagina successiva e scegli **Next (Successivo)**.

1. In **Capacità**, seleziona **Riconosco che AWS CloudFormation potrebbe creare risorse IAM**, quindi scegli **Crea**.

1. Alla fine della creazione dello stack, visualizza l'elenco di eventi per verificare che non vi siano errori.

   Le seguenti autorizzazioni sono richieste nella policy per consentire AWS CloudFormation la creazione CloudTrail delle risorse richieste per la pipeline Amazon S3:

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

1. Accedi a Console di gestione AWS e apri la console all' CodePipeline indirizzo. [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/)

   In **Pipelines (Pipeline)**, seleziona la pipeline e scegli **View (Visualizza)**. Il diagramma mostra le fasi di distribuzione e di origine della pipeline.

1. Nel bucket di origine, confermare e inviare una modifica. Le risorse con rilevamento delle modifiche raccolgono la modifica e la pipeline si avvia.