In questo tutorial imparerai come distribuire il codice dell'applicazione a una macchina virtuale in AWS. Utilizzerai AWS CodeDeploy, un servizio che consente di automatizzare le distribuzioni di codice ad AWS o a server locali per distribuire il codice alle macchine virtuali che crei e gestisci con Amazon EC2. 

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

Gestisci le tue risorse AWS

Accedi alla console

È necessario creare una coppia di chiavi per accedere alla macchina virtuale con Amazon EC2.  Se si dispone già di una coppia di chiavi, vai direttamente alla fase 2.


a. Fai clic qui e la Console di gestione AWS si aprirà in una nuova finestra del browser, così potrai tenere aperta questa guida.  Fai clic su Create Key Pair (Crea coppia di chavi).

tmt-codeDeploy-20

(fai clic per ingrandire)

tmt-codeDeploy-20

b. Dai un nome alla coppia di chiavi.  Per questo tutorial, utilizzeremo MyFirstKey. Fai clic su Create (Crea).

Nota: Amazon EC2 utilizza la crittografia a chiave pubblica per crittografare e decrittografare le informazioni di accesso. Per ulteriori informazioni sulle coppie di chiavi, consulta la guida Coppie di chiavi Amazon EC2.

tmt-codeDeploy-19

(fai clic per ingrandire)

tmt-codeDeploy-19

a. Fai clic sull'icona Home nell'angolo in alto a sinistra della Console di gestione AWS.  Trova CodeDeploy sotto Strumenti per sviluppatori e fai clic per aprire la console di AWS CodeDeploy.

tmt-codeDeploy-0

(fai clic per ingrandire)

tmt-codeDeploy-0

b. Nella console AWS CodeDeploy, fai clic su Get Started Now (Inizia ora).

Se disponi e già di applicazioni, guarda nella 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 (Distribuzione di esempio) e fai clic su Next Step (Fase successiva).

tmt-codeDeploy-2

(fai clic per ingrandire)

tmt-codeDeploy-2

Ti sarà necessario avviare una macchina virtuale AWS su cui distribuire il tuo codice.  Le macchine virtuali AWS sono conosciute come istanze EC2 di Amazon o, per brevità, solo come "istanze". In questa fase lanceremo tre istanze EC2 utilizzando un modello EC2 preconfigurato.


Puoi configurare le impostazioni dell'istanza con le opzioni di seguito:

  • Sistema operativo: è possibile scegliere il sistema operativo dell'istanza EC2.  Per questo tutorial, utilizzeremo Amazon Linux
  • Tipo di istanza: per questo tutorial, il tipo di istanza t1.micro è stato selezionato 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, di memoria, di storage e di rete, offrendo la possibilità di scegliere in maniera flessibile la combinazione di risorse adeguata per le proprie applicazioni.
  • Nome della coppia di chiavi: dal menu a tendina scegli l’istanza la coppia di chiavi dell’istanza EC2 di Amazon creata nella Fase 1, MyFirstKey, per connetterti alle istanze EC2 di Amazon. Puoi anche scegliere una coppia di chiavi che hai già.°
  • Valore e tag della chiave: AWS CodeDeploy utilizzerà questo tag della chiave e il valore per individuare le istanze durante le implementazioni. Puoi lasciare i valori di default.

Fai clic su Avvia istanze.

Nota: quest'operazione potrebbe richiedere alcuni minuti.  Mentre aspetti, puoi rivedere questo tutorial con il video qui sotto:

codeDeploy_video
2:10
Scenario di AWS CodeDeploy
tmt-codeDeploy-4

(fai clic per ingrandire)

tmt-codeDeploy-4

AWS CodeDeploy utilizza i nomi delle applicazioni durante le distribuzioni di codice per accertarsi che si riferisca ai corretti componenti di distribuzione, ad esempio il gruppo di implementazione, la configurazione della distribuzione e la revisione dell'applicazione.


a. Nella casella Application Name (Nome dell’applicazione) immetti HelloWorld come nome per la tua applicazione di esempio e Fai clic su Next Step (Fase successiva).

tmt-codeDeploy-5

Fai clic per ingrandire l'immagine

tmt-codeDeploy-5

b. Rivedi le informazioni sulla revisione dell'applicazione, ad esempio la posizione e la descrizione.

Nota: Puoi utilizzare l'opzione di scaricare il pacchetto di esempio. In questa schermata, puoi rivedere le informazioni sulla revisione dell'applicazione che desideri distribuire su EC2. Una revisione dell'applicazione è un archivio di file contenenti i contenuti originali come ad esempio il codice sorgente, le pagine Web, i file eseguibili e gli script di distribuzione, insieme a un file di specifica dell'applicazione (AppSpec file). Il file AppSpec consente a CodeDeploy di mappare i file di origine in una revisione di destinazione e di eseguire script in diverse fasi della distribuzione.

Fai clic su Next Step (Fase successiva)

tmt-codeDeploy-7

Fai clic per ingrandire l'immagine

tmt-codeDeploy-7

Un gruppo di distribuzione è un set di singole istanze EC2 a cui CodeDeploy distribuisce le revisioni. Un gruppo di distribuzione contiene individualmente istanze contenenti il tag, istanze EC2 di Amazon in gruppi Auto Scaling o entrambe.


Nella casella Nome del gruppo di distribuzione, lascia il nome del gruppo di distribuzione proposto (DemoFleet) così com'è.

Specificherai le istanze EC2 di Amazon da distribuire immettendo il valore della coppia di chiavi nella sezione Ricerca per tag di Amazon EC2:

  • Le colonne Key (Chiave) e Value (Valore) dovrebbero popolarsi automaticamente con i valori della Fase 3.
  • La colonna Instances (Istanze) mostra il numero di istanze EC2 a cui distribuirai il codice.  Per questo tutorial, abbiamo lanciato e preconfigurato tre istanze EC2, queste istanze sono già state contrassegnate 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 per implementare le istanze. Crei un ruolo del servizio AWS quando desideri concedere le autorizzazioni a un servizio come Amazon EC2 o AWS CodeDeploy. Questi servizi possono accedere alle risorse AWS, in modo da creare un ruolo per determinare ciò che al servizio è consentito fare con tali risorse.


Ruolo del servizio: scegli Create a new service role (Crea un nuovo ruolo del servizio).  Se disponi già di un ruolo del servizio, puoi scegliere di utilizzarne uno esistente .

Nome del ruolo: è possibile accettare il valore predefinito CodeDeploy_HelloWorld.  Se stai usando un ruolo del servizio esistente, sceglilo nel menu a tendina Nome del ruolo.

Fai clic su Next Step (Fase successiva).

tmt-codeDeploy-9

Fai clic per ingrandire l'immagine

tmt-codeDeploy-9

In questa fase, selezionare una configurazione di distribuzione e quindi avvia la distribuzione per le tre istanze EC2. Al termine di questo passaggio, avremo distribuito con successo un sito Web in esecuzione e in tempo reale che potremo visitare online.


a. La configurazione della distribuzione consente di determinare il numero di istanze per contemporaneamente distribuire le revisioni dell'applicazione e determinare le condizioni di successo o fallimento per la distribuzione. Ad esempio, utilizzando la configurazione predefinita ("Una alla volta"), se distribuisci l'applicazione a tre istanze, questa configurazione distribuirà a un'istanza alla volta.

Accetta la Configurazione di distribuzione predefinita e fai clic su Next Step (Fase successiva).

tmt-codeDeploy-10

Fai clic per ingrandire l'immagine

tmt-codeDeploy-10

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

Nota: il completamento di questo processo può richiedere diversi secondi.

tmt-codeDeploy-11

Fai clic per ingrandire l'immagine

tmt-codeDeploy-11

c. La nostra revisione di esempio distribuisce un'unica pagina Web per ogni istanza. Una volta che tutte le tre istanze sono completate, fai clic su View All Instance (Visualizza tutte le istanze).

tmt-codeDeploy-14

Fai clic per ingrandire l'immagine

tmt-codeDeploy-14

d. Fai clic sull'ID di una delle istanze distribuite. Questo ti indirizzerà al pannello di controllo EC2, dove potrai visualizzare l'istanza avviata.

tmt-codeDeploy-15

Fai clic per ingrandire l'immagine

tmt-codeDeploy-15

e. Per verificare che la tua applicazione di esempio è distribuita correttamente, copia l'indirizzo nel campo DNS pubblico nel pannello inferiore, incollalo nel browser e vedrai la tua pagina Web in tempo reale.

tmt-codeDeploy-21

Fai clic per ingrandire l'immagine

tmt-codeDeploy-21

Per evitare addebiti, è necessario eliminare le risorse utilizzate in questo tutorial. Le istanze di EC2 che hai avviato per questo tutorial continueranno l'esecuzione a meno che tu non le arresti.


a. Nella console EC2, la barra di ricerca si popola automaticamente con un filtro di ricerca per l'ID dell'stanza.  Elimina questo filtro per visualizzare tutte le istanze avviate da CodeDeploy.  

tmt-codeDeploy-16a

Fai clic per ingrandire l'immagine

tmt-codeDeploy-16a

b. Seleziona le caselle di ciascuna istanza EC2 di Amazon per arrestarle. Seleziona Azioni, Stato dell’istanza e fai clic su Terminate (Arresta).

Quando ti viene richiesto, fai clic su Yes, Terminate (Sì, arresta).

tmt-codeDeploy-18a

Fai clic per ingrandire l'immagine

tmt-codeDeploy-18a

Hai creato e completato il tuo primo vero codice di distribuzione per le istanze EC2 di Amazon utilizzando AWS CodeDeploy. Utilizzando un modello predefinito, hai prima di tutto avviato tre istanze che sono state preconfigurate con i tag correti che hai successivamente installato con l'agente necessario per l'utilizzo di AWS CodeDeploy. Infine, hai predisposto la tua applicazione per la distribuzione, concesso a CodeDeploy il permesso di distribuirla alle istanze e hai quindi distribuito correttamente il tuo codice.

Ora che hai correttamente completato un esempio di implementazione per le istanze EC2 di Amazon utilizzando AWS CodeDeploy, puoi imparare a utilizzare CodeDeploy nelle tue applicazioni. Visita la documentazione di CodeDeploy per ulteriori informazioni su come avviare le istanze EC2 e configurare le istanze in modo che CodeDeploy sia in grado di distribuire il codice. Nel nostro tutorial abbiamo semplificato i passaggi di configurazione per aiutarti a scoprire e fare esperienza con CodeDeploy.

Scopri come configurare le istanze di AWS CodeDeploy

No