

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à.

# Fase 4: Implementa la tua applicazione Hello World
<a name="tutorials-windows-deploy-application"></a>

Ora distribuisci la revisione di esempio dell'applicazione Hello World che hai caricato su Amazon S3. Utilizzi la console AWS CLI o la CodeDeploy console per distribuire la revisione e monitorare l'avanzamento della distribuzione. Una volta distribuita la revisione dell'applicazione, si possono controllare i risultati.

**Topics**
+ [Implementa la revisione dell'applicazione con CodeDeploy](#tutorials-windows-deploy-application-create-deployment)
+ [Monitora e risolvi i problemi della distribuzione](#tutorials-windows-deploy-application-monitor)
+ [Verifica la tua implementazione](#tutorials-windows-deploy-application-verify)

## Implementa la revisione dell'applicazione con CodeDeploy
<a name="tutorials-windows-deploy-application-create-deployment"></a>

 Puoi distribuire la tua applicazione utilizzando la CLI o la console. 

**Topics**
+ [Per distribuire la revisione dell'applicazione (CLI)](#tutorials-windows-deploy-application-create-deployment-cli)
+ [Per distribuire la revisione dell'applicazione (console)](#tutorials-windows-deploy-application-create-deployment-console)

### Per distribuire la revisione dell'applicazione (CLI)
<a name="tutorials-windows-deploy-application-create-deployment-cli"></a>

1. La distribuzione richiede innanzitutto un gruppo di distribuzione. Tuttavia, prima di creare il gruppo di distribuzione, è necessario un ARN del ruolo del servizio. Un ruolo di servizio è un ruolo IAM che concede al servizio l'autorizzazione ad agire per tuo conto. In questo caso, il ruolo di servizio consente di CodeDeploy accedere alle istanze Amazon EC2 per espandere (leggere) i relativi tag di istanza Amazon EC2.

   Per creare un ruolo del servizio occorre avere già eseguito le istruzioni in [Creare un ruolo di servizio (CLI)](getting-started-create-service-role.md#getting-started-create-service-role-cli). Per ottenere l'ARN del ruolo del servizio, consulta [Ottieni il ruolo di servizio ARN (CLI)](getting-started-create-service-role.md#getting-started-get-service-role-cli).

1. Ora che hai l'ARN, chiama il **create-deployment-group** comando per creare un gruppo di distribuzione denominato**HelloWorld\$1DepGroup**, associato all'applicazione denominata**HelloWorld\$1App**, utilizzando il tag di istanza Amazon EC2 denominato e la configurazione **CodeDeployDefault.OneAtATime** di distribuzione **CodeDeployDemo** denominata, con il ruolo di servizio ARN:

   ```
   aws deploy create-deployment-group --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --deployment-config-name CodeDeployDefault.OneAtATime --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE --service-role-arn serviceRoleARN
   ```
**Nota**  
Il [create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando fornisce supporto per la creazione di trigger che comportano l'invio di notifiche Amazon SNS agli abbonati all'argomento su eventi specifici nelle distribuzioni e nelle istanze. Il comando supporta anche opzioni per il rollback automatico delle distribuzioni e l'impostazione di allarmi per interrompere le distribuzioni quando vengono raggiunte le soglie di monitoraggio negli allarmi Amazon. CloudWatch I comandi per queste azioni non sono inclusi in questo tutorial.

1. Prima di creare una distribuzione, l' CodeDeploy agente deve essere installato sulle istanze del gruppo di distribuzione. È possibile installare l'agente dalla riga di comando con AWS Systems Manager tramite il seguente comando:

   ```
   aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tag:Name,Values=CodeDeployDemo --parameters action=Install,name=AWSCodeDeployAgent --schedule-expression "cron(0 2 ? * SUN *)" 
   ```

   Questo comando crea un'associazione in Systems Manager State Manager che installerà l' CodeDeploy agente e quindi tenterà di aggiornarlo alle 2:00 ogni domenica mattina. Per ulteriori informazioni sull' CodeDeploy agente, vedere [Lavorare con l' CodeDeploy agente.](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent.html) Per ulteriori informazioni su Systems Manager, vedere [What is AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html).

1. Chiamare ora il comando **create-deployment** per creare una distribuzione associata all'applicazione denominata **HelloWorld\$1App**, la configurazione della distribuzione denominata **CodeDeployDefault.OneAtATime** e il gruppo di distribuzione denominato **HelloWorld\$1DepGroup** utilizzando la revisione dell'applicazione denominata **HelloWorld\$1App.zip** nel bucket denominato **amzn-s3-demo-bucket**:

   ```
   aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=HelloWorld_App.zip
   ```

### Per distribuire la revisione dell'applicazione (console)
<a name="tutorials-windows-deploy-application-create-deployment-console"></a>

1. Prima di utilizzare la CodeDeploy console per distribuire la revisione dell'applicazione, è necessario un ARN per il ruolo di servizio. Un ruolo di servizio è un ruolo IAM che autorizza il servizio ad agire per conto dell'utente. In questo caso, il ruolo di servizio consente di CodeDeploy accedere alle istanze Amazon EC2 per espandere (leggere) i relativi tag di istanza Amazon EC2.

   Per creare un ruolo del servizio occorre avere già eseguito le istruzioni in [Crea un ruolo di servizio (console)](getting-started-create-service-role.md#getting-started-create-service-role-console). Per ottenere l'ARN del ruolo del servizio, consulta [Ottieni il ruolo di servizio ARN (console)](getting-started-create-service-role.md#getting-started-get-service-role-console).

1. Ora che hai l'ARN, puoi usare la CodeDeploy console per distribuire la revisione dell'applicazione.

   [Accedi Console di gestione AWS e apri la CodeDeploy console all'indirizzo /codedeploy. https://console.aws.amazon.com](https://console.aws.amazon.com/codedeploy)
**Nota**  
Accedi con lo stesso utente che hai configurato. [Guida introduttiva con CodeDeploy](getting-started-codedeploy.md)

1. Nel riquadro di navigazione, espandi **Distribuisci**, quindi scegli **Applicazioni**.

1. Scegli **HelloWorld\$1App**.

1. Nella scheda **Deployment groups (Gruppi di distribuzione)**, scegliere **Create deployment group (Crea gruppo di distribuzione)**.

1. In **Deployment group name (Nome del gruppo di distribuzione)**, immettere **HelloWorld\$1DepGroup**.

1. In **Service Role (Ruolo del servizio)**, scegliere il nome del ruolo del servizio.

1. In **Deployment type (Tipo di distribuzione)**, scegliere **In-place (Locale)**.

1. Nella **configurazione dell'ambiente**, seleziona le **istanze Amazon EC2**.

1. Nella **configurazione dell'agente con AWS Systems Manager**, mantieni le impostazioni predefinite.

1. In **Key (Chiave)**, immettere **Name**.

1. In **Valore**, immetti **CodeDeployDemo**.

1. **In **Configurazione di distribuzione, scegli**. CodeDeployDefault OneAtATime**.

1. In **Load Balancer (Sistema di bilanciamento del carico)**, deselezionare **Enable load balancing (Abilita il bilanciamento del carico)**.

1. Scegliere **Create deployment group (Crea gruppo di distribuzione)**.

1. Scegli **Create deployment (Crea distribuzione)**.

1. Nel **gruppo Deployment**, scegli **HelloWorld\$1 DepGroup**

1. In **Tipo di revisione**, scegli **La mia applicazione è archiviata in Amazon** S3, quindi **in Posizione di revisione, inserisci la posizione della revisione** dell'applicazione Hello World di esempio che hai precedentemente caricato su Amazon S3. Per ottenere la posizione:

   1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Nell'elenco dei bucket, scegli **amzn-s3-demo-bucket (o il nome del bucket** in cui hai caricato la revisione dell'applicazione). 

   1. Nell'elenco degli **HelloWorldoggetti**, scegliete \$1App.zip.

   1. Nella scheda **Panoramica**, scegliere **Copia percorso**.

   1. Tornate alla CodeDeploy console e, in **Posizione di revisione**, incollate il valore del campo **Link**.

1. In **Tipo file di revisione**, selezionare **.zip**. 

1. (Facoltativo) Inserire un commento in **Deployment description (Descrizione distribuzione)**.

1. Scegli **Create deployment (Crea distribuzione)**. Nella pagina **Deployments (Distribuzioni)** vengono visualizzate le informazioni relative alla nuova distribuzione creata.

## Monitora e risolvi i problemi della distribuzione
<a name="tutorials-windows-deploy-application-monitor"></a>

Usa la console AWS CLI o la console per monitorare e risolvere i problemi della distribuzione.

**Topics**
+ [Per monitorare e risolvere problemi relativi alla distribuzione (CLI)](#tutorials-windows-deploy-application-monitor-cli)
+ [Per monitorare e risolvere problemi relativi alla distribuzione (console)](#tutorials-windows-deploy-application-monitor-console)

### Per monitorare e risolvere problemi relativi alla distribuzione (CLI)
<a name="tutorials-windows-deploy-application-monitor-cli"></a>

1. Ottenere l'ID della distribuzione chiamando il comando **list-deployments** rispetto all'applicazione denominata **HelloWorld\$1App** e il gruppo di distribuzione denominato **HelloWorld\$1DepGroup**:

   ```
   aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --query "deployments" --output text
   ```

1. Chiamare il comando **get-deployment** con l'ID di distribuzione:

   ```
   aws deploy get-deployment --deployment-id deploymentID --query "deploymentInfo.status" --output text
   ```

1. Il comando restituisce lo stato complessivo della distribuzione. In caso di esito positivo, il valore è `Succeeded`.

   Se lo stato complessivo è `Failed`, è possibile chiamare comandi quali [list-deployment-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-instances.html) e [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html) per risolvere i problemi. Per ulteriori opzioni di risoluzione dei problemi, consulta [Analisi dei file di log per individuare gli errori di distribuzione nelle istanze](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures).

### Per monitorare e risolvere problemi relativi alla distribuzione (console)
<a name="tutorials-windows-deploy-application-monitor-console"></a>

**Nella pagina **Distribuzioni** della CodeDeploy console, puoi monitorare lo stato della distribuzione nella colonna Stato.**

Per ottenere ulteriori informazioni sulla distribuzione, in particolare se il valore della colonna **Status (Stato)** è diverso da **Succeeded (Riuscito)**:

1. Nella tabella **Deployments (Distribuzioni)**, scegliere il proprio ID di distribuzione. In caso di esito negativo di una distribuzione, nella pagina dei dettagli delle distribuzione viene visualizzato un messaggio che descrive la causa dell'errore.

1. . Vengono visualizzate ulteriori informazioni sulle istanze della distribuzione. Dopo un errore di distribuzione, potresti essere in grado di determinare su quali istanze Amazon EC2 e in quale fase l'implementazione non è riuscita.

1. Se si desidera migliorare la procedura di risoluzione dei problemi, è possibile utilizzare una tecnica come [Visualizza i dettagli dell'istanza con CodeDeploy](instances-view-details.md). Puoi anche analizzare i file di log di distribuzione su un'istanza Amazon EC2. Per ulteriori informazioni, consulta [Analisi dei file di log per individuare gli errori di distribuzione nelle istanze](troubleshooting-ec2-instances.md#troubleshooting-deploy-failures).

## Verifica la tua implementazione
<a name="tutorials-windows-deploy-application-verify"></a>

Se la distribuzione ha esito positivo, verifica il funzionamento dell'installazione. Utilizza l'indirizzo DNS pubblico dell'istanza Amazon EC2 per visualizzare la pagina Web in un browser Web. **(Per ottenere il valore DNS pubblico, nella console Amazon EC2, scegli l'istanza Amazon EC2 e, nella scheda Descrizione, cerca **il** valore in Public DNS.)**

Ad esempio, se l'indirizzo DNS pubblico della tua istanza Amazon EC2 **ec2-01-234-567-890.compute-1.amazonaws.com** è, utilizzerai il seguente URL:

```
http://ec2-01-234-567-890.compute-1.amazonaws.com
```

In caso di esito positivo, viene visualizzata una pagina Web di Hello, World\$1.