In questo tutorial vedrai come distribuire il codice delle applicazioni a una macchina virtuale su AWS. Per distribuire codice alle macchine virtuali create e gestite con Amazon EC2 utilizzerai AWS CodeDeploy, un servizio che automatizza le distribuzioni di codice ad AWS o ai server in locale. 

Tutte le operazioni mostrate in questo tutorial possono essere eseguite nell'ambito del piano gratuito.

Gestisci le tue risorse AWS

Accedi alla console

Per accedere alla tua macchina virtuale con Amazon EC2 dovrai creare una coppia di chiavi.  Se disponi già di una coppia di chiavi, vai alla fase 2.


a. Facendo clic qui, la Console di gestione AWS si aprirà in una nuova finestra del browser, per consentirti di tenere aperta questa guida dettagliata.  Seleziona Create Key Pair (Crea coppia di chiavi).

tmt-codeDeploy-20

(fai clic per ingrandire)

tmt-codeDeploy-20

b.  Scegli un nome per la coppia di chiavi.  Per questo tutorial, il nome sarà MyFirstKey. Fai clic su Create (Crea).

Nota: Amazon EC2 usa la crittografia a chiave pubblica per crittografare e decrittare le informazioni di accesso. Per saperne di più sulle coppie di chiavi, consulta Coppie di chiavi Amazon EC2.

tmt-codeDeploy-19

(fai clic per ingrandire)

tmt-codeDeploy-19

a. Fai clic sull'icona della home nell'angolo in alto sinistra della Console di gestione AWS.  Cerca CodeDeploy sotto Developer Tools (Strumenti per sviluppatori) e apri la console AWS CodeDeploy.

tmt-codeDeploy-0

(fai clic per ingrandire)

tmt-codeDeploy-0

b. All'interno della console AWS CodeDeploy, fai clic su Get Started Now (Inizia ora).

Se hai già delle applicazioni, vai sulla colonna a destra e fai clic su Create Deployment Walkthrough (Crea scenario di distribuzione).

tmt-codeDeploy-1

(fai clic per ingrandire)

tmt-codeDeploy-1

c. Seleziona Sample Deployment (Esempio di distribuzione) e fai clic su Next (Avanti).

tmt-codeDeploy-2

(fai clic per ingrandire)

tmt-codeDeploy-2

A questo punto devi avviare una macchina virtuale AWS a cui distribuire il codice.  Le macchine virtuali AWS sono anche note come istanze Amazon EC2 o, semplicemente, "istanze". In questa fase avvieremo tre istanze EC2 utilizzando un modello EC2 preconfigurato.

a. Fai clic sull'icona della home nell'angolo in alto sinistra della Console di gestione AWS.  Cerca CodeDeploy sotto Developer Tools (Strumenti per sviluppatori) e apri la console AWS CodeDeploy.

tmt-codeDeploy-0

(fai clic per ingrandire)

tmt-codeDeploy-0

Configura le impostazioni della tua istanza con le seguenti opzioni:

  • Operating System (Sistema operativo): puoi scegliere il sistema operativo della tua istanza EC2.  In questo tutorial utilizzeremo Amazon Linux
  • Instance Type (Tipo di istanza): in questo tutorial è stato scelto il tipo di istanza t1.micro come valore predefinito, per poter rientrare nel piano gratuito. Amazon EC2 offre un’ampia gamma di tipi di istanze, ottimizzati per soddisfare diversi casi d’uso. I tipi di istanze comprendono diverse combinazioni di capacità di CPU, memoria, storage e di rete, offrendo la flessibilità di poter scegliere la combinazione di risorse adeguata per le proprie applicazioni.  
  • Key Pair Name (Nome della coppia di chiavi): dall'elenco a discesa scegli la coppia di chiavi che hai creato nella fase 1 per l'istanza Amazon EC2, ossia MyFirstKey, per connetterti alle istanze Amazon EC2. Puoi anche scegliere una coppia di chiavi di cui disponevi già. 
  • Tag Key and Value (Chiave tag e valore) AWS CodeDeploy utilizzerà questa chiave tag e questo valore per localizzare le istanze durante le distribuzioni. Puoi mantenere i valori predefiniti.

Fai clic su Launch Instances (Avvia istanze).

Nota: queste operazioni richiederanno diversi minuti per essere completate.  Durante l'attesa potresti guardare il video-tutorial qui sotto:

tmt-codeDeploy-4

(fai clic per ingrandire)

tmt-codeDeploy-4

AWS CodeDeploy usa i nomi delle applicazioni durante le distribuzioni del codice per assicurarsi di fare riferimento ai componenti corretti, come gruppo di distribuzione, configurazione della distribuzione e revisione dell'applicazione.


a. Nel campo Application Name (Nome dell'applicazione) inserisci HelloWorld, che sarà il nome della tua applicazione di esempio, e fai clic su Next Step (Passaggio successivo).

tmt-codeDeploy-5

(fai clic per ingrandire)

tmt-codeDeploy-5

b. Dai un'occhiata alle informazioni sulla revisione della tua applicazione, che includono la sua posizione e descrizione.

Nota: è possibile scaricare il bundle di esempio. In questa schermata puoi verificare le informazioni relative alla revisione dell'applicazione che desideri distribuire a EC2. La revisione di un'applicazione è un file di archivio che contiene contenuti sorgente, come codice sorgente, pagine Web e file eseguibili, e script di distribuzione, oltre al file di specifiche dell'applicazione (file AppSpec). Il file AppSpec aiuta CodeDeploy a mappare i file sorgente presenti nella revisione verso le loro destinazioni, nonché a eseguire gli script nelle varie fasi della distribuzione.

Fai clic su Next step (Fase successiva)

tmt-codeDeploy-7

(fai clic per ingrandire)

tmt-codeDeploy-7

Un gruppo di distribuzione è un set di istanze EC2 individuali a cui CodeDeploy distribuisce le revisioni. Un gruppo di distribuzione contiene istanze con tag applicati singolarmente, istanze Amazon EC2 nei gruppi Auto Scaling, oppure entrambe.


Nella casella Deployment Group Name (Nome del gruppo di distribuzione), non modificare il nome già presente (DemoFleet).

Quindi, dovrai specificare le istanze Amazon EC2 per la distribuzione, inserendo il valore della coppia di chiavi nella sezione Search by Amazon EC2 Tags (Ricerca per tag Amazon EC2):

  • Le colonne Key (Chiave) e Value (Valore) dovrebbero essere compilate automaticamente con i valori specificati nella fase 3.
  • La colonna Instances (Istanze) mostra il numero di istanze EC2 a cui distribuirai il codice.  In questo tutorial abbiamo avviato e preconfigurato tre istanze EC2. Inoltre, queste istanze sono già state taggate collettivamente in un gruppo di distribuzione.

Seleziona Next Step (Fase successiva).

tmt-codeDeploy-8

(fai clic per ingrandire)

tmt-codeDeploy-8

In questa fase concederai ad AWS CodeDeploy l'autorizzazione alla distribuzione alle tue istanze. Per dare l'autorizzazione a un servizio come Amazon EC2 o AWS CodeDeploy, è necessario creare un ruolo per tale servizio AWS. Questi servizi possono accedere alle risorse AWS, pertanto la creazione di un ruolo serve a stabilire che cosa il servizio possa fare con tali risorse.


Service Role (Ruolo del servizio): scegli Create a new service role (Crea un nuovo ruolo del servizio).  Se disponi già di un ruolo del servizio, scegli Use an existing service role (Usa un ruolo del servizio esistente).

Role Name (Nome del ruolo): puoi accettare il valore predefinitoossia CodeDeploy_HelloWorld.  Se vuoi utilizzare un ruolo del servizio già esistente, selezionalo dall'elenco a discesa Role Name (Nome del ruolo).

Fai clic su Next step (Fase successiva).

tmt-codeDeploy-9

(fai clic per ingrandire)

tmt-codeDeploy-9

In questa fase selezioneremo una configurazione per la distribuzione e avvieremo la distribuzione alle nostre tre istanze EC2. Al termine di questa fase avremo distribuito correttamente un sito live e funzionante, che sarà possibile consultare online.


a. La configurazione della distribuzione ti consente di determinare la quantità di istanze a cui distribuire in simultanea le revisioni della tua applicazione, oltre a descrivere le condizioni di successo o insuccesso per la distribuzione. Per esempio, usando la configurazione predefinita "One at a Time" (Una per volta) per distribuire l'applicazione alle tre istanze, la distribuzione verrà eseguita a un'istanza per volta.

Accetta la Default Deployment Configuration (Configurazione di distribuzione predefinita) e fai clic su Next Step (Passaggio successivo).

tmt-codeDeploy-10

(fai clic per ingrandire)

tmt-codeDeploy-10

b. Verifica i dettagli della distribuzione e fai clic su Deploy Now (Distribuisci ora).

Nota: il completamento di quest'operazione può richiedere alcuni minuti.

tmt-codeDeploy-11

(fai clic per ingrandire)

tmt-codeDeploy-11

c.  La nostra revisione di esempio distribuisce una sola pagina web a ogni istanza. Una volta completate tutte e tre le istanze, fai clic su View All Instances (Visualizza tutte le istanze).

tmt-codeDeploy-14

(fai clic per ingrandire)

tmt-codeDeploy-14

d.  Fai clic sull'ID di una delle istanze a cui hai effettuato la distribuzione. In questo modo verrai reindirizzato al pannello di controllo di EC2, dove potrai visualizzare l'istanza che hai avviato.

tmt-codeDeploy-15

(fai clic per ingrandire)

tmt-codeDeploy-15

e. Per verificare che la distribuzione della tua applicazione di esempio sia avvenuta correttamente, copia l'indirizzo che trovi nel campo Public DNS (DNS pubblico) nel pannello al fondo della pagina e incollalo nel tuo browser: dovresti riuscire a visualizzare la tua pagina Web live.

tmt-codeDeploy-21

(fai clic per ingrandire)

tmt-codeDeploy-21

Per evitare di incorrere in futuri addebiti è necessario eliminare le risorse utilizzate per questo tutorial. Le istanze EC2 che hai avviato continueranno a essere eseguite finché non le interromperai.


a. Nella console EC2, la barra di ricerca viene automaticamente compilata con il filtro di ricerca per l'ID dell'istanza.  Eliminando questo filtro, potrai visualizzare tutte le istanze avviate da CodeDeploy.  

tmt-codeDeploy-16a

(fai clic per ingrandire)

tmt-codeDeploy-16a

b. Seleziona la casella corrispondente a ogni istanza Amazon EC2 che desideri interrompere. Seleziona Actions (Azioni),  Instance State (Stato dell'istanza) e fai clic su Terminate (Interrompi).

Quando ti verrà chiesto se intendi davvero interrompere l'istanza, fai clic su Yes, Terminate (Sì, interrompi).

tmt-codeDeploy-18a

(fai clic per ingrandire)

tmt-codeDeploy-18a

Hai creato e completato la tua primissima distribuzione di codice alle istanze Amazon EC2 utilizzando AWS CodeDeploy. Seguendo il modello che ti abbiamo fornito, hai avviato tre istanze preconfigurate con i tag adeguati e le hai installate con l'agente necessario per l'utilizzo di AWS CodeDeploy. Infine, hai preparato la tua applicazione per la distribuzione, fornito a CodeDeploy l'autorizzazione a distribuire le tue istanze e distribuito correttamente il codice.

Ora che hai completato la distribuzione di esempio alle istanze Amazon EC2 tramite AWS CodeDeploy, puoi imparare come usare CodeDeploy nelle tue applicazioni. Consulta la documentazione su CodeDeploy per scoprire come avviare le istanze EC2 e configurarle per consentire a CodeDeploy di distribuire il codice. Nel tutorial abbiamo semplificato i passaggi della configurazione per farti capire meglio come funziona CodeDeploy.

Scopri come configurare le istanze in AWS CodeDeploy

No