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à.
Proprietà dell'ambiente e altre impostazioni software
La pagina di configurazione degli aggiornamenti, del monitoraggio e della registrazione consente di configurare il software sulle istanze Amazon Elastic Compute Cloud EC2 (Amazon) che eseguono l'applicazione. Puoi configurare le proprietà dell'ambiente, AWS X-Ray debug, archiviazione e streaming dei log delle istanze e impostazioni specifiche della piattaforma.
Argomenti
Configurare le impostazioni specifiche della piattaforma
Oltre al set di opzioni standard disponibili per tutti gli ambienti, la maggior parte delle piattaforme Elastic Beanstalk consente di specificare le impostazioni specifiche per il linguaggio o il framework. Queste vengono visualizzati nella sezione Software della piattaforma della pagina Configurazione di aggiornamenti, monitoraggio e registrazione e possono assumere le seguenti forme.
-
Proprietà dell'ambiente preimpostate: la piattaforma Ruby utilizza le proprietà dell'ambiente per le impostazioni del framework, ad esempio
RACK_ENV
eBUNDLE_WITHOUT
. -
Proprietà dell'ambiente di tipo segnaposto: la piattaforma Tomcat definisce una proprietà dell'ambiente denominata
JDBC_CONNECTION_STRING
che non è impostata su nessun valore. Questo tipo di impostazione è più comune nelle versioni delle piattaforme meno recenti. -
Opzioni di configurazione: la maggior parte delle piattaforme definisce le opzioni di configurazione negli spazi dei nomi condivisi o specifici per la piattaforma, ad esempio
aws:elasticbeanstalk:xray
oaws:elasticbeanstalk:container:python
.
Per configurare le impostazioni specifiche della piattaforma nella console Elastic Beanstalk
Apri la console Elastic Beanstalk
e, nell'elenco Regioni, seleziona la 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).
-
In Software della piattaforma, apporta le modifiche necessarie alle impostazioni delle opzioni.
-
Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.
Per informazioni sulle opzioni specifiche della piattaforma e su come ottenere i valori di proprietà dell'ambiente nel codice, consulta l'argomento sulla piattaforma relativo al linguaggio o al framework in uso:
-
Docker: Configurazione degli ambienti Elastic Beanstalk Docker
-
Java SE: Utilizzo della piattaforma Java SE di Elastic Beanstalk
-
Tomcat: Utilizzo della piattaforma Tomcat di Elastic Beanstalk
-
. NETCore su Linux — Utilizzo dell'Elastic Beanstalk. NETcore su piattaforma Linux
-
.NET – Utilizzo dell'Elastic Beanstalk. NETPiattaforma Windows
-
Node.js: Utilizzo della piattaforma Node.js di Elastic Beanstalk
-
Python: Utilizzo della piattaforma Python di Elastic Beanstalk
Configurazione delle proprietà dell'ambiente (variabili di ambiente)
È possibile utilizzare le proprietà dell'ambiente, anche chiamate variabili di ambiente, per trasmettere segreti, endpoint, impostazioni di debug e altre informazioni all'applicazione. Le proprietà dell'ambiente consentono di eseguire l'applicazione in più ambienti per diversi scopi, ad esempio sviluppo, test, gestione temporanea e produzione.
Inoltre, se aggiungi un database all'ambiente, Elastic Beanstalk imposta le proprietà dell'ambiente, come RDS_HOSTNAME
, che puoi leggere nel codice dell'applicazione per creare un oggetto o una stringa di connessione.
Variabili di ambiente
Nella maggior parte dei casi, le proprietà dell'ambiente vengono trasferite all'applicazione sotto forma di variabili di ambiente, ma il loro comportamento dipende dalla piattaforma. Ad esempio, la piattaforma Java SE imposta le variabili di ambiente recuperate con System.getenv
, mentre la piattaforma Tomcat imposta le proprietà di sistema Java recuperate con System.getProperty
. In generale, le proprietà non sono visibili se effettui la connessione a un'istanza ed esegui env
.
Per configurare le proprietà dell'ambiente nella console Elastic Beanstalk
Apri la console Elastic Beanstalk
e, nell'elenco Regioni, seleziona la 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).
-
Scorri verso il basso fino a Proprietà dell'ambiente.
-
Seleziona Aggiungi proprietà dell'ambiente.
-
Inserisci la coppia di Nome e Valore della proprietà.
-
Se è necessario aggiungere altre variabili, ripeti il Passaggio 6 e il Passaggio 7.
-
Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.
Limitare le proprietà dell'ambiente
-
Le chiavi possono contenere qualsiasi carattere alfanumerico e i simboli seguenti:
_ . : / + \ - @
I simboli elencati sono validi per le chiavi di proprietà dell'ambiente, ma potrebbero non esserlo per i nomi delle variabili di ambiente nella piattaforma dell'ambiente. Per assicurare la compatibilità con tutte le piattaforme, limita le proprietà dell'ambiente al modello seguente:
[A-Z_][A-Z0-9_]*
-
I valori possono contenere qualsiasi carattere alfanumerico, spazi vuoti e i simboli seguenti:
_ . : / = + \ - @ ' "
Nota
Occorre inserire caratteri di escape per alcuni caratteri inseriti nei valori delle proprietà di ambiente Usa il carattere barra rovesciata (
\
) per rappresentare alcuni caratteri speciali e caratteri di controllo. L'elenco seguente include esempi per la rappresentazione di alcuni caratteri che devono essere sottoposti a escape:barra rovesciata (
\
) — per rappresentare l'uso\\
virgoletta singola (
'
) — per rappresentare l'uso\'
virgolette doppie (
"
) — per rappresentare l'uso\"
-
Le chiavi e i valori fanno distinzione tra maiuscole e minuscole.
-
La dimensione combinata di tutte le proprietà dell'ambiente non può superare i 4.096 byte se memorizzate come stringhe con il formato
key
=value
.
Spazi dei nomi delle impostazioni software
È 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.
Puoi utilizzare i file di configurazione di Elastic Beanstalk per impostare le proprietà e le opzioni di configurazione dell'ambiente nel codice sorgente. Utilizza lo spazio dei nomiaws:elasticbeanstalk:application:environment per definire le proprietà dell'ambiente.
Esempio .ebextensions/options.config
option_settings:
aws:elasticbeanstalk:application:environment:
API_ENDPOINT: www.example.com/api
Se si utilizzano file di configurazione o AWS CloudFormation modelli per creare risorse personalizzate, puoi usare un AWS CloudFormation
funzione per ottenere informazioni sulla risorsa e assegnarla dinamicamente a una proprietà dell'ambiente durante la distribuzione. L'esempio seguente tratto dal elastic-beanstalk-samplesNOTIFICATION_TOPIC
Note
-
Se usi un AWS CloudFormation per definire una proprietà di ambiente, la console Elastic Beanstalk visualizza il valore della proprietà prima che la funzione venga valutata. Puoi utilizzare lo script della piattaforma get-config per confermare i valori delle proprietà dell'ambiente disponibili per la tua applicazione.
-
La piattaforma Multicontainer Docker non utilizza AWS CloudFormation per creare risorse container. Di conseguenza, questa piattaforma non supporta la definizione delle proprietà dell'ambiente utilizzando AWS CloudFormation funzioni.
Esempio .Ebextensions/sns-topic.config
Resources:
NotificationTopic:
Type: AWS::SNS::Topic
option_settings:
aws:elasticbeanstalk:application:environment:
NOTIFICATION_TOPIC: '`{"Ref" : "NotificationTopic"}`'
È inoltre possibile utilizzare questa funzionalità per propagare informazioni da AWS CloudFormation pseudo parametri. Questo esempio ottiene la regione corrente e la assegna a una proprietà denominata AWS_REGION
.
Esempio .Ebextensions/env-regionname.config
option_settings:
aws:elasticbeanstalk:application:environment:
AWS_REGION: '`{"Ref" : "AWS::Region"}`'
La maggior parte delle piattaforme Elastic Beanstalk definisce spazi dei nomi aggiuntivi con opzioni per la configurazione del software in esecuzione sull'istanza, come il proxy inverso che inoltra le richieste all'applicazione. Per ulteriori informazioni sugli spazi dei nomi disponibili per la piattaforma in uso, consulta una delle sezioni seguenti:
-
. NETCore su Linux — . NETSpazio dei nomi di configurazione Core su Linux
-
.NET – Spazio dei nomi aws:elasticbeanstalk:container:dotnet:apppool
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 CLI o il AWS CLI. Opzioni di configurazionePer ulteriori informazioni, vedere.
Accesso alle proprietà dell'ambiente
Nella maggior parte dei casi, puoi accedere alle proprietà dell'ambiente nel codice dell'applicazione come accedi alle variabili di ambiente. In generale, tuttavia, le proprietà dell'ambiente vengono trasmesse soltanto all'applicazione e non possono essere visualizzate tramite la connessione di un'istanza nell'ambiente e l'esecuzione di env
.
-
Go:
os.Getenv
endpoint := os.Getenv("API_ENDPOINT")
-
Java SE:
System.getenv
String endpoint = System.getenv("API_ENDPOINT");
-
Tomcat –
System.getProperty
String endpoint = System.getProperty("API_ENDPOINT");
-
. NETCore su Linux —
Environment.GetEnvironmentVariable
string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");
-
.NET –
appConfig
NameValueCollection appConfig = ConfigurationManager.AppSettings; string endpoint = appConfig["API_ENDPOINT"];
-
Node.js –
process.env
var endpoint = process.env.API_ENDPOINT
-
PHP –
$_SERVER
$endpoint = $_SERVER['API_ENDPOINT'];
-
Python –
os.environ
import os endpoint = os.environ['API_ENDPOINT']
-
Ruby:
ENV
endpoint = ENV['API_ENDPOINT']
All'esterno del codice dell'applicazione, ad esempio in uno script eseguito durante la distribuzione, puoi accedere alle proprietà dell'ambiente con lo script di piattaforma get-config. Vedi il elastic-beanstalk-samplesget-config