Utilizzo della piattaforma Java SE di 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à.

Utilizzo della piattaforma Java SE di Elastic Beanstalk

La piattaforma Java SE AWS Elastic Beanstalk è un set di configurazioni dell'ambiente per le applicazioni Web Java che possono essere eseguite in autonomia da un file JAR compilato. Puoi compilare l'applicazione in locale o caricare il codice sorgente con uno script di compilazione per compilarlo nell'istanza. Le versioni della piattaforma Java SE sono raggruppate in rami della piattaforma, ognuno dei quali corrisponde a una versione principale di Java, ad esempio Java 8 e Java 7.

Nota

Elastic Beanstalk non analizza il file JAR dell'applicazione. Mantieni i file necessari a Elastic Beanstalk all'esterno del file JAR. Ad esempio, è possibile includere il file cron.yaml di un ambiente lavoratore nella radice del bundle di origine dell'applicazione, accanto al file JAR.

Sono disponibili opzioni di configurazione specifiche della piattaforma nella console Elastic Beanstalk per la modifica della configurazione di un ambiente in esecuzione. Per conservare la configurazione dell'ambiente una volta terminata, puoi utilizzare configurazioni salvate per salvare le impostazioni e applicarle successivamente a un altro ambiente.

Per salvare le impostazioni nel codice sorgente, puoi includere i file di configurazione. Le impostazioni nei file di configurazione vengono applicate ogni volta che crei un ambiente o distribuisci l'applicazione. Puoi inoltre utilizzare i file di configurazione per installare pacchetti, eseguire script o altre operazioni di personalizzazione delle istanze durante le distribuzioni.

La piattaforma Java SE di Elastic Beanstalk include un server nginx che funge da proxy inverso che fornisce i contenuti statici memorizzati nella cache e trasmette le richieste all'applicazione. La piattaforma offre opzioni di configurazione per configurare il server proxy per fornire asset statici da una cartella nel codice sorgente, in modo da ridurre il carico sull'applicazione. Per gli scenari avanzati, puoi includere file .conf personalizzati nel bundle di origine per estendere la configurazione proxy di Elastic Beanstalk o sovrascriverla completamente.

Se fornisci solo un singolo file JAR per l'origine dell'applicazione (da solo, non all'interno di un bundle di origine), Elastic Beanstalk rinomina il tuo file JAR in application.jar e quindi lo esegue utilizzando java -jar application.jar. Per configurare i processi in esecuzione nelle istanze del server nell'ambiente, includi un oggetto Procfile opzionale nel bundle di origine. Un oggetto Procfile è obbligatorio se è presente più di un file JAR nella radice del bundle di origine o se desideri personalizzare il comando Java per l'impostazione delle opzioni JVM.

Si consiglia di fornire sempre un Procfile nel bundle di origine insieme all'applicazione. In questo modo si controlla con precisione quali processi vengono eseguiti da Elastic Beanstalk per l'applicazione e quali argomenti ricevono questi processi.

Per compilare le classi Java ed eseguire altri comandi di compilazione nelle istanze EC2 nell'ambiente al momento della distribuzione, includi un oggetto Buildfile nel bundle di origine dell'applicazione. Un oggetto Buildfile consente di distribuire il codice sorgente così com'è e di avviare la compilazione nel server invece che compilare i file JAR localmente. La piattaforma Java SE include strumenti di compilazione comuni per consentire la compilazione direttamente nel server.

Per informazioni dettagliate sui vari modi in cui è possibile estendere una piattaforma Elastic Beanstalk basata su Linux, consulta Estensione delle piattaforme Elastic Beanstalk Linux.

Configurazione dell'ambiente Java SE

Le impostazioni della piattaforma Java SE consentono di ottimizzare il comportamento delle istanze Amazon EC2. Puoi modificare la configurazione dell'istanza Amazon EC2 dell'ambiente Elastic Beanstalk utilizzando la console Elastic Beanstalk.

Utilizza la console Elastic Beanstalk per attivare la rotazione dei log in Amazon S3 e configurare variabili che l'applicazione è in grado di leggere dall'ambiente.

Per configurare l'ambiente Java SE nella console Elastic Beanstalk
  1. Apri la console Elastic Beanstalk e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

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

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

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

  4. Nella categoria di configurazione Updates, monitoring, and logging (Aggiornamenti, monitoraggio e registrazione), scegli Edit (Modifica).

Opzioni di log

La sezione Log Options (Opzioni di log) ha due impostazioni:

  • Instance profile (Profilo dell'istanza): specifica il profilo dell'istanza che dispone dell'autorizzazione ad accedere al bucket Amazon S3 associato all'applicazione.

  • Enable log file rotation to Amazon S3 (Abilita rotazione file di log in Amazon S3): specifica se i file di log per le istanze Amazon EC2 dell'applicazione debbano essere copiati nel bucket Amazon S3 associato all'applicazione.

File statici

Per migliorare le prestazioni, la sezione Static files (File statici) consente di configurare il server proxy affinché fornisca file statici (ad esempio, HTML o immagini) da un set di directory all'interno dell'applicazione Web. Per ogni directory, è possibile impostare il percorso virtuale per la mappatura delle directory. Quando il server proxy riceve una richiesta da un file nel percorso specificato, questo serve il file direttamente anziché instradare la richiesta all'applicazione.

Per informazioni dettagliate sulla configurazione di file statici utilizzando file di configurazione o la console Elastic Beanstalk, consulta Fornire i file statici.

Proprietà dell'ambiente

La sezione Environment Properties (Proprietà ambiente) consente di specificare le impostazioni di configurazione dell'ambiente nelle istanze Amazon EC2 che eseguono l'applicazione. Le proprietà di ambiente sono passate come coppie chiave-valore all'applicazione.

All'interno dell'ambiente Java SE in esecuzione in Elastic Beanstalk, le variabili di ambiente sono accessibili tramite System.getenv(). Ad esempio, è possibile leggere una proprietà denominata API_ENDPOINT su una variabile con il codice seguente:

String endpoint = System.getenv("API_ENDPOINT");

Per ulteriori informazioni, consulta Proprietà dell'ambiente e altre impostazioni software.

Spazio dei nomi per la configurazione di Java SE

Puoi utilizzare un file di configurazione per impostare le opzioni di configurazione ed eseguire alte attività di configurazione delle istanze durante le distribuzioni. Le opzioni di configurazione, che possono essere definite dal servizio Elastic Beanstalk o dalla piattaforma utilizzata, sono organizzate in spazi dei nomi.

La piattaforma Java SE non definisce spazi dei nomi specifici della piattaforma. È possibile configurare il proxy per servire file statici utilizzando lo spazio dei nomi aws:elasticbeanstalk:environment:proxy:staticfiles. Per informazioni dettagliate e un esempio, consulta Fornire i file statici.

In Elastic Beanstalk sono disponibili varie opzioni di configurazione per la personalizzazione dell'ambiente. Oltre ai file di configurazione, puoi impostare le opzioni di configurazione tramite la console, le configurazioni salvate, la CLI EB o AWS CLI. Per ulteriori informazioni, consulta Opzioni di configurazione.

Se il tuo ambiente Java SE di Elastic Beanstalk utilizza una versione della piattaforma AMI Amazon Linux (precedente Amazon Linux 2), leggi le informazioni aggiuntive presenti in questa sezione.

Note
  • Le informazioni contenute in questo argomento si applicano solo ai rami della piattaforma basati su Amazon Linux AMI (AL1). Le ramificazioni della piattaforma AL2023/AL2 non sono compatibili con le precedenti versioni della piattaforma AMI Amazon Linux (AL1) e richiedono diverse impostazioni di configurazione.

  • Il 18 luglio 2022 Elastic Beanstalk ha impostato lo stato di tutte le ramificazioni della piattaforma sull'AMI Amazon Linux (AL1) su retired (ritirato). Per ulteriori informazioni sulla migrazione a una ramificazione della piattaforma Amazon Linux 2023 attuale e completamente supportata, consulta Migrazione dell'applicazione Elastic Beanstalk Linux ad Amazon Linux 2023 o Amazon Linux 2.

È possibile utilizzare un file di configurazione per impostare le opzioni di configurazione ed eseguire alte attività di configurazione delle istanze durante le distribuzioni. Le opzioni di configurazione, che possono essere definite dal servizio Elastic Beanstalk o dalla piattaforma utilizzata, sono organizzate in spazi dei nomi.

La piattaforma Java SE supporta uno spazio dei nomi di configurazione specifico della piattaforma, in aggiunta agli spazi dei nomi supportati da tutte le piattaforme. Lo spazio dei nomi aws:elasticbeanstalk:container:java:staticfiles consente di definire le opzioni che mappano i percorsi nell'applicazione Web alle cartelle del bundle di origine dell'applicazione con contenuti statici.

Il frammento di codice option_settings definisce ad esempio due opzioni nello spazio dei nomi dei file statici. La prima mappa il percorso /public a una cartella denominata public e la seconda mappa il percorso /images a una cartella denominata img:

option_settings: aws:elasticbeanstalk:container:java:staticfiles: /html: statichtml /images: staticimages

Le cartelle mappate usando questo spazio dei nomi devono essere cartelle reali nella radice del bundle di origine. Non è possibile mappare un percorso a una cartella in un file JAR.

In Elastic Beanstalk sono disponibili varie opzioni di configurazione per la personalizzazione dell'ambiente. Oltre ai file di configurazione, puoi impostare le opzioni di configurazione tramite la console, le configurazioni salvate, la CLI EB o AWS CLI. Per ulteriori informazioni, consultare Opzioni di configurazione.