Fase 4: Implementazione dell'applicazione WordPress - AWS CodeDeploy

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

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.

Implementa la revisione dell'applicazione con CodeDeploy

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

Per distribuire la revisione dell'applicazione (CLI)

  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) . Per ottenere l'ARN del ruolo del servizio, consulta Ottieni il ruolo di servizio ARN (CLI) .

  2. Ora che hai il ruolo di servizio ARN, chiama il create-deployment-group comando per creare un gruppo di distribuzione denominatoWordPress_DepGroup, associato all'applicazione denominataWordPress_App, 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-groupcomando 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.

  3. 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. Per ulteriori informazioni su Systems Manager, vedere What is AWS Systems Manager.

  4. Chiamare ora il comando create-deployment per creare una distribuzione associata all'applicazione denominata WordPress_App, la configurazione della distribuzione denominata CodeDeployDefault.OneAtATime e il gruppo di distribuzione denominato WordPress_DepGroup utilizzando la revisione dell'applicazione denominata WordPressApp.zip nel bucket denominato codedeploydemobucket:

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

Per distribuire la revisione dell'applicazione (console)

  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) . Per ottenere l'ARN del ruolo del servizio, consulta Ottieni il ruolo di servizio ARN (console) .

  2. Ora che hai l'ARN, usa la CodeDeploy console per distribuire la revisione dell'applicazione:

    Accedi AWS Management Console e apri la CodeDeploy console all'indirizzo https://console.aws.amazon.com/codedeploy.

    Nota

    Accedi con lo stesso utente che hai configuratoGuida introduttiva con CodeDeploy.

  3. Nel riquadro di navigazione, espandi Distribuisci, quindi scegli Applicazioni.

  4. Nell'elenco delle applicazioni, scegli WordPress_App.

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

  6. In Deployment group name (Nome del gruppo di distribuzione), immettere WordPress_DepGroup.

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

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

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

  10. In Key (Chiave), immettere Name.

  11. In Valore, immetti CodeDeployDemo.

    Nota

    Dopo aver digitatoCodeDeployDemo, dovrebbe apparire un 1 in Istanze corrispondenti per confermare che è CodeDeploy stata trovata un'istanza Amazon EC2 corrispondente.

  12. In Configurazione di distribuzione, scegli. CodeDeployDefault OneAtUna volta.

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

  14. Scegli Create deployment (Crea distribuzione).

  15. In Deployment group (Gruppo di distribuzione) scegliere WordPress_DepGroup.

  16. 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/.

    2. Nell'elenco dei bucket, scegli codedeploydemobucket (o il nome del bucket in cui hai caricato la revisione dell'applicazione).

    3. Nell'elenco degli oggetti, scegli .zip. WordPressApp

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

      Potrebbe essere simile al seguente:

      https://s3.amazonaws.com/codedeploydemobucket/WordPressApp.zip

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

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

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

  19. Espandi le sostituzioni del gruppo di distribuzione e, in Configurazione di distribuzione, scegli. CodeDeployDefault OneAtUna volta.

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

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

Per monitorare e risolvere problemi relativi alla distribuzione (CLI)

  1. Ottenere l'ID della distribuzione chiamando il comando list-deployments rispetto all'applicazione denominata WordPress_App e il gruppo di distribuzione denominato WordPress_DepGroup:

    aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text
  2. Chiamare il comando get-deployment con l'ID di distribuzione:

    aws deploy get-deployment --deployment-id deploymentID --query 'deploymentInfo.status' --output text
  3. Il comando restituisce lo stato complessivo della distribuzione. In caso di esito positivo, il valore è Succeeded.

    Se lo stato generale èFailed, puoi chiamare comandi come list-deployment-instancese get-deployment-instanceper risolvere i problemi. Per ulteriori opzioni di risoluzione dei problemi, consulta Analisi dei file di log per individuare gli errori di distribuzione nelle istanze.

Per monitorare e risolvere problemi relativi alla distribuzione (console)

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.

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

  3. Se si vuole procedere alla risoluzione del problema, è possibile avvalersi di una tecnica come quella descritta in View Instance Details. 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.

Verifica la tua implementazione

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

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