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 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.

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