Scopri come iniziare a usare Elastic Beanstalk - AWS Elastic Beanstalk

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

Scopri come iniziare a usare Elastic Beanstalk

Con Elastic Beanstalk puoi distribuire, monitorare e scalare applicazioni e servizi Web. In genere, svilupperai il codice localmente e poi lo distribuirai su istanze di EC2 server Amazon. Queste istanze, chiamate anche ambienti, vengono eseguite su piattaforme che possono essere aggiornate tramite la AWS console o la riga di comando.

Per iniziare, consigliamo di distribuire un'applicazione di esempio preconfigurata direttamente dalla console. Quindi, puoi imparare a sviluppare localmente e distribuire dalla riga di comando di. QuickStart: distribuisci un'applicazione PHP su Elastic Beanstalk

L'utilizzo di Elastic Beanstalk è gratuito, ma le tariffe standard AWS si applicano alle risorse create nel corso di questo tutorial fino a quando non le elimini alla fine. Le spese totali sono in genere inferiori a un dollaro. Per informazioni su come ridurre al minimo i costi, consulta Piano gratuito di AWS..

Dopo aver completato questo tutorial, comprenderai le nozioni di base per creare, configurare, distribuire, aggiornare e monitorare un'applicazione Elastic Beanstalk con ambienti in esecuzione su istanze Amazon. EC2

Durata stimata: 35-45 minuti

Architettura semplificata dell'applicazione Elastic Beanstalk con un ambiente server Web.

Cosa costruirai

La tua prima applicazione Elastic Beanstalk sarà costituita da un singolo ambiente EC2 Amazon che esegue l'esempio PHP su una piattaforma gestita da PHP.

Applicazione Elastic Beanstalk

Un'applicazione Elastic Beanstalk è un contenitore per i componenti Elastic Beanstalk, inclusi gli ambienti in cui il codice dell'applicazione viene eseguito su piattaforme fornite e gestite da Elastic Beanstalk o in contenitori personalizzati forniti dall'utente.

Ambiente

Un ambiente Elastic Beanstalk è una AWS raccolta di risorse che funzionano insieme, inclusa un'istanza Amazon. EC2 Quando crei un ambiente, Elastic Beanstalk fornisce le risorse necessarie al tuo account. AWS

Piattaforma

Una piattaforma è una combinazione di sistema operativo, runtime del linguaggio di programmazione, server Web, server applicazioni e componenti Elastic Beanstalk aggiuntivi. Elastic Beanstalk fornisce piattaforme gestite oppure puoi fornire la tua piattaforma in un container.

Elastic Beanstalk supporta piattaforme per diversi linguaggi di programmazione, server dell'applicazione e container Docker. Quando crei un ambiente, devi scegliere la piattaforma. È possibile aggiornare la piattaforma, ma non è possibile modificare la piattaforma per un ambiente.

Cambio di piattaforma

Se è necessario modificare i linguaggi di programmazione, è necessario creare e passare a un nuovo ambiente su una piattaforma diversa.

Fase 1 - Creare un'applicazione

Per creare la tua applicazione di esempio, utilizzerai la procedura guidata Create application (Creazione di un'applicazione) della console. Questa consente di creare un'applicazione Elastic Beanstalk e avviare un ambiente al suo interno.

Promemoria: un ambiente è una raccolta di AWS risorse necessarie per eseguire il codice dell'applicazione.

Console Elastic Beanstalk con freccia rivolta al pulsante Crea applicazione.
Per creare un'applicazione

  1. Apri la console Elastic Beanstalk.

  2. Scegli Crea applicazione.

  3. Per Application name (Nome applicazione), immetti getting-started-app.

La console prevede un processo in sei fasi per la creazione di un'applicazione e la configurazione di un ambiente. Per iniziare rapidamente, dovrai concentrarti solo sui primi due passaggi, dopodiché potrai passare alla revisione e alla creazione dell'applicazione e dell'ambiente.

Per configurare un ambiente
  1. In Informazioni sull'ambiente, per Nome ambiente immettere:gs-app-web-env.

  2. Per Piattaforma, scegli la piattaforma PHP.

  3. Per Codice dell'applicazione e preimpostazioni, accetta le impostazioni predefinite (Applicazione di esempio e Istanza singola), quindi scegli Avanti.

Per configurare l'accesso al servizio

Successivamente, sono necessari due ruoli. Un ruolo di servizio consente a Elastic Beanstalk di EC2 monitorare le istanze e aggiornare la piattaforma dell'ambiente. Un ruolo di profilo di EC2 istanza consente attività come la scrittura di log e l'interazione con altri servizi.

Per creare il ruolo di servizio
  1. Per Ruolo di servizio, scegli Crea ruolo.

  2. Per Tipo di entità attendibile, scegli Servizio AWS .

  3. Per il caso d'uso, scegli Elastic Beanstalk — Environment.

  4. Scegli Next (Successivo).

  5. Verifica che i criteri di autorizzazione includano quanto segue, quindi scegli Avanti:

    • AWSElasticBeanstalkEnhancedHealth

    • AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy

  6. Scegliere Crea ruolo.

  7. Torna alla scheda Configura l'accesso al servizio, aggiorna l'elenco, quindi seleziona il ruolo di servizio appena creato.

Per creare il profilo dell' EC2 istanza
  1. Scegliere Crea ruolo.

  2. Per Tipo di entità attendibile, scegli Servizio AWS .

  3. Per il caso d'uso, scegli Elastic Beanstalk — Compute.

  4. Scegli Next (Successivo).

  5. Verifica che i criteri di autorizzazione includano quanto segue, quindi scegli Avanti:

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  6. Scegliere Crea ruolo.

  7. Torna alla scheda Configura l'accesso al servizio, aggiorna l'elenco, quindi seleziona il profilo dell' EC2 istanza appena creato.

Per completare la configurazione e la creazione dell'applicazione
  1. Salta EC2 key pair.

    Ti mostreremo altri modi per connetterti alle tue EC2 istanze Amazon tramite la Console.

  2. Scegli Salta alla revisione per passare a diversi passaggi opzionali.

    Passaggi opzionali: rete, database, parametri di scalabilità, configurazione avanzata per aggiornamenti, monitoraggio e registrazione.

  3. Nella pagina di revisione che mostra un riepilogo delle tue scelte, scegli Invia.

Complimenti!

Hai creato un'applicazione e configurato un ambiente! Ora devi aspettare che le risorse vengano distribuite.

Fase 2 - Implementa l'applicazione

Quando crei un'applicazione, Elastic Beanstalk configura gli ambienti per te. Devi solo sederti e aspettare.

La creazione delle risorse può richiedere fino a cinque minuti per la distribuzione iniziale. Gli aggiornamenti richiederanno meno tempo perché nello stack verranno implementate solo le modifiche.

Immagine illustrativa che rappresenta un processo di distribuzione

Quando crei l'applicazione di esempio, Elastic Beanstalk crea le seguenti risorse :

  • EC2 istanza: una macchina EC2 virtuale Amazon configurata per eseguire app Web sulla piattaforma selezionata.

    Ogni piattaforma esegue un set diverso di software, file di configurazione e script per supportare una versione linguistica, un framework, un contenitore web o una combinazione di questi. La maggior parte delle piattaforme utilizza Apache o nginx come proxy inverso per inoltrare il traffico web alla tua app web, fornire risorse statiche e generare log di accesso ed errori. Puoi connetterti alle tue EC2 istanze Amazon per visualizzare la configurazione e i log.

  • Gruppo di sicurezza dell'istanza: verrà creato un gruppo di EC2 sicurezza Amazon per consentire le richieste in entrata sulla porta 80, in modo che il traffico in entrata su un sistema di bilanciamento del carico possa raggiungere la tua app web.

  • Bucket Amazon S3: una posizione di archiviazione per il codice sorgente, i log e altri artefatti.

  • CloudWatch Allarmi Amazon: vengono creati due CloudWatch allarmi per monitorare il carico sulle istanze e ridimensionarle verso l'alto o verso il basso secondo necessità.

  • AWS CloudFormation stack: Elastic AWS CloudFormation Beanstalk utilizza per distribuire le risorse nell'ambiente e apportare modifiche alla configurazione. È possibile visualizzare il modello di definizione delle risorse nella console.AWS CloudFormation

  • Nome di dominio: un nome di dominio che indirizza alla tua app web nel formato:subdomain.region.elasticbeanstalk.com.

Elastic Beanstalk crea l'applicazione, avvia un ambiente, crea una versione dell'applicazione, quindi distribuisce il codice nell'ambiente. Durante il processo, la console tiene traccia dei progressi e visualizza lo stato degli eventi nella scheda Eventi.

Panoramica dell'architettura dell'applicazione Elastic Beanstalk con un ambiente server Web.

Dopo aver distribuito tutte le risorse, lo stato dell'ambiente dovrebbe cambiare. Ok

La tua applicazione è pronta!

Dopo aver modificato lo stato di integrità dell'applicazioneOk, puoi accedere al sito Web dell'applicazione Web.

Fase 3 - Esplora l'ambiente Elastic Beanstalk

Inizierai a esplorare l'ambiente applicativo distribuito dalla pagina Panoramica dell'ambiente nella console.

Per visualizzare l'ambiente e l'applicazione
  1. Apri la console Elastic Beanstalk e, nell'elenco Regioni, seleziona la tua. Regione AWS

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

  3. Scegli Vai all'ambiente per sfogliare la tua applicazione!

    (Puoi anche scegliere il link URL elencato per Domain per sfogliare l'applicazione.)

    La connessione sarà HTTP (non HTTPS), quindi potresti visualizzare un avviso nel tuo browser.

Esempio illustrativo della schermata Congratulazioni dall'applicazione di esempio Elastic Beanstalk.

Tornando alla console Elastic Beanstalk, la parte superiore mostra la panoramica dell'ambiente con informazioni di primo livello sull'ambiente, tra cui nome, URL del dominio, stato di salute attuale, versione in esecuzione e piattaforma su cui è in esecuzione l'applicazione. La versione e la piattaforma in esecuzione sono essenziali per la risoluzione dei problemi dell'applicazione attualmente distribuita.

Dopo il riquadro di panoramica, vedrai l'attività ambientale recente nella scheda Eventi.

Console Elastic Beanstalk che mostra l'ambiente lanciato.

Mentre Elastic Beanstalk AWS crea le risorse e avvia l'applicazione, l'ambiente è in uno stato. Pending I messaggi di stato relativi agli eventi di lancio vengono aggiunti continuamente all'elenco degli eventi.

Il dominio dell'ambiente è l'URL dell'applicazione Web distribuita. Nel riquadro di navigazione a sinistra, vai all'ambiente ti porta anche al tuo dominio. Allo stesso modo, il riquadro di navigazione a sinistra contiene collegamenti che corrispondono alle varie schede.

Prendi nota del link Configurazione nel riquadro di navigazione a sinistra, che mostra un riepilogo dei valori delle opzioni di configurazione dell'ambiente, raggruppati per categoria.

Impostazioni di configurazione dell'ambiente

Prendi nota del link Configurazione nel riquadro di navigazione a sinistra. Puoi visualizzare e modificare impostazioni dettagliate dell'ambiente, come ruoli di servizio, rete, database, scalabilità, aggiornamenti della piattaforma gestita, memoria, monitoraggio dello stato, distribuzione continua, registrazione e altro ancora!

Le varie schede contengono informazioni dettagliate sull'ambiente in uso:

  • Eventi: visualizza un elenco aggiornato di informazioni e messaggi di errore dal servizio Elastic Beanstalk e da altri servizi per le risorse del tuo ambiente.

  • Health: visualizza lo stato e le informazioni dettagliate sullo stato delle EC2 istanze Amazon che eseguono la tua applicazione.

  • Registri: recupera e scarica i log da Amazon EC2 nel tuo ambiente. Puoi recuperare i log completi o le attività recenti. I log recuperati saranno disponibili per 15 minuti.

  • Monitoraggio: visualizza le statistiche relative all'ambiente, come la latenza media e l'utilizzo della CPU.

  • Allarmi: visualizza e modifica gli allarmi configurati per le metriche ambientali.

  • Aggiornamenti gestiti: visualizza le informazioni sugli aggiornamenti imminenti e completati della piattaforma gestita e sulla sostituzione delle istanze.

  • Tag: visualizza e modifica le coppie chiave-valore applicate al tuo ambiente.

Nota

I collegamenti nel riquadro di navigazione della console mostreranno la scheda corrispondente.

Risoluzione dei problemi con i log

Per la risoluzione dei problemi di comportamento imprevisti o per eseguire il debug delle distribuzioni, potresti voler controllare i log nei tuoi ambienti.

Puoi richiedere 100 righe di tutti i file di registro nella scheda Logs della console Elastic Beanstalk. In alternativa, puoi connetterti direttamente all' EC2 istanza Amazon e tracciare i log in tempo reale.

Per richiedere i log (console Elastic Beanstalk)
  1. Accedi al tuo ambiente nella console Elastic Beanstalk.

  2. Scegli la scheda Registri o il menu di navigazione a sinistra, quindi scegli Request logs.

  3. Seleziona Ultime 100 righe.

  4. Dopo aver creato i registri, scegli il link Download per visualizzarli nel browser.

Nei log, trova il log e annota la directory per il log di accesso di nginx.

Aggiungi una policy per abilitare le connessioni ad Amazon EC2

Prima di poterti connettere, devi aggiungere una policy che abiliti le connessioni ad Amazon EC2 con Session Manager.

  1. Passare alla IAM console (Console IAM).

  2. Trova e seleziona il aws-elasticbeanstalk-ec2-role ruolo.

  3. Scegli Aggiungi autorizzazione, quindi Allega politiche.

  4. Cerca una politica predefinita che inizi con il seguente testo:AmazonSSMManagedEC2Instance, quindi aggiungila al ruolo.

Per connetterti al tuo Amazon EC2 con Session Manager
  1. Accedi alla EC2 console Amazon.

  2. Scegli Istanze, quindi seleziona la tua gs-app-web-env istanza.

  3. Scegli Connect, quindi Session Manager.

  4. Scegli Connetti.

Dopo esserti connesso all'istanza, avvia una shell bash e segui i log:

  1. Esegui il comando bash.

  2. Esegui il comando cd /var/log/nginx.

  3. Esegui il comando tail -f access.log.

  4. Nel tuo browser, vai all'URL del dominio dell'applicazione. Aggiorna.

Congratulazioni, siete connessi!

Dovresti vedere le voci di registro dell'istanza aggiornate ogni volta che aggiorni la pagina.

Il pulsante Connect non funziona?

Se il pulsante di connessione non è disponibile, torna a IAM e verifica di aver aggiunto la policy necessaria al ruolo.

Fase 4 - Aggiorna l'applicazione

Alla fine, vorrai aggiornare la tua applicazione. È possibile distribuire una nuova versione dell'applicazione in qualsiasi momento, finché nell'ambiente non sono in corso operazioni di aggiornamento.

La versione dell'applicazione con cui hai avviato questo tutorial si chiama Sample Application (Applicazione di esempio).

Immagine illustrativa che implica l'aggiornamento dell'ambiente.
Per aggiornare la versione dell'applicazione
  1. Scarica la seguente applicazione PHP di esempio:

    PHP — php-v2.zip

  2. Apri la console Elastic Beanstalk e, nell'elenco Regioni, seleziona la tua. Regione AWS

  3. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

  4. Nella pagina della panoramica dell'ambiente scegliere Upload and deploy (Carica e distribuisci).

  5. Seleziona Scegli file, quindi carica il pacchetto sorgente dell'applicazione di esempio che hai scaricato.

    La console compila automaticamente l'etichetta Version con una nuova etichetta univoca, incrementando automaticamente un numero intero finale. Se scegli la tua etichetta di versione, assicurati che sia unica.

  6. Seleziona Deploy (Implementa).

Mentre Elastic Beanstalk distribuisce il tuo file sulle tue istanze Amazon, puoi visualizzare lo stato della distribuzione nella pagina di panoramica dell'ambiente. EC2 Mentre la versione dell'applicazione viene aggiornata, lo stato di Health dell'ambiente è grigio. Al termine della distribuzione, Elastic Beanstalk esegue un controllo dello stato dell'applicazione. Quando l'applicazione risponde al controllo dello stato, viene considerata integra e lo stato ritorna verde. La panoramica dell'ambiente mostra la nuova Running Version (Versione in esecuzione): il nome fornito come Version label (Etichetta versione).

Inoltre, Elastic Beanstalk carica la nuova versione dell'applicazione e la aggiunge alla tabella delle versioni dell'applicazione. Per visualizzare la tabella, scegli Versioni dell'applicazione getting-started-appnel riquadro di navigazione.

Aggiornamento riuscito!

Dovresti vedere un messaggio «v2" aggiornato dopo aver aggiornato il browser.

Se desideri modificare tu stesso il codice sorgente, decomprimi, modifica e poi ricomprimi il pacchetto sorgente. Su macOS, usa il seguente comando dall'interno della tua directory php con -X per escludere attributi di file aggiuntivi:

zip -X -r ../php-v2.zip .

Fase 5 - Ridimensiona la tua applicazione

È possibile personalizzare l'ambiente per renderlo più appropriato all'applicazione. Ad esempio, se disponi di un'applicazione a elaborazione intensiva, puoi modificare il tipo di istanza Amazon Elastic Compute Cloud (Amazon EC2) su cui è in esecuzione l'applicazione. Per applicare le modifiche di configurazione, Elastic Beanstalk esegue un aggiornamento dell'ambiente.

Alcune modifiche di configurazione sono semplici e possono essere eseguite rapidamente. Alcune modifiche richiedono l'eliminazione e la ricreazione AWS delle risorse, operazione che può richiedere diversi minuti. Durante la modifica delle impostazioni di configurazione, Elastic Beanstalk avvisa dei potenziali tempi di inattività dell'applicazione.

Immagine illustrativa che mostra la crescita degli ambienti.

Aumentare le impostazioni di capacità

In questo esempio di modifica della configurazione, puoi modificare le impostazioni di capacità dell'ambiente. Configura un ambiente scalabile con bilanciamento del carico con da due a quattro EC2 istanze Amazon nel gruppo Auto Scaling, quindi verifica che la modifica sia avvenuta. Elastic Beanstalk crea un'istanza Amazon EC2 aggiuntiva, aggiungendola alla singola istanza creata inizialmente. Quindi, Elastic Beanstalk associa entrambe le istanze al load balancer dell'ambiente. Di conseguenza, la reattività dell'applicazione è migliorata e la sua disponibilità aumenta.

Per modificare la capacità dell'ambiente
  1. Apri la console Elastic Beanstalk e, nell'elenco Regioni, seleziona la tua. Regione AWS

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

  3. Nel riquadro di navigazione, seleziona Configuration (Configurazione).

  4. Nella categoria di configurazione Instance traffic and scaling (Traffico e dimensionamento delle istanze), scegli Edit (Modifica).

  5. Comprimi la sezione Instances (Istanze), in modo da poter visualizzare più facilmente la sezione Capacity (Capacità). Nella sezione Auto Scaling group (Gruppo con scalabilità automatica), modifica Environment type (Tipo di ambiente) in Load balanced (Con bilanciamento del carico).

  6. Nella riga Istanze, modifica Min in e Max in2. 4

  7. Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.

    Se vieni avvisato che l'aggiornamento sostituirà tutte le istanze correnti. Scegli Conferma.

L'aggiornamento dell'ambiente potrebbe richiedere alcuni minuti. Dovresti vedere diversi aggiornamenti nell'elenco degli eventi. Tieni d'occhio l'evento Nuova configurazione implementata con successo nell'ambiente.

Verifica l'aumento della capacità

Una volta completato l'aggiornamento dell'ambiente e dopo che l'ambiente è pronto, Elastic Beanstalk ha avviato automaticamente una seconda istanza per soddisfare la nuova impostazione di capacità minima.

Per verificare l'aumento della capacità
  1. Scegli Health dall'elenco delle schede o dal riquadro di navigazione a sinistra.

  2. Consulta la sezione Integrità migliorata delle istanze.

Hai appena ampliato la tua gamma!

Con due EC2 istanze Amazon, la capacità dell'ambiente è raddoppiata e ci sono voluti solo pochi minuti.

Pulizia dell'ambiente Elastic Beanstalk

Per assicurarti che non ti vengano addebitati costi per i servizi che non utilizzi, elimina tutte le versioni dell'applicazione e chiudi gli ambienti, eliminando anche le AWS risorse che l'ambiente ha creato per te.

Immagine illustrativa che mostra l'eliminazione di risorse.
Per eliminare l'applicazione e tutte le risorse associate
  1. Elimina tutte le versioni dell'applicazione.

    1. Apri la console Elastic Beanstalk e, nell'elenco Regioni, seleziona la tua. Regione AWS

    2. Nel riquadro di navigazione, scegli Applicazioni, quindi scegli. getting-started-app

    3. Nel riquadro di spostamento individuare il nome dell'applicazione e scegliere Application versions (Versioni applicazione).

    4. Nella pagina Application Versions (Versioni applicazione) selezionare tutte le versioni dell'applicazione da eliminare.

    5. Scegli Azioni, quindi Elimina.

    6. Attivare Delete versions from Amazon S3 (Elimina versioni da Amazon S3).

    7. Scegliere Delete (Elimina), quindi scegliere Done (Fatto).

  2. Terminare l'ambiente.

    1. Nel riquadro di navigazione, scegli getting-started-app, quindi scegli GettingStartedApp-env nell'elenco degli ambienti.

    2. Seleziona Actions (Operazioni), quindi Terminate Environment (Termina ambiente).

    3. Conferma di voler terminare GettingStartedApp-env digitando il nome dell'ambiente, quindi scegli Termina.

  3. Elimina l'applicazione getting-started-app.

    1. Nel riquadro di navigazione, scegli. getting-started-app

    2. Scegliere Actions (Operazioni), quindi Delete application (Elimina applicazione).

    3. Conferma che desideri eliminare getting-started-appdigitando il nome dell'applicazione, quindi scegli Elimina.

Complimenti!

Hai distribuito con successo un'applicazione di esempio nel AWS Cloud, caricato una nuova versione, modificato la sua configurazione per aggiungere una seconda istanza di Auto Scaling e AWS ripulito le tue risorse!

Passaggi successivi

Per scoprire come utilizzare lo strumento da riga di eb comando per automatizzare la distribuzione del codice su Elastic Beanstalk, ti suggeriamo di continuare con. QuickStart: distribuisci un'applicazione PHP su Elastic Beanstalk

Successivamente, potresti voler esaminare come configurare la connessione HTTPS, vedi. Configurazione del protocollo HTTPS per l'ambiente Elastic Beanstalk