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à.
Impostazione delle opzioni di configurazione prima della creazione di un ambiente
AWS Elastic Beanstalk supporta un numero elevato di opzioni di configurazione che consentono di modificare le impostazioni applicate alle risorse nell'ambiente. Molte di queste opzioni dispongono di valori predefiniti che possono essere sostituiti per personalizzare l'ambiente. Possono essere configurate altre opzioni per abilitare funzionalità aggiuntive.
Elastic Beanstalk supporta due metodi di salvataggio delle impostazioni delle opzioni di configurazione. I file di configurazione in formato JSON o YAML possono essere inclusi nel codice sorgente della tua applicazione in una directory denominata .ebextensions
e distribuiti come parte del tuo bundle di origine dell'applicazione. È possibile creare e gestire i file di configurazione in locale.
Le configurazioni salvate sono modelli creati da un ambiente in esecuzione o da un file di opzioni JSON e memorizzati in Elastic Beanstalk. Le configurazioni salvate esistenti possono anche essere estese per creare una nuova configurazione.
Nota
Le impostazioni definite nei file di configurazione e le configurazioni salvate hanno una priorità inferiore rispetto alle impostazioni configurate durante o dopo la creazione dell'ambiente, inclusi i valori consigliati applicati dalla console Elastic Beanstalk e dalla CLI EB. Per informazioni dettagliate, consulta Priorità.
Le opzioni possono anche essere specificate in un documento in formato JSON e fornite direttamente a Elastic Beanstalk quando crei o aggiorni un ambiente con la CLI EB o AWS CLI. Le opzioni fornite direttamente a Elastic Beanstalk in questo modo sostituiscono tutti gli altri metodi.
Per un elenco completo delle opzioni disponibili, consulta Opzioni di configurazione.
Metodi
File di configurazione (.ebextensions
)
Utilizza .ebextensions
per configurare le opzioni necessarie per far funzionare l'applicazione, e fornisci valori predefiniti per altre opzioni che possono essere sostituite a un livello più elevato di priorità. Le opzioni specificate in .ebextensions
hanno il livello più basso di priorità e vengono sostituite dalle impostazioni in qualsiasi altro livello.
Per utilizzare i file di configurazione, crea una cartella chiamata .ebextensions
al primo livello del codice sorgente del progetto. Aggiungi un file con l'estensione .config
e specifica le opzioni nel modo seguente:
option_settings:
- namespace: namespace
option_name: option name
value: option value
- namespace: namespace
option_name: option name
value: option value
Ad esempio, il seguente file di configurazione imposta l'url di controllo dello stato dell'applicazione su /health
:
healthcheckurl.config
option_settings:
- namespace: aws:elasticbeanstalk:application
option_name: Application Healthcheck URL
value: /health
In JSON:
{
"option_settings" :
[
{
"namespace" : "aws:elasticbeanstalk:application",
"option_name" : "Application Healthcheck URL",
"value" : "/health"
}
]
}
In questo modo viene configurato il sistema di bilanciamento del carico di Elastic Load Balancing nell'ambiente Elastic Beanstalk per effettuare una richiesta HTTP /health
al percorso di ciascuna istanza EC2 per determinare se è integro o meno.
Nota
YAML si basa sulla coerenza del rientro. Utilizza lo stesso livello di rientro quando sostituisci del contenuto in un file di configurazione di esempio e assicurati che il tuo editor di testo utilizzi gli spazi e non le tabulazioni per il rientro.
Includi la directory .ebextensions
nel bundle di origine dell'applicazione e distribuiscila in un ambiente Elastic Beanstalk nuovo o esistente.
I file di configurazione supportano diverse sezioni, oltre a option_settings
per la personalizzazione del software e dei file che vengono eseguiti sui server nel tuo ambiente. Per ulteriori informazioni, consultare .Ebextensions.
Configurazioni salvate
Crea una configurazione salvata per salvare le impostazioni applicate a un ambiente esistente durante o dopo la creazione dello stesso utilizzando la console Elastic Beanstalk, la CLI EB oppure l AWS CLI. Le configurazioni salvate appartengono a un'applicazione e possono essere applicate ad ambienti nuovi o esistenti per quell'applicazione.
Console Elastic Beanstalk
Per creare una configurazione salvata (console Elastic Beanstalk)
Apri la console Elastic Beanstalk
e nell'elenco Regions (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.
-
Scegli Actions (Operazioni), quindi Save configuration (Salva configurazione).
-
Utilizza la finestra di dialogo su schermo per completare l'operazione.
Le configurazioni salvate sono memorizzate nel bucket S3 di Elastic Beanstalk in una cartella che ha lo stesso nome dell'applicazione. Ad esempio, le configurazioni per un'applicazione denominata my-app
nella regione us-west-2 per l'account numero 123456789012 sono disponibili in s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app
.
CLI EB
La CLI EB fornisce inoltre sottocomandi per l'interazione con le configurazioni salvate in eb config:
Per creare una configurazione salvata (CLI EB)
-
Salva la configurazione attuale dell'ambiente collegato:
~/project$
eb config save --cfg
my-app-v1
La CLI EB salva la configurazione su
~/project/.elasticbeanstalk/saved_configs/
my-app-v1
.cfg.yml -
Modifica la configurazione salvata in locale, se necessario.
-
Carica la configurazione salvata in S3:
~/project$
eb config put
my-app-v1
AWS CLI
Creazione di una configurazione salvata da un ambiente di esecuzione con aws elasticbeanstalk
create-configuration-template
Per creare una configurazione salvata (AWS CLI)
-
Individua l'ID ambiente dell'ambiente Elastic Beanstalk in uso con
describe-environments
:$
aws elasticbeanstalk describe-environments --environment-name
{ "Environments": [ { "ApplicationName": "my-env", "EnvironmentName": "my-env", "VersionLabel": "89df", "Status": "Ready", "Description": "Environment created from the EB CLI using \"eb create\"", "EnvironmentId": "my-env
e-vcghmm2zwk
", "EndpointURL": "awseb-e-v-AWSEBLoa-1JUM8159RA11M-43V6ZI1194.us-west-2.elb.amazonaws.com", "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.2 running Multi-container Docker 1.7.1 (Generic)", "CNAME": "my-env-nfptuqaper.elasticbeanstalk.com", "Health": "Green", "AbortableOperationInProgress": false, "Tier": { "Version": " ", "Type": "Standard", "Name": "WebServer" }, "HealthStatus": "Ok", "DateUpdated": "2015-10-01T00:24:04.045Z", "DateCreated": "2015-09-30T23:27:55.768Z" } ] } -
Salva la configurazione attuale dell'ambiente con
create-configuration-template
:$ aws elasticbeanstalk create-configuration-template --environment-id
e-vcghmm2zwk
--application-namemy-app
--template-namev1
Elastic Beanstalk salva la configurazione nel bucket di Elastic Beanstalk in Amazon S3.
Documento JSON
Se utilizzi la AWS CLI per creare e aggiornare ambienti, puoi anche fornire opzioni di configurazione in formato JSON. Una libreria di file di configurazione in formato JSON è utile se si utilizza la AWS CLI per creare e gestire ambienti.
Ad esempio, il seguente documento JSON imposta l'url di controllo dello stato dell'applicazione su /health
:
~ /ebconfigs/healthcheckurl.json
[
{
"Namespace": "aws:elasticbeanstalk:application",
"OptionName": "Application Healthcheck URL",
"Value": "/health"
}
]
Configurazione CLI EB
Oltre a supportare le configurazioni salvate e la configurazione diretta dell'ambiente con i comandi eb config, la CLI EB dispone di un file di configurazione con un'opzione denominata default_ec2_keyname
che puoi utilizzare per specificare una coppia di chiavi Amazon EC2 per l'accesso SSH alle istanze nell'ambiente. La CLI EB si avvale di questa opzione per impostare l'opzione di configurazione EC2KeyName
nel namespace aws:autoscaling:launchconfiguration
.
~/workspace/my-app/.elasticbeanstalk/config.yml
branch-defaults:
master:
environment: my-env
develop:
environment: my-env-dev
deploy:
artifact: ROOT.war
global:
application_name: my-app
default_ec2_keyname: my-keypair
default_platform: Tomcat 8 Java 8
default_region: us-west-2
profile: null
sc: git