Fase 4: Implementa la tua applicazione Hello World - 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: Implementa la tua applicazione Hello World

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.

Implementa la revisione dell'applicazione con CodeDeploy

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

Per distribuire la revisione dell'applicazione (CLI)

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

  2. Ora che hai l'ARN, chiama il create-deployment-group comando per creare un gruppo di distribuzione denominatoHelloWorld_DepGroup, associato all'applicazione denominataHelloWorld_App, 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-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 HelloWorld_App, la configurazione della distribuzione denominata CodeDeployDefault.OneAtATime e il gruppo di distribuzione denominato HelloWorld_DepGroup utilizzando la revisione dell'applicazione denominata HelloWorld_App.zip nel bucket denominato DOC-EXAMPLE-BUCKET:

    aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=DOC-EXAMPLE-BUCKET,bundleType=zip,key=HelloWorld_App.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, puoi usare 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. Scegli HelloWorld_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 HelloWorld_DepGroup.

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

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

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

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

  11. In Key (Chiave), immettere Name.

  12. In Valore, immetti CodeDeployDemo.

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

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

  15. Scegliere Create deployment group (Crea gruppo di distribuzione).

  16. Scegli Create deployment (Crea distribuzione).

  17. Nel gruppo Deployment, scegli _ HelloWorld DepGroup

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

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

    3. Nell'elenco degli oggetti, scegliete _App.zip. HelloWorld

    4. Nella scheda Panoramica, scegliere Copia percorso.

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

  19. In Tipo file di revisione, selezionare .zip.

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

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

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 HelloWorld_App e il gruppo di distribuzione denominato HelloWorld_DepGroup:

    aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_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 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.

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

  3. Se si desidera migliorare la procedura di risoluzione dei problemi, è possibile utilizzare una tecnica come 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

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