Impostazione delle opzioni di configurazione prima della creazione di un ambiente - 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à.

Impostazione delle opzioni di configurazione prima della creazione di un ambiente

AWS Elastic Beanstalk supporta un gran numero di opzioni di configurazione che consentono di modificare le impostazioni applicate alle risorse dell'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.

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" } ] }

Questo configura il load balancer Elastic Load Balancing nell'ambiente Elastic Beanstalk per effettuare una richiesta HTTP sul /health percorso di EC2 ogni istanza per determinare se è integra 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)
  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 Actions (Operazioni), quindi Save configuration (Salva configurazione).

  4. 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)
  1. 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

  2. Modifica la configurazione salvata in locale, se necessario.

  3. 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)
  1. Individua l'ID ambiente dell'ambiente Elastic Beanstalk in uso con describe-environments:

    $ aws elasticbeanstalk describe-environments --environment-name my-env { "Environments": [ { "ApplicationName": "my-env", "EnvironmentName": "my-env", "VersionLabel": "89df", "Status": "Ready", "Description": "Environment created from the EB CLI using \"eb create\"", "EnvironmentId": "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" } ] }
  2. Salva la configurazione attuale dell'ambiente con create-configuration-template:

    $ aws elasticbeanstalk create-configuration-template --environment-id e-vcghmm2zwk --application-name my-app --template-name v1

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 JSON è utile se la utilizzi 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 eb config comandi, l'EB CLI dispone di un file di configurazione con un'opzione default_ec2_keyname denominata che puoi utilizzare per specificare una EC2 coppia di chiavi Amazon per l'accesso SSH alle istanze del tuo ambiente. La CLI EB si avvale di questa opzione per impostare l'opzione di configurazione EC2KeyName nel namespace aws:autoscaling:launchconfiguration.

~/ .yml workspace/my-app/.elasticbeanstalk/config

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