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 Ruby di Elastic Beanstalk
Questo argomento descrive come configurare, creare ed eseguire le applicazioni Ruby su Elastic Beanstalk.
AWS Elastic Beanstalk supporta una serie di rami di piattaforma per diverse versioni del linguaggio di programmazione Ruby. Vedi Ruby nel documento AWS Elastic Beanstalk Piattaforme per un elenco completo.
L'applicazione web Ruby può essere eseguita dietro un server NGINX proxy su un server di applicazioni Puma. Se lo utilizzi RubyGems, puoi includere Gemfilenel tuo pacchetto sorgente un pacchetto per installare i pacchetti durante la distribuzione.
Configurazione del server delle applicazioni
Elastic Beanstalk installa il server delle applicazioni Puma in base al ramo della piattaforma Ruby che scegli quando crei il tuo ambiente. Per ulteriori informazioni sui componenti forniti con le versioni della piattaforma Ruby, consulta la sezione Piattaforme supportate nella guida Piattaforme AWS Elastic Beanstalk .
È possibile configurare l'applicazione con il server Puma fornito. Ciò offre la possibilità di utilizzare una versione di Puma diversa da quella preinstallata con il ramo della piattaforma Ruby. È inoltre possibile configurare l'applicazione per utilizzare un server di applicazioni diverso, ad esempio Passenger. A tale scopo, devi includere e personalizzare un Gemfile
nella tua implementazione. Dovresti inoltre configurare un Procfile
per avviare il server delle applicazioni. Per ulteriori informazioni, consulta Configurazione del processo dell'applicazione con un Procfile.
Altre opzioni di configurazione
Elastic Beanstalk offre opzioni di configurazione che puoi utilizzare per personalizzare il software che viene eseguito sulle istanze Amazon Elastic Compute Cloud (EC2Amazon) nel tuo ambiente Elastic Beanstalk. Puoi configurare le variabili di ambiente necessarie per la tua applicazione, accedere alla rotazione dei log su Amazon S3 e mappare le cartelle nel codice sorgente dell'applicazione che contengono i file statici ai percorsi serviti dal server proxy. La piattaforma, inoltre, predefinisce alcune variabili di ambiente comuni relative a Rails e Rack per facilitare il rilevamento e l'utilizzo.
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.
Le impostazioni applicate nella console Elastic Beanstalk sostituiscono le stesse impostazioni nei file di configurazione, se esistenti. Ciò ti consente di disporre di impostazioni predefinite nei file di configurazione, sostituibili con impostazioni specifiche per l'ambiente nella console. Per ulteriori informazioni sulla precedenza e altri metodi di modifica delle impostazioni, consulta Opzioni di configurazione.
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 Ruby
Puoi utilizzare 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 accedere alle impostazioni di configurazione software per l'ambiente
Apri la console Elastic Beanstalk
e, nell'elenco Regioni, seleziona la tua. Regione AWS -
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.
Nel riquadro di navigazione, seleziona Configuration (Configurazione).
-
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.
-
Abilita la rotazione dei file di registro su Amazon S3: specifica se i file di log per le EC2 istanze Amazon dell'applicazione vengono copiati nel bucket Amazon S3 associato all'applicazione.
File statici
Per migliorare le prestazioni, puoi utilizzare la sezione File statici per configurare il server proxy in modo che serva file statici (ad esempio HTML o immagini) da un set di directory all'interno della tua 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.
Per impostazione predefinita, il server proxy in un ambiente Ruby è configurato per servire file statici nel modo seguente:
-
I file nelle cartelle
public
sono serviti dal percorso/public
e dalla radice del dominio (percorso/
). -
I file nelle sottocartelle
public/assets
sono serviti dal percorso/assets
.
Negli esempi seguenti viene illustrato il funzionamento della configurazione predefinita:
-
Se il codice sorgente dell'applicazione contiene un file con nome
logo.png
in una cartella chiamatapublic
, il server proxy lo servirà agli utenti da
esubdomain
.elasticbeanstalk.com/public/logo.png
.subdomain
.elasticbeanstalk.com/logo.png -
Se il codice sorgente dell'applicazione contiene un file con nome
logo.png
in una cartella chiamataassets
nella cartellapublic
, il server proxy lo servirà agli utenti da
.subdomain
.elasticbeanstalk.com/assets/logo.png
È possibile configurare mappature aggiuntive per file statici. Per ulteriori informazioni, consulta Spazi dei nomi della configurazione Ruby più avanti in questo argomento.
Nota
Per le versioni della piattaforma precedenti alla AL2versione 3.3.7 di Ruby 2.7, la configurazione predefinita del server proxy Elastic Beanstalk nginx non supporta l'invio di file statici dal dominio root ().
Questa versione della piattaforma è stata rilasciata il 21 ottobre 2021. Per ulteriori informazioni, consulta Nuove versioni della piattaforma - Ruby nelle Note di rilascio di AWS Elastic Beanstalk .subdomain
.elasticbeanstalk.com/
Proprietà dell'ambiente
La sezione Environment Properties consente di specificare le impostazioni di configurazione dell'ambiente sulle EC2 istanze Amazon su cui è in esecuzione l'applicazione. Le proprietà di ambiente sono passate come coppie chiave-valore all'applicazione.
La piattaforma Ruby definisce le seguenti proprietà per la configurazione dell'ambiente:
-
BUNDLE_ WITHOUT — Un elenco di gruppi separati da due punti da ignorare quando si installano le dipendenze
da un Gemfile. -
BUNDLER_ DEPLOYMENT _ MODE — Imposta su
true
(impostazione predefinita) per installare le dipendenze in modalità di distribuzione utilizzando Bundler.Imposta su false
per eseguirebundle install
in modalità di sviluppo.Nota
Questa proprietà di ambiente non è definita sui rami della piattaforma Amazon Linux AMI Ruby (prima di Amazon Linux 2).
-
RAILS_ _ SKIP ASSET _ COMPILATION — Imposta per saltare
true
l'esecuzione duranterake assets:precompile
la distribuzione. -
RAILS_ SKIP _ MIGRATIONS — Impostato per
true
ignorare l'esecuzionerake db:migrate
durante la distribuzione. -
RACK_ ENV — Specificare lo stadio dell'ambiente per Rack. Ad esempio,
development
,production
otest
.
All'interno dell'ambiente Ruby in esecuzione in Elastic Beanstalk, le variabili di ambiente sono accessibili tramite l'oggetto ENV
. Ad esempio, è possibile leggere una proprietà denominata API_ENDPOINT
su una variabile con il codice seguente:
endpoint = ENV['API_ENDPOINT']
Per ulteriori informazioni, consulta Proprietà dell'ambiente e altre impostazioni software.
Spazi dei nomi della configurazione Ruby
È 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 possono essere specifiche della piattaforma o essere applicate a tutte le piattaforme del servizio Elastic Beanstalk nel suo complesso. Le opzioni di configurazione sono organizzate in namespace.
È possibile utilizzare lo spazio dei nomi aws:elasticbeanstalk:environment:proxy:staticfiles
dei nomi per configurare il proxy di ambiente per servire file statici. È possibile definire i mapping dei percorsi virtuali alle directory dell'applicazione.
La piattaforma Ruby non definisce spazi dei nomi specifici della piattaforma. ma proprietà di ambiente per opzioni comuni di Rails e Rack.
Il seguente file di configurazione specifica un'opzione file statici che esegue il mapping di una directory denominata staticimages
al percorso /images
, imposta ciascuna delle proprietà di ambiente definite dalla piattaforma e imposta una proprietà di ambiente aggiuntiva denominata LOGGING
.
Esempio .ebextensions/ruby-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:staticfiles:
/images: staticimages
aws:elasticbeanstalk:application:environment:
BUNDLE_WITHOUT: test
BUNDLER_DEPLOYMENT_MODE: true
RACK_ENV: development
RAILS_SKIP_ASSET_COMPILATION: true
RAILS_SKIP_MIGRATIONS: true
LOGGING: debug
Nota
La proprietà BUNDLER_DEPLOYMENT_MODE
dell'ambiente e lo spazio dei aws:elasticbeanstalk:environment:proxy:staticfiles
nomi non sono definiti sui rami della piattaforma Amazon Linux AMI Ruby (prima di Amazon Linux 2).
In Elastic Beanstalk sono disponibili varie opzioni di configurazione per la personalizzazione dell'ambiente. Oltre ai file di configurazione, puoi anche impostare le opzioni di configurazione utilizzando la console, le configurazioni salvate, l'EB o il. CLI AWS CLI Per ulteriori informazioni, consulta Opzioni di configurazione.