

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: Implementazione dell'applicazione WordPress
<a name="tutorials-wordpress-deploy-application"></a>

Ora distribuisci la revisione dell' WordPress applicazione di esempio che hai caricato su Amazon S3. Puoi utilizzare 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-wordpress-deploy-application-create-deployment)
+ [Monitora e risolvi i problemi della distribuzione](#tutorials-wordpress-deploy-application-monitor)
+ [Verifica la tua implementazione](#tutorials-wordpress-deploy-application-verify-deployment)

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

Usa la console AWS CLI o la console per distribuire la revisione dell'applicazione.

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

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

1. La distribuzione richiede 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 il ruolo di servizio ARN, chiama il **create-deployment-group** comando per creare un gruppo di distribuzione denominato**WordPress\$1DepGroup**, associato all'applicazione denominata**WordPress\$1App**, utilizzando il tag Amazon EC2 denominato e la configurazione di distribuzione **CodeDeployDemo** denominata: **CodeDeployDefault.OneAtATime**

   ```
   aws deploy create-deployment-group \
     --application-name WordPress_App \
     --deployment-group-name WordPress_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 **WordPress\$1App**, la configurazione della distribuzione denominata **CodeDeployDefault.OneAtATime** e il gruppo di distribuzione denominato **WordPress\$1DepGroup** utilizzando la revisione dell'applicazione denominata **WordPressApp.zip** nel bucket denominato **amzn-s3-demo-bucket**:

   ```
   aws deploy create-deployment \
     --application-name WordPress_App \
     --deployment-config-name CodeDeployDefault.OneAtATime \
     --deployment-group-name WordPress_DepGroup \
     --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=WordPressApp.zip
   ```

### Per distribuire la revisione dell'applicazione (console)
<a name="tutorials-wordpress-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, usa 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. Nell'elenco delle applicazioni, scegli **WordPress\$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 **WordPress\$1DepGroup**.

1. In **Deployment type (Tipo di distribuzione)** scegliere **In-place deployment (Distribuzione in loco)**.

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**.
**Nota**  
Dopo aver digitato**CodeDeployDemo**, dovrebbe apparire un **1** in **Istanze corrispondenti** per confermare che è CodeDeploy stata trovata un'istanza Amazon EC2 corrispondente.

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

1. In **Service role ARN (ARN ruolo di servizio)**, scegliere l'ARN del ruolo di servizio, quindi scegliere **Create deployment group (Crea gruppo di distribuzione)**.

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

1. In **Deployment group (Gruppo di distribuzione)** scegliere **WordPress\$1DepGroup**.

1. Accanto a **Tipo di repository**, seleziona **La mia applicazione è archiviata in Amazon** S3. In **Luogo di revisione**, inserisci la posizione della revisione dell' WordPress applicazione 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 **WordPressAppoggetti**, scegliete .zip.

   1. Nella scheda **Panoramica** copiare negli Appunti il valore del campo **Link**.

      Potrebbe essere simile al seguente:

      **https://s3.amazonaws.com/amzn-s3-demo-bucket/WordPressApp.zip**

   1. Torna alla CodeDeploy console e, nella **posizione Revisione**, incolla il valore del campo **Link**.

1. Se nell'elenco **File type (Tipo di file)** vene visualizzato un messaggio che informa che non è stato possibile trovare il tipo di file, scegliere **.zip**.

1. (Facoltativo) digitare un commento nella casella **Deployment description (Descrizione distribuzione)**. 

1. **Espandi le sostituzioni del gruppo di distribuzione** **e, in **Configurazione di distribuzione**, scegli. CodeDeployDefault OneAtATime**.

1. Selezionare **Start deployment (Avvia distribuzione)**. Nella pagina **Deployments (Distribuzioni)** vengono visualizzate le informazioni relative alla nuova distribuzione creata.

## Monitora e risolvi i problemi della distribuzione
<a name="tutorials-wordpress-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-wordpress-deploy-application-monitor-cli)
+ [Per monitorare e risolvere problemi relativi alla distribuzione (console)](#tutorials-wordpress-deploy-application-monitor-console)

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

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

   ```
   aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_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-wordpress-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 scheda **Deployments (Distribuzioni)** scegliere il nome della distribuzione. Se una distribuzione non riesce, viene visualizzato un messaggio che descrive il motivo dell'errore.

1. In **Instance activity (Attività istanza)** vengono visualizzate altre informazioni sulla 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 vuole procedere alla risoluzione del problema, è possibile avvalersi di una tecnica come quella descritta in [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-wordpress-deploy-application-verify-deployment"></a>

Una volta completata la distribuzione, verifica che l' WordPress installazione funzioni. Utilizza l'indirizzo DNS pubblico dell'istanza Amazon EC2, seguito `/WordPress` da, per visualizzare il tuo sito 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 di 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/WordPress
```

Quando visualizzi il sito nel tuo browser, dovresti vedere una pagina di WordPress benvenuto simile alla seguente:

![\[WordPress pagina di benvenuto\]](http://docs.aws.amazon.com/it_it/codedeploy/latest/userguide/images/WordPress-Welcome-Page-013118.png)


 Se alla tua istanza Amazon EC2 non è stata aggiunta una regola di ingresso HTTP al relativo gruppo di sicurezza, la pagina di WordPress benvenuto non viene visualizzata. Se vedi un messaggio che indica che il server remoto non risponde, assicurati che il gruppo di sicurezza per la tua istanza Amazon EC2 abbia la regola in entrata. Per ulteriori informazioni, consulta [Aggiungi una regola in entrata che consenta il traffico HTTP verso la tua istanza Amazon Linux o RHEL Amazon EC2Aggiungi una regola in entrata che consenta il traffico HTTP verso la tua istanza Amazon EC2 di Windows Server](tutorials-wordpress-launch-instance.md#tutorials-wordpress-launch-instance-add-inbound-rule). 